persistent popup menus


I am looking for a way to create a "persistent" popup menu in my programs, ie one that does not hide itself when one of its items is activated. Ultimately I need this because I am using a menu that includes radio and check menu items, and would like to have the user be able to select multiple options from this menu without having to click somewhere to repopup the menu again.

Currently the way I implement this in my programs is by connecting a callback function to the "hide" event of the popup menu which calls gtk_menu_popup and redisplays the menu in the same location as it was initially displayed. The only way that the menu is ever dismissed is if the user clicks somewhere off the menu or if the application specifically calls gtk_menu_popdown (the same "hide" callback handles these cases).

This solution works well on a decent computer because the hiding and redisplay of the menu is done so fast that the user is given the illusion that the menu never disappeared in the first place. However, I intend to use these menus in programs written for iPAQ-type handheld devices which have much less resources. On such devices, the hiding and redisplay of the menu is not so fast and the menu appears to flash. Although it still works, it can get rather annoying and looks unprofessional.

I am thus looking for a way to be able to draw the menu and have it not go away at all until I specifically tell it to do so. I am very new to programming in GTK so I don't know if there is an easy solution to this or not. Let me know if there is a way of doing this or if not then what alternatives I could possibly look to besides the one I have mentioned above. Also, I need to be able to do this in GTK 1.2, so any GTK 2.0 specific functions might not be helpful to me. Thank You.

- Frank

Add photos to your e-mail with MSN 8. Get 2 months FREE*.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]