MCPcopy Index your code
hub / github.com/PySimpleGUI/PySimpleGUI / AddMenuItem

Function AddMenuItem

PySimpleGUI/PySimpleGUI.py:15215–15302  ·  view source on GitHub ↗

Only to be used internally. Not user callable :param top_menu: ??? :type top_menu: ??? :param sub_menu_info: ??? :type sub_menu_info: :param element: ??? :type element: idk_yetReally :param is_sub_menu: (Default = False) :type is_sub_men

(top_menu, sub_menu_info, element, is_sub_menu=False, skip=False, right_click_menu=False)

Source from the content-addressed store, hash-verified

15213
15214
15215def AddMenuItem(top_menu, sub_menu_info, element, is_sub_menu=False, skip=False, right_click_menu=False):
15216 """
15217 Only to be used internally. Not user callable
15218 :param top_menu: ???
15219 :type top_menu: ???
15220 :param sub_menu_info: ???
15221 :type sub_menu_info:
15222 :param element: ???
15223 :type element: idk_yetReally
15224 :param is_sub_menu: (Default = False)
15225 :type is_sub_menu: (bool)
15226 :param skip: (Default = False)
15227 :type skip: (bool)
15228
15229 """
15230 return_val = None
15231 if type(sub_menu_info) is str:
15232 if not is_sub_menu and not skip:
15233 pos = sub_menu_info.find(MENU_SHORTCUT_CHARACTER)
15234 if pos != -1:
15235 if pos < len(MENU_SHORTCUT_CHARACTER) or sub_menu_info[pos - len(MENU_SHORTCUT_CHARACTER)] != "\\":
15236 sub_menu_info = sub_menu_info[:pos] + sub_menu_info[pos + len(MENU_SHORTCUT_CHARACTER):]
15237 if sub_menu_info == '---':
15238 top_menu.add('separator')
15239 else:
15240 try:
15241 item_without_key = sub_menu_info[:sub_menu_info.index(MENU_KEY_SEPARATOR)]
15242 except:
15243 item_without_key = sub_menu_info
15244
15245 if item_without_key[0] == MENU_DISABLED_CHARACTER:
15246 top_menu.add_command(label=item_without_key[len(MENU_DISABLED_CHARACTER):], underline=pos - 1,
15247 command=lambda: element._MenuItemChosenCallback(sub_menu_info))
15248 top_menu.entryconfig(item_without_key[len(MENU_DISABLED_CHARACTER):], state='disabled')
15249 else:
15250 top_menu.add_command(label=item_without_key, underline=pos,
15251 command=lambda: element._MenuItemChosenCallback(sub_menu_info))
15252 else:
15253 i = 0
15254 while i < (len(sub_menu_info)):
15255 item = sub_menu_info[i]
15256 if i != len(sub_menu_info) - 1:
15257 if type(sub_menu_info[i + 1]) == list:
15258 new_menu = tk.Menu(top_menu, tearoff=element.Tearoff)
15259 # if a right click menu, then get styling from the top-level window
15260 if right_click_menu:
15261 window = element.ParentForm
15262 if window.right_click_menu_background_color not in (COLOR_SYSTEM_DEFAULT, None):
15263 new_menu.config(bg=window.right_click_menu_background_color)
15264 new_menu.config(activeforeground=window.right_click_menu_background_color)
15265 if window.right_click_menu_text_color not in (COLOR_SYSTEM_DEFAULT, None):
15266 new_menu.config(fg=window.right_click_menu_text_color)
15267 new_menu.config(activebackground=window.right_click_menu_text_color)
15268 if window.right_click_menu_disabled_text_color not in (COLOR_SYSTEM_DEFAULT, None):
15269 new_menu.config(disabledforeground=window.right_click_menu_disabled_text_color)
15270 if window.right_click_menu_font is not None:
15271 new_menu.config(font=window.right_click_menu_font)
15272 else:

Callers 8

set_right_click_menuMethod · 0.85
updateMethod · 0.85
updateMethod · 0.85
updateMethod · 0.85
_add_right_click_menuFunction · 0.85
PackFormIntoFrameFunction · 0.85
popup_menuFunction · 0.85

Calls 2

addMethod · 0.45

Tested by

no test coverage detected