def create_menu(self, parent): self.menubar = tk.Menu(self.main_frame) # File menu self.file_menu = tk.Menu(self.menubar) menu = self.file_menu menu.add_command(label='Open', command=self.open) menu.add_command(label='Exit', command=self.exit) self.menubar.add_cascade(label="File", menu=self.file_menu) # Edit menu self.edit_menu = tk.Menu(self.menubar) menu = self.edit_menu menu.add_command(label='Complement', command=self.complement) menu.add_command(label='Antiparallel', command=self.antiparallel) menu.add_command(label='Reverse', command=self.reverse) menu.add_command(label='Fix sequence', command=self.fix_sequence) menu.add_command(label='Search', command=self.search) self.menubar.add_cascade(label="Edit", menu=self.edit_menu) # Translation menu self.translation_menu = tk.Menu(self.menubar) self.gencode_menu = tk.Menu(self.translation_menu) self.frame_menu = tk.Menu(self.translation_menu) menu = self.translation_menu menu.add_cascade(label="Genetic Codes", menu=self.gencode_menu) menu.add_cascade(label='Frame', menu=self.frame_menu) menu.add_separator() menu.add_command(label='Single frame translation', command=self.translate) menu.add_command(label='Three frame translation (+)', command=lambda: self.gcframe(direction='plus')) menu.add_command(label='Three frame translation (-)', command=lambda: self.gcframe(direction='minus')) menu.add_command(label='Six frame translation', command=self.gcframe) menu.add_command(label='Extract to FASTA', command=self.extract) # Frames submenu self.frame_int = tk.IntVar() menu = self.frame_menu menu.add_radiobutton(label='+1', variable=self.frame_int, value=1) menu.add_radiobutton(label='+2', variable=self.frame_int, value=2) menu.add_radiobutton(label='+3', variable=self.frame_int, value=3) menu.add_radiobutton(label='-1', variable=self.frame_int, value=-1) menu.add_radiobutton(label='-2', variable=self.frame_int, value=-2) menu.add_radiobutton(label='-3', variable=self.frame_int, value=-3) self.frame_int.set(1) # Codon tables submenu self.current_codon_table = tk.StringVar() self.current_codon_table.set('Standard') self.current_codon_table_id = 1 keys = list(self.translation_tables.keys()) keys.remove('Standard') keys.sort() keys = ['Standard'] + keys menu = self.gencode_menu for table in keys: menu.add_radiobutton(label=table, command=self.set_codon_table, variable=self.current_codon_table) self.menubar.add_cascade(label="Translations", menu=self.translation_menu) # Tools menu self.tools_menu = tk.Menu(self.menubar) menu = self.tools_menu menu.add_command(label='Blast', command=self.blast) menu.add_command(label='Stats', command=self.statistics) self.menubar.add_cascade(label="Tools", menu=self.tools_menu) # Help menu self.help_menu = tk.Menu(self.menubar) menu = self.help_menu menu.add_command(label='Help', command=lambda: xbbtools_help()) self.menubar.add_cascade(label="Help", menu=self.help_menu) self.parent.config(menu=self.menubar)
def create_menu(self, parent): """Create the main menu bar.""" self.menubar = tk.Menu(self.main_frame) # File menu self.file_menu = tk.Menu(self.menubar) menu = self.file_menu menu.add_command(label="Open", command=self.open) menu.add_command(label="Exit", command=self.exit) self.menubar.add_cascade(label="File", menu=self.file_menu) # Edit menu self.edit_menu = tk.Menu(self.menubar) menu = self.edit_menu menu.add_command(label="Complement", command=self.complement) menu.add_command(label="Antiparallel", command=self.antiparallel) menu.add_command(label="Reverse", command=self.reverse) menu.add_command(label="Fix sequence", command=self.fix_sequence) menu.add_command(label="Search", command=self.search) self.menubar.add_cascade(label="Edit", menu=self.edit_menu) # Translation menu self.translation_menu = tk.Menu(self.menubar) self.gencode_menu = tk.Menu(self.translation_menu) self.frame_menu = tk.Menu(self.translation_menu) menu = self.translation_menu menu.add_cascade(label="Genetic Codes", menu=self.gencode_menu) menu.add_cascade(label="Frame", menu=self.frame_menu) menu.add_separator() menu.add_command(label="Single frame translation", command=self.translate) menu.add_command( label="Three frame translation (+)", command=lambda: self.gcframe(direction="plus"), ) menu.add_command( label="Three frame translation (-)", command=lambda: self.gcframe(direction="minus"), ) menu.add_command(label="Six frame translation", command=self.gcframe) menu.add_command(label="Extract to FASTA", command=self.extract) # Frames submenu self.frame_int = tk.IntVar() menu = self.frame_menu menu.add_radiobutton(label="+1", variable=self.frame_int, value=1) menu.add_radiobutton(label="+2", variable=self.frame_int, value=2) menu.add_radiobutton(label="+3", variable=self.frame_int, value=3) menu.add_radiobutton(label="-1", variable=self.frame_int, value=-1) menu.add_radiobutton(label="-2", variable=self.frame_int, value=-2) menu.add_radiobutton(label="-3", variable=self.frame_int, value=-3) self.frame_int.set(1) # Codon tables submenu self.current_codon_table = tk.StringVar() self.current_codon_table.set("Standard") self.current_codon_table_id = 1 keys = list(self.translation_tables.keys()) keys.remove("Standard") keys.sort() keys = ["Standard"] + keys menu = self.gencode_menu for table in keys: menu.add_radiobutton( label=table, command=self.set_codon_table, variable=self.current_codon_table, ) self.menubar.add_cascade(label="Translations", menu=self.translation_menu) # Tools menu self.tools_menu = tk.Menu(self.menubar) menu = self.tools_menu menu.add_command(label="Blast", command=self.blast) menu.add_command(label="Stats", command=self.statistics) self.menubar.add_cascade(label="Tools", menu=self.tools_menu) # Help menu self.help_menu = tk.Menu(self.menubar) menu = self.help_menu menu.add_command(label="Help", command=lambda: xbbtools_help()) self.menubar.add_cascade(label="Help", menu=self.help_menu) self.parent.config(menu=self.menubar)