[lazarus] Updates
Mattias Gaertner
nc-gaertnma at netcologne.de
Tue Nov 19 07:13:33 EST 2002
On Tue, 19 Nov 2002 00:04:17 +0100
Marc Weustink <marc at dommelstein.net> wrote:
> At 14:21 18-11-2002 -0600, Tony Maro wrote:
> >On Mon, 2002-11-18 at 11:59, Mattias Gaertner wrote:
> > > On 18 Nov 2002 11:45:02 -0600
> > > Tony Maro <tony at maro.net> wrote:
> > > >
> > > > Actually, Ctrl+Mouse would do this in D4. Or was it shift? Now I'm
> > > > confused. I know it wasn't Ctrl+Shift though.
> >
> >But, just for the sake of Lazarus, when I get home I'll try to remember
> >to reboot and test this in Delphi 4 to see exactly what keys do what for
> >multi-select.
>
> I knew it was the opposite of what I think is logic, so I just checked it.
>
> It's Shift + Mouse
It seems, the selection handling needs some talk.
Because most users expects Delphi(TM) handling, I implemented it very
Delphish. The Delphi way is IMO sufficient but not very comfortable,
therefore there are some differences.
Delphi's selection tool:
Mouse down without any key on a component:
- If the pointed component was selected
then keep current selection
else select only the pointed component
- On Drag: Move selection
Mouse down without any key on the form:
- selects only the form
- On Drag: rubberband selection of form childs
Mouse down with Shift key on a component:
- add/remove component to/from selection (= xor selection)
- On Drag: nothing
Mouse down with Shift key on the form:
- Delphi: nothing
- On Drag: same as without Shift
Mouse down with Ctrl key on a component:
- select form
- On Drag: rubberband select of childs of
pointed component
Mouse down with Ctrl key on the form:
same as on a component
Ctrl+Shift is the same as Shift.
So, in general there are 5 cases.
Lazarus:
The rubberband is activated, when the mouse is moved and it is not a 'move
selection'.
- The rubberband selects not only childs but also grand childs.
- The Shift key is always: xor selection
- The Ctrl key always means: only selects/unselects childs
of pointed component
(I just repaired this, so update before you test this)
This is pretty much the same as under Delphi, but IMO more comfortable.
For example:
Selecting the child components of two groupboxes:
Delphi: Shift + click, click, click, click, ...
Lazarus: 2 times Ctrl+Shift+Drag
Of course, we can add options:
- one option to switch Ctrl/Shift key
- one option, so that the rubberband does not select grand childs
- one option, so that the rubberband only selects components completely
covered
Mattias
More information about the Lazarus
mailing list