[Lazarus] Buggy menus in GTK 2

Graeme Geldenhuys graemeg.lists at gmail.com
Mon May 18 09:11:56 CEST 2009


On Sun, May 17, 2009 at 12:09 AM, Michael Van Canneyt wrote:
>
> I'm writing about the TMainMenu component for the lazarus book,
> and I ran into some strange things and bugs.
>
> 1. The shortcut keys for menus don't work. If I have a menu &File,
>   I expect the Alt-F key combination to activate the file menu,
>   as in windows. It does not.

This works with other GTK2 applications (non Lazarus based), so yes
this is a bug in LCL.


> 2. The underlined letter in submenus don't work. In Delphi, pressing
>   the underlined letter activates the menu. for a menu &File - &New,
>   pressing Alt-F, N will activate the &New menu item.

Also works in pure GTK2 applications so again is a bug in LCL.


> 3. I have a menu with a list of radio button menus, say item 1 - item 3.
>   (all with GroupIndex=1, RadioItem=True, Autocheck=False)
>
>   When Item 1 is checked, and I click item 2, then I get first an onclick
>   event for item 1 and then an onclick event for item 2.
>
>   This is very counter-intuitive, different from Delphi behaviour, and IMHO
>   plain wrong, since I only clicked item 2, so I don't expect to get an event
>   for item 1...

3 years ago, when our company still used LCL, we experienced plenty of
this between GTK1 & Win32 widgetsets. The behavior was very different
under the two platforms and often event order firing was different as
well. So yes, I would say this is a bug too.


> 4. Again for radio button menus:
>   In Lazarus, the check mark is set or moved automatically, regardless of AutoCheck.
>   In Delphi, it is not set unless AutoCheck is set to true.

Sounds like a bug - considering LCL is trying to be VCL compatible.


> Should I file bugreports for all 4 items ?

I believe so, yes.


Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/




More information about the Lazarus mailing list