MCPcopy Index your code
hub / github.com/python/cpython / fill_menus

Method fill_menus

Lib/idlelib/editor.py:1178–1214  ·  view source on GitHub ↗

Fill in dropdown menus used by this window. Items whose name begins with '!' become checkbuttons. Other names indicate commands. None becomes a separator.

(self, menudefs=None, keydefs=None)

Source from the content-addressed store, hash-verified

1176 text.event_add(event, *keylist)
1177
1178 def fill_menus(self, menudefs=None, keydefs=None):
1179 """Fill in dropdown menus used by this window.
1180
1181 Items whose name begins with '!' become checkbuttons.
1182 Other names indicate commands. None becomes a separator.
1183 """
1184 if menudefs is None:
1185 menudefs = self.mainmenu.menudefs
1186 if keydefs is None:
1187 keydefs = self.mainmenu.default_keydefs
1188 menudict = self.menudict
1189 text = self.text
1190 for mname, entrylist in menudefs:
1191 menu = menudict.get(mname)
1192 if not menu:
1193 continue
1194 for entry in entrylist:
1195 if entry is None:
1196 menu.add_separator()
1197 else:
1198 label, eventname = entry
1199 checkbutton = (label[:1] == '!')
1200 if checkbutton:
1201 label = label[1:]
1202 underline, label = prepstr(label)
1203 accelerator = get_accelerator(keydefs, eventname)
1204 def command(text=text, eventname=eventname):
1205 text.event_generate(eventname)
1206 if checkbutton:
1207 var = self.get_var_obj(eventname, BooleanVar)
1208 menu.add_checkbutton(label=label, underline=underline,
1209 command=command, accelerator=accelerator,
1210 variable=var)
1211 else:
1212 menu.add_command(label=label, underline=underline,
1213 command=command,
1214 accelerator=accelerator)
1215
1216 def getvar(self, name):
1217 var = self.get_var_obj(name)

Callers 2

createmenubarMethod · 0.95
load_extensionMethod · 0.95

Calls 7

get_var_objMethod · 0.95
prepstrFunction · 0.85
get_acceleratorFunction · 0.85
add_separatorMethod · 0.80
add_checkbuttonMethod · 0.80
add_commandMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected