@@ -2473,16 +2473,20 @@ def __init__(self, menu_definition, background_color=None, size=(None, None), te
24732473 self .TKMenu = None
24742474 self .Tearoff = tearoff
24752475 self .Widget = None # type: remi.gui.MenuBar
2476+ self .MenuItemChosen = None
24762477
24772478 super ().__init__ (ELEM_TYPE_MENUBAR , background_color = background_color , size = size , pad = pad , key = key )
24782479 return
24792480
2480- def MenuItemChosenCallback (self , item_chosen ):
2481- # print('IN MENU ITEM CALLBACK', item_chosen)
2482- self .ParentForm .LastButtonClicked = item_chosen
2483- self .ParentForm .FormRemainedOpen = True
2484- if self .ParentForm .CurrentlyRunningMainloop :
2485- self .ParentForm .TKroot .quit () # kick the users out of the mainloop
2481+
2482+
2483+ def ChangedCallbackMenu (self , widget , * user_data ):
2484+ widget = widget # type: remi.gui.MenuItem
2485+ chosen = user_data [0 ]
2486+ self .MenuItemChosen = chosen
2487+ self .ParentForm .LastButtonClicked = chosen
2488+ self .ParentForm .MessageQueue .put (chosen )
2489+
24862490
24872491 def __del__ (self ):
24882492 super ().__del__ ()
@@ -2569,6 +2573,7 @@ def Update(self, values=None):
25692573 if self .DisplayRowNumbers :
25702574 value = [i + self .StartingRowNumber ] + value
25712575 id = self .TKTreeview .insert ('' , 'end' , text = i , iid = i + 1 , values = value , tag = i % 2 )
2576+ id = self .TKTreeview .insert ('' , 'end' , text = i , iid = i + 1 , values = value , tag = i % 2 )
25722577 if self .AlternatingRowColor is not None :
25732578 self .TKTreeview .tag_configure (1 , background = self .AlternatingRowColor )
25742579 self .Values = values
@@ -4050,6 +4055,8 @@ def BuildResultsForSubform(form, initialize_only, top_level_form):
40504055 value = element .SelectedRows
40514056 elif element .Type == ELEM_TYPE_GRAPH :
40524057 value = element .ClickPosition
4058+ elif element .Type == ELEM_TYPE_MENUBAR :
4059+ value = element .MenuItemChosen
40534060 else :
40544061 value = None
40554062
@@ -4223,7 +4230,7 @@ def AddMenuItem(top_menu, sub_menu_info, element, is_sub_menu=False, skip=False)
42234230 else :
42244231 menu_item = remi .gui .MenuItem (item_without_key , width = 100 , height = 30 )
42254232 top_menu .append ([menu_item ,])
4226-
4233+ menu_item . set_on_click_listener ( element . ChangedCallbackMenu , sub_menu_info )
42274234 else :
42284235 i = 0
42294236 while i < (len (sub_menu_info )):
@@ -4857,16 +4864,15 @@ def do_font_and_color(widget):
48574864 item .set_enabled (False )
48584865 else :
48594866 item = remi .gui .MenuItem (menu_entry [0 ], width = 100 , height = 30 )
4860-
48614867 menu .append ([item ,])
48624868 if len (menu_entry ) > 1 :
48634869 AddMenuItem (item , menu_entry [1 ], element )
48644870
48654871 element .Widget = menubar = remi .gui .MenuBar (width = '100%' , height = '30px' )
4866- element .Widget .style ['z-index' ] = '11'
4867- element .Widget .style ['order' ] = '11'
4872+ element .Widget .style ['z-index' ] = '1'
48684873 menubar .append (menu )
4869- tk_row_frame .append (element .Widget )
4874+ # tk_row_frame.append(element.Widget)
4875+ containing_frame .append (element .Widget )
48704876
48714877 # ------------------------- Frame element ------------------------- #
48724878 elif element_type == ELEM_TYPE_FRAME :
@@ -6960,21 +6966,17 @@ def main():
69606966 ['&Help' , '&About...' ], ]
69616967
69626968
6963- menu_def = [['File' , ['&Open' , '&Save' , 'E&xit' , 'Properties' ]],
6969+ menu_def = [['File' , ['&Open::mykey ' , '&Save' , 'E&xit' , 'Properties' ]],
69646970 ['Edit' , ['!Paste' , ['Special' , 'Normal' , ], '!Undo' ], ],
69656971 ['!Disabled' , ['Has Sub' , ['Item1' , 'Item2' , ], 'No Sub' ], ],
69666972 ['Help' , 'About...' ], ]
69676973
69686974 col1 = [[Text ('Column 1 line 1' , background_color = 'red' )], [Text ('Column 1 line 2' )]]
69696975
69706976 layout = [
6971- [Menu (menu_def )],
6977+ [Menu (menu_def , key = '_MENU_' )],
69726978 # [T('123435', size=(1,8))],
69736979 [Image (data = DEFAULT_BASE64_ICON )],
6974- [Image (data = DEFAULT_BASE64_ICON )],
6975- [Image (data = DEFAULT_BASE64_ICON )],
6976- [Image (data = DEFAULT_BASE64_ICON )],
6977- [Image (data = DEFAULT_BASE64_ICON )],
69786980 [Text ('PySimpleGUIWeb Welcomes You...' , tooltip = 'text' , font = ('Comic sans ms' , 20 ),size = (40 ,1 ), text_color = 'red' , enable_events = True , key = '_PySimpleGUIWeb_' )],
69796981 [T ('Current Time ' ), Text ('Text' , key = '_TEXT_' , font = 'Arial 18' , text_color = 'black' , size = (30 ,1 )), Column (col1 , background_color = 'red' )],
69806982 [T ('Up Time' ), Text ('Text' , key = '_TEXT_UPTIME_' , font = 'Arial 18' , text_color = 'black' , size = (30 ,1 ))],
0 commit comments