From e4d9f600d8359e82b7a689896727080d570ab8a8 Mon Sep 17 00:00:00 2001 From: Jeff Armstrong Date: Mon, 25 Jul 2011 21:50:26 -0400 Subject: Added menu highlight/normal switch. Fixed dialog handling. Extended simple application. --- gem/aes.py | 21 +++++++++++++++++++-- gem/constants.py | 4 ++++ 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'gem') diff --git a/gem/aes.py b/gem/aes.py index 7d51598..cc2d7fd 100644 --- a/gem/aes.py +++ b/gem/aes.py @@ -206,6 +206,7 @@ class Application: self.windows = [] self.resource = False + self.menu = None self.message_event = None self.button_event = None @@ -224,6 +225,10 @@ class Application: w.destroy() except: pass + + if self.menu is not None: + _gem.menu_bar(self.menu,MENU_HIDE) + window_update(END_UPDATE) _gem.appl_exit(self.id) @@ -256,6 +261,19 @@ class Application: window_update(BEG_UPDATE) _gem.menu_bar(capsule, action) window_update(END_UPDATE) + + self.menu = capsule + + def set_menu_state(self,id,highlight=False): + """Highlight (default) or unhighlight a menu item""" + + if self.menu is None: + raise ValueError("Application's menu is None.") + + if highlight: + _gem.menu_tnormal(self.menu,id,MENU_HIGHLIGHT) + else: + _gem.menu_tnormal(self.menu,id,MENU_NORMAL) def get_resource_address(self,type,index): """Retrieves the address of a resource element in a Python capsule. @@ -366,12 +384,11 @@ class Application: return ret - def draw_object(self,object,depth,position=None,center=True): + def draw_tree(self,object,depth,position=None,center=True): """Draws an AES object (usually from a resource)""" xpos = position if center: position = _gem.form_center(object) - _gem.objc_draw(object,0,depth,position) def form_do(self,object): diff --git a/gem/constants.py b/gem/constants.py index 078818b..7fd5b24 100644 --- a/gem/constants.py +++ b/gem/constants.py @@ -151,3 +151,7 @@ MB_KALT = 0x0008 MENU_HIDE = 0 MENU_SHOW = 1 MENU_INSTL = 100 + +# Menu Hightlight Defintions +MENU_HIGHLIGHT = 0 +MENU_NORMAL = 1 \ No newline at end of file -- cgit v1.2.3