Hidden stuff

Posted by ALB42 on 6. Juni 2019No Comments

The Leu application had a big bug under MorphOS, it was impossible to use the scrollbars as long there was part of the grid underneath. The click always went directly to the grid, so the scrollbar never got it. This did not happen under AROS Zune or Amiga MUI 3.8, so it must be something special of the MorphOS MUI implementation.

After a pointer of jacadcaps at morph.zone the solution was rather easy. When you register in MUIM_Setup which events you want to be notified of there is a new flag MUI_EHF_GUIMODE for TMUI_EventHandlerNode.ehn_flags, introduced in MUI 4 which tells MUI to NOT notifiy you about events happen in a part of your element which is hidden. For example if your element is on a Tab control but your page is not visible at the moment, or like in our case, the element is partly hidden by the scrollbox. This behavior was the default behavior for old MUI 3.x on Amiga as far I can see. Beside, I see uses for such feature, it should be extremely seldom, that you want to be notified about clicks on your non visible part. For me it is very odd to make this seldom needed to old versions incompatible behavior as the new default, and not, as I would suggest create a Flag which turns on the new way for event handling. Btw. even in this case I would expect some kind of marker in the event that this was triggered on a hidden part. You have nearly no way to know that somewhere in the tree above you some element could cause that.

But in the end, the most important part is I know it now and it also explains some strange behavior I had in the LCL (clicks on sleeping windows, clicks on not visible tabs) which should all be fixed by that.

I also did a new compilation of Leu, this version now already has a open and save requester, it should be able to open xls, xlsx, ods and maybe csv files (if you change the pattern I preconfigured). The output format you define by the extension, I tried xls, xlsx, ods, csv and html and all seems to work as expected.

Download all Amiga Systems: Leu Page

Have fun.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert