Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2009-12

TCustomComboBox.ArrowKeysTraverseList mistery

7 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

zeljko

Hi all,
Anyone on this planet knows why we have this property in LCL (and what this property is supposed to do) ?
I've checked in K3 (CLX) and Delphi 7 (CLX & VCL) and couldn't find such property.
Also, lazarus help says
"ArrowKeysTraverseList - enables the operator to use the keyboard Arrow keys to move through the list as an alternative to using the mouse".

tnx.

zeljko

Reply by email

dmitry boyarintsev
to zeljko
zeljko wrote
Anyone on this planet knows why we have this property in LCL (and what this property is supposed to do) ?

Imho, there's no need in such property. It's up to widgetset('s combo box) to allow keyboard traverse or not.

thanks,
dmitry

Reply by email

zeljko
to dmitry boyarintsev
dmitry boyarintsev wrote 6 lines
On Wed, Dec 9, 2009 at 8:32 PM, zeljko wrote: > Anyone on this planet knows why we have this property in LCL (and what > this property is supposed to do) ? Imho, there's no need in such property. It's up to widgetset('s combo box) to allow keyboard traverse or not.

Well, I don't know what it means :)
Does it mean when you reach the end of the list, that next VK_DOWN changes to itemindex 0 ? If it's so then I can say that it's nice feature (and does not need to be implemented in widgetset but in LCL), otherwise (by explanation from lazarus help) it should be removed.

zeljko

Reply by email

Mattias Gaertner
to zeljko: Anyone on this planet knows why we have this property in LCL (and what this property is…
Show quoted text 8 lines
Hi all, Anyone on this planet knows why we have this property in LCL (and what this property is supposed to do) ? I've checked in K3 (CLX) and Delphi 7 (CLX & VCL) and couldn't find such property. Also, lazarus help says "ArrowKeysTraverseList - enables the operator to use the keyboard Arrow keys to move through the list as an alternative to using the mouse".

AFAIK:
Some widgetsets define Up/Down to select the next item in the list. This eats the key.
Sometimes you don't want the normal behavior and handle the Up/down keys yourself. For example the object inspector uses Up/Down to select the next property on all platforms.

Mattias

Reply by email

zeljko
to Mattias Gaertner
Mattias Gaertner wrote 18 lines
On Wed, 9 Dec 2009 18:32:20 +0100 zeljko wrote: > Hi all, > Anyone on this planet knows why we have this property in LCL (and what > this property is supposed to do) ? > I've checked in K3 (CLX) and Delphi 7 (CLX & VCL) and couldn't find such > property. > Also, lazarus help says > "ArrowKeysTraverseList - enables the operator to use the keyboard Arrow > keys to move through the list as an alternative to using the mouse". AFAIK: Some widgetsets define Up/Down to select the next item in the list. This eats the key. Sometimes you don't want the normal behavior and handle the Up/down keys yourself. For example the object inspector uses Up/Down to select the next property on all platforms.

I think (as I understood property) that have different meaning: Imagine readonly combobox (csDropDownList) with 5 elements: 1.You focused combo by keyboard (eg. tab) - you are power user, mouse is only "if must".
2.now you pressing key down
3.When you reach the end of list it cannot go down anymore (to next item) 4.Now, you see that you jumped over option you want to select, now you must press keyup and go back.
That's normal behaviour (at least under qt).

With this property=TRUE you don't have to press keyup, when list reach end, next keydown starts again from 1st item in list (that's how it works in Qt2).

zeljko

Show quoted text 9 lines
Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Mattias Gaertner
to zeljko
Show quoted text 32 lines
On Sunday 16 May 2010 14:44, Mattias Gaertner wrote: > On Wed, 9 Dec 2009 18:32:20 +0100 > > zeljko wrote: > > Hi all, > > Anyone on this planet knows why we have this property in LCL (and what > > this property is supposed to do) ? > > I've checked in K3 (CLX) and Delphi 7 (CLX & VCL) and couldn't find such > > property. > > Also, lazarus help says > > "ArrowKeysTraverseList - enables the operator to use the keyboard Arrow > > keys to move through the list as an alternative to using the mouse". > > AFAIK: > Some widgetsets define Up/Down to select the next item in the list. > This eats the key. > Sometimes you don't want the normal behavior and handle the Up/down > keys yourself. For example the object inspector uses Up/Down to select > the next property on all platforms. I think (as I understood property) that have different meaning: Imagine readonly combobox (csDropDownList) with 5 elements: 1.You focused combo by keyboard (eg. tab) - you are power user, mouse is only "if must". 2.now you pressing key down 3.When you reach the end of list it cannot go down anymore (to next item) 4.Now, you see that you jumped over option you want to select, now you must press keyup and go back. That's normal behaviour (at least under qt). With this property=TRUE you don't have to press keyup, when list reach end, next keydown starts again from 1st item in list (that's how it works in Qt2).

I have no idea why you think that.
Neither the word traverse nor the docs are saying anything about start/end.
If you want a property that defines the jumping at start/end, then it should be called differently.

Mattias

Reply by email

zeljko
to Mattias Gaertner
Mattias Gaertner wrote
If you want a property that defines the jumping at start/end, then it should be called differently.

you're right about naming, but think that such property (or even just public property) can be a nice thing.

zeljko

Reply by email