MUI part #1
I was on the search for an application, which really uses public screens. Not so easy for someone, who did not use AmigaOS for quite some time ;). But of course, every MUI application can run on a public screen. Just use the settings menu .. SETTINGS MENU!?
No MUI application had menus, if run in j-uae integration mode :(.
I noticed, that some application might change their WFLG_RMBTRAP flag for every mouse move.. if the application wants a normal intuition menu, it clears the flag, as soon as the mouse moves over a gadget, which handles right clicks itself, it clears it. So for every mouse move, MUI asks the underlying gadget, if it has a popup menu or something like that. Btw, ZUNE does it the same way..
Not really elegant as you could just always have WFLG_RMBTRAP cleared and in case someone picks a menu over such a gadget you can always send a MENUCANCEL and get the same effect. You then receive the same message again, as if WFLG_RMBTRAP was set. You just have do do this on every mouse click and not on every mouse move.. Maybe I should try, if it really can work the other way in ZUNE..
Anyways, MUI seems to do it for every mouse move :( and so integration had no chance to notice it.
For the AROS side, we do it the elegant way now: If we get a MENUVERIFY message, we look at the according aos3 window. If it has WFLG_RMBTRAP cleared at the time of the mouse click, we display an according AROS intuition menu.
If WFLG_RMBTRAP is set in aos3, we just send a right click event to the aos3 window.
So now all MUI windows have working Intuition menus :).
I was on the search for an application, which really uses public screens. Not so easy for someone, who did not use AmigaOS for quite some time ;). But of course, every MUI application can run on a public screen. Just use the settings menu .. SETTINGS MENU!?
No MUI application had menus, if run in j-uae integration mode :(.
I noticed, that some application might change their WFLG_RMBTRAP flag for every mouse move.. if the application wants a normal intuition menu, it clears the flag, as soon as the mouse moves over a gadget, which handles right clicks itself, it clears it. So for every mouse move, MUI asks the underlying gadget, if it has a popup menu or something like that. Btw, ZUNE does it the same way..
Not really elegant as you could just always have WFLG_RMBTRAP cleared and in case someone picks a menu over such a gadget you can always send a MENUCANCEL and get the same effect. You then receive the same message again, as if WFLG_RMBTRAP was set. You just have do do this on every mouse click and not on every mouse move.. Maybe I should try, if it really can work the other way in ZUNE..
Anyways, MUI seems to do it for every mouse move :( and so integration had no chance to notice it.
For the AROS side, we do it the elegant way now: If we get a MENUVERIFY message, we look at the according aos3 window. If it has WFLG_RMBTRAP cleared at the time of the mouse click, we display an according AROS intuition menu.
If WFLG_RMBTRAP is set in aos3, we just send a right click event to the aos3 window.
So now all MUI windows have working Intuition menus :).
0 Comments:
Post a Comment
<< Home