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
> 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
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.
The rubberband is activated, when the mouse is moved and it is not a 'move
- 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.
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
More information about the Lazarus