Source code for timetable_parser.module_menu
from Tkinter import Frame, OptionMenu, StringVar
[docs]class ModuleMenu(Frame):
def __init__(self, master, module_dict):
Frame.__init__(self, master)
self.moduleDict = module_dict
self.department = StringVar(self)
self.module = StringVar(self)
self.department.trace('w', self.update_options)
keys = self.moduleDict.keys()
keys.sort()
self.departmentMenu = OptionMenu(self, self.department, *keys)
self.moduleMenu = OptionMenu(self, self.module, '')
self.department.set('None')
self.departmentMenu.grid(row=1, column=1)
self.moduleMenu.grid(row=1, column=2)
self.pack()
[docs] def update_options(self, *args):
module_values = self.moduleDict[self.department.get()]
self.module.set(module_values[0])
menu = self.moduleMenu['menu']
menu.delete(0, 'end')
for module_value in module_values:
menu.add_command(label=module_value)