def MainNotebook(self): top = self.root w = Tix.NoteBook(top, ipadx=5, ipady=5, options=""" *TixNoteBook*tagPadX 6 *TixNoteBook*tagPadY 4 *TixNoteBook*borderWidth 2 """) # This may be required if there is no *Background option top['bg'] = w['bg'] w.add( 'prob', label='Problem Parameters', underline=0, createcmd=lambda w=w, name='prob': self.ProblemParameters(w, name)) w.add('sol', label='Solution Representation', underline=0, createcmd=lambda w=w, name='sol': self.SolutionRepresentation( w, name)) w.add( 'opt', label='Optimisation', underline=0, createcmd=lambda w=w, name='opt': self.ProblemParameters(w, name)) w.add( 'exp', label='Experiment', underline=0, createcmd=lambda w=w, name='exp': self.ProblemParameters(w, name)) return w
def createTabs(self, master): # definition des onglets self.notebook = Tix.NoteBook(master, width=660) self.notebook.add("ue", label="UE", raisecmd=lambda: self.goTo("UE")) self.notebook.add("review", label="Review", raisecmd=lambda: self.goTo("Review")) self.notebook.add("historique", label="Historique des commits", raisecmd=lambda: self.goTo("History")) self.notebook.grid(column=0, row=1, columnspan=8) # onglet ue self.ue = self.notebook.subwidget_list["ue"] #contient tous les widget de l'onglet question self.onglet_ue = Frame(self.ue) self.onglet_ue.grid(column=0, row=1) #onglet review self.review = self.notebook.subwidget_list["review"] #contient tous les widget de l'onglet commentaire self.onglet_review = Frame(self.review) self.onglet_review.grid(column=0, row=1) #onglet messages self.historiqueCommit = self.notebook.subwidget_list["historique"] self.onglet_historique = Frame(self.historiqueCommit) self.onglet_historique.grid(column=0, row=1)
def MkNoteBook(w): msg = Tix.Message( w, relief=Tix.FLAT, width=240, anchor=Tix.N, text= 'The NoteBook widget allows you to layout a complex interface into individual pages.' ) prefix = Tix.OptionName(w) if not prefix: prefix = '' w.option_add('*' + prefix + '*TixControl*entry.width', 10) w.option_add('*' + prefix + '*TixControl*label.width', 18) w.option_add('*' + prefix + '*TixControl*label.anchor', Tix.E) w.option_add('*' + prefix + '*TixNoteBook*tagPadX', 8) nb = Tix.NoteBook(w, ipadx=6, ipady=6) nb.add('hard_disk', label="Hard Disk", underline=0) nb.add('network', label="Network", underline=0) # Frame for the buttons that are present on all pages common = Tix.Frame(nb.hard_disk) common.pack(side=Tix.RIGHT, padx=2, pady=2, fill=Tix.Y) CreateCommonButtons(common) # Widgets belonging only to this page a = Tix.Control(nb.hard_disk, value=12, label='Access Time: ') w = Tix.Control(nb.hard_disk, value=400, label='Write Throughput: ') r = Tix.Control(nb.hard_disk, value=400, label='Read Throughput: ') c = Tix.Control(nb.hard_disk, value=1021, label='Capacity: ') a.pack(side=Tix.TOP, padx=20, pady=2) w.pack(side=Tix.TOP, padx=20, pady=2) r.pack(side=Tix.TOP, padx=20, pady=2) c.pack(side=Tix.TOP, padx=20, pady=2) common = Tix.Frame(nb.network) common.pack(side=Tix.RIGHT, padx=2, pady=2, fill=Tix.Y) CreateCommonButtons(common) a = Tix.Control(nb.network, value=12, label='Access Time: ') w = Tix.Control(nb.network, value=400, label='Write Throughput: ') r = Tix.Control(nb.network, value=400, label='Read Throughput: ') c = Tix.Control(nb.network, value=1021, label='Capacity: ') u = Tix.Control(nb.network, value=10, label='Users: ') a.pack(side=Tix.TOP, padx=20, pady=2) w.pack(side=Tix.TOP, padx=20, pady=2) r.pack(side=Tix.TOP, padx=20, pady=2) c.pack(side=Tix.TOP, padx=20, pady=2) u.pack(side=Tix.TOP, padx=20, pady=2) msg.pack(side=Tix.TOP, padx=3, pady=3, fill=Tix.BOTH) nb.pack(side=Tix.TOP, padx=5, pady=5, fill=Tix.BOTH, expand=1)
def __init__(self, tk=None, frame=None): if tk == None: tk = Tix.Tk() tk.tk_setPalette(background='white') tk.wm_title("ivy") frame = tk elif frame == None: frame = Toplevel(tk) self.tk = tk self.frame = frame self.notebook = Tix.NoteBook(frame) self.notebook.pack(fill=BOTH, expand=1) self.tab_counter = 0 self.tabs = 0
def __init__(self, tk=None, frame=None): if tk == None: tk = Tix.Tk() tk.tk_setPalette(background='white') tk.wm_title("ivy") frame = tk elif frame == None: frame = Toplevel(tk) self.tk = tk self.frame = frame self.notebook = Tix.NoteBook(frame) self.notebook.pack(fill=BOTH, expand=1) self.tab_counter = 0 self.tabs = 0 self.answers = [] # pre-compile the default AnalysysGraphUI self.analysisGraphWidgetClass = self.wrap_art_ui(self.AGUI())
def MkMainNotebook(top): top.option_add('*TixNoteBook*tagPadX', 6) top.option_add('*TixNoteBook*tagPadY', 4) top.option_add('*TixNoteBook*borderWidth', 2) top.option_add('*TixNoteBook*font', '-*-helvetica-bold-o-normal-*-14-*-*-*-*-*-*-*') w = Tix.NoteBook(top, ipadx=5, ipady=5) w.add('wel', label='Welcome', underline=0, createcmd=lambda w=w, name='wel': MkWelcome(w, name)) w.add('cho', label='Choosers', underline=0, createcmd=lambda w=w, name='cho': MkChoosers(w, name)) w.add('scr', label='Scrolled Widgets', underline=0, createcmd=lambda w=w, name='scr': MkScroll(w, name)) w.add('mgr', label='Manager Widgets', underline=0, createcmd=lambda w=w, name='mgr': MkManager(w, name)) w.add('dir', label='Directory List', underline=0, createcmd=lambda w=w, name='dir': MkDirList(w, name)) w.add('exp', label='Run Sample Programs', underline=0, createcmd=lambda w=w, name='exp': MkSample(w, name)) return w
def MkMainNotebook(self): top = self.root w = Tix.NoteBook(top, ipadx=5, ipady=5, options=""" tagPadX 6 tagPadY 4 borderWidth 2 """) # This may be required if there is no *Background option top['bg'] = w['bg'] w.add('wel', label='Welcome', underline=0, createcmd=lambda w=w, name='wel': MkWelcome(w, name)) w.add('cho', label='Choosers', underline=0, createcmd=lambda w=w, name='cho': MkChoosers(w, name)) w.add('scr', label='Scrolled Widgets', underline=0, createcmd=lambda w=w, name='scr': MkScroll(w, name)) w.add('mgr', label='Manager Widgets', underline=0, createcmd=lambda w=w, name='mgr': MkManager(w, name)) w.add('dir', label='Directory List', underline=0, createcmd=lambda w=w, name='dir': MkDirList(w, name)) w.add('exp', label='Run Sample Programs', underline=0, createcmd=lambda w=w, name='exp': MkSample(w, name)) return w
def __init__(self, root, **kwargs): Frame.__init__(self, root, width=1000, height=1000, **kwargs) root.geometry("395x320") root.title("Pilotage") # Création des onglets monnotebook = Tix.NoteBook(root) monnotebook.add("page1", label="Configuration") monnotebook.add("page2", label="Velocity Mode") monnotebook.add("page3", label="Motion Task") p1 = monnotebook.subwidget_list["page1"] p2 = monnotebook.subwidget_list["page2"] p3 = monnotebook.subwidget_list["page3"] fra1 = Canvas(p1) fra2 = Canvas(p2) fra3 = Canvas(p3) fra1.pack(expand=1, fill=Tix.BOTH) fra2.pack(expand=1, fill=Tix.BOTH) fra3.pack(expand=1, fill=Tix.BOTH) # fin création des onglets # Début onglet 1 # create a frame in canvas(p1) sous_fra = Frame(fra1, width=400, borderwidth=2, relief=GROOVE) self.portLabel = Label(sous_fra, text="Serial ser:") # create a label # create a variable, it will contain ser selection self.myPortCombo = Tix.StringVar() self.actuatorNameCombo = Tix.StringVar() # create a combobox, it will contain names of ports self.actuatorCombo = Tix.ComboBox(sous_fra, editable=1, dropdown=1, variable=self.actuatorNameCombo) # configure the combobox in read only self.actuatorCombo.entry.config(state='readonly') for m in actuator_list: self.actuatorCombo.insert(0, m) self.actuatorLabel = Label(sous_fra, text="Actuator name:") self.portCombo = Entry(sous_fra, textvariable=self.myPortCombo) self.baudrateLabel = Label(sous_fra, text="Baudrate:") # create a label # create a variable, it will contain baudrate selection self.baudCombo = Tix.StringVar() self.baudrateCombo = Entry(sous_fra, textvariable=self.baudCombo) self.num_device = Tix.IntVar() # create a label self.num_device_label = Label(sous_fra, text="Device number:") self.num_device_entry = Spinbox(sous_fra, from_=1, to=10, textvariable=self.num_device) self.actuatorNameCombo.trace('w', self.callback) # create connect Button self.connection = Button(sous_fra, text="Connect", command=self.connection) sous_fra1 = Frame(fra1, width=400) # create a second frame in canvas(p1) # create examine location button self.location = Button(sous_fra1, text="Examine location", command=self.examineLocation, width=10) self.location.config( state='disabled') # disable the state of the button # create 'location:' label locationLabel = Label(sous_fra1, text="Location:") # create a variable, it will contain the result of examineLocation method self.Resultat = StringVar() self.Resultat.set("0") # set the variable to zero # create a label, it will show the variable resultatLabel = Label(sous_fra1, textvariable=self.Resultat) self.resetZero = Button(sous_fra1, text=" Reset ", command=self.reset_servostar) # create cancel button self.quit = Button(sous_fra1, text="Cancel", command=root.quit) # Fin onglet 1 # Début onglet 2 # create a frame in canvas(p2) sous_fra2 = Frame(fra2, width=400) # create a second fram in canvas(p2) sous_fra2bis = Frame(fra2, width=400) # create a variable, it will contain the value of speedEntry self.speedVar = StringVar() # create 'Velocity:' label speedLabel = Label(sous_fra2bis, text="Velocity:") # create an entry, it will contain a velocity choose by the user speedEntry = Entry(sous_fra2bis, textvariable=self.speedVar, width=5) # create a advance button self.advanceButton = Button(sous_fra2bis, text="advance", command=self.advance, width=10) # disable the state of the button self.advanceButton.config(state='disabled') # create recoil button self.recoilButton = Button(sous_fra2bis, text="recoil", command=self.recoil, width=10) # disable the state of the button self.recoilButton.config(state='disabled') # create stop button self.stopVMButton = Button(sous_fra2bis, text="STOP", command=self.stopMotion, width=10) self.stopVMButton.config(state='disabled') self.defineZeroButton = Button(sous_fra2bis, text="Define Zero", command=self.defineZero, width=10) self.defineZeroButton.config(state='disabled') # Début onglet 3 sous_fra3_2 = Frame(fra3, width=400) # create a frame in canvas(p3) self.moveZeroButton = Button(sous_fra3_2, text="Move Home", command=self.moveZero, width=15) # create move home button # disable the state of the button self.moveZeroButton.config(state='disabled') # create 'position:' label positionLabel = Label(sous_fra3_2, text="position :") # create a variable, it will contain the value of entry2 self.position = StringVar() # create an entry, it will contain the positon choose by the user self.entry2 = Entry(sous_fra3_2, textvariable=self.position) # pick out the widget that will receive keyboard events self.entry2.focus_set() speed_label = Label(sous_fra3_2, text="speed:") # create 'position:' label # create a variable, it will contain the value of entry2 self.speed = StringVar() # create an entry, it will contain the positon choose by the user self.entry3 = Entry(sous_fra3_2, textvariable=self.speed) # pick out the widget that will receive keyboard events self.entry3.focus_set() # create 'motionType:' label motionTypeLabel = Label(sous_fra3_2, text="motion type :") # create a variable, it will contain the value of entry4 self.motionType = StringVar() sous_fra3 = Frame(fra3, width=400) # create a frame in canvas(p3) sous_sous_fra3 = Frame(sous_fra3, width=400) # create a frame in sous_fra3 # create move button self.moveButton = Button(sous_sous_fra3, text="Move", command=self.move) self.moveButton.config( state='disabled') # disable the state of the button # create STOP button self.stopMTButton = Button(sous_sous_fra3, text="STOP", command=self.stopMotion) self.stopMTButton.config(state='disabled') # create a second frame in sous_fra3 sous_sous_fra3bis = Frame(sous_fra3, width=400) # placement des widgets onglet 1 # show widgets on canvas(p1) sous_fra.grid(padx=10, pady=10) # self.portLabel.grid(row=1, column=0, sticky="sw", padx=10, pady=10) self.portCombo.grid(row=1, column=1, sticky="sw", padx=10, pady=10) self.baudrateLabel.grid(row=2, column=0, sticky="sw", padx=10, pady=10) self.baudrateCombo.grid(row=2, column=1, sticky="sw", padx=10, pady=10) self.actuatorLabel.grid(row=3, column=0, sticky="sw", padx=10, pady=10) self.actuatorCombo.grid(row=3, column=1, sticky="sw", padx=10, pady=10) self.connection.grid(row=5, column=1, sticky="se") # placement widget sous frame onglet 1 # show widgets on frame canvas(p1) sous_fra1.grid() # self.enable.grid(row=1, column=0,sticky= "sw", padx=10,pady=10) # self.disable.grid(row=2, column=0,sticky= "sw", padx=10,pady=10) # self.resetZero.grid(row=3, column=0,sticky= "sw", padx=10,pady=10) self.location.grid(row=5, column=0, sticky="s", padx=10, pady=10) locationLabel.grid(row=5, column=1) resultatLabel.grid(row=5, column=2) self.resetZero.grid(row=5, column=4) # self.quit.grid(row=4, column=4, sticky= "e") # placement des widgets onglet 2 # show widgets on canvas(p2) sous_fra2.grid(row=0, column=0, padx=10, pady=10) sous_fra2bis.grid(row=1, column=0, padx=10, pady=10) # self.init_modeButton.grid(row=0, column=0, padx=10,pady=10) speedLabel.grid(row=0, column=0, sticky='w') speedEntry.grid(row=0, column=2, sticky='w') self.recoilButton.grid(row=0, column=3, sticky='w') self.advanceButton.grid(row=1, column=3, sticky='w') self.stopVMButton.grid(row=2, column=3, sticky='w') self.defineZeroButton.grid(row=3, column=3, sticky='w') # placement des widgets onglet 3 # show widgets on canvas(p3) sous_fra3_2.grid(padx=10, pady=10) self.moveZeroButton.grid(row=0, column=0, padx=10, pady=10) positionLabel.grid(row=1, column=0, sticky='w') speed_label.grid(row=2, column=0, sticky='w') motionTypeLabel.grid(row=3, column=0, sticky='w') self.entry2.grid(row=1, column=1, sticky='w') self.entry3.grid(row=2, column=1, sticky='w') Radiobutton(sous_fra3_2, text="absolute", variable=self.motionType, value=True).grid() Radiobutton(sous_fra3_2, text="relative", variable=self.motionType, value=False).grid() sous_fra3.grid(row=3, column=0) sous_sous_fra3.grid(row=0, column=0) sous_sous_fra3bis.grid(row=1, column=0) self.moveButton.grid(row=0, column=1) self.stopMTButton.grid(row=0, column=2) # show notebooks monnotebook.pack(side=LEFT, fill=Tix.BOTH, expand=1, padx=5, pady=5)
def __init__(self, path='', **options): #global sys master = Tix.Tk() Tix.Frame.__init__(self, master) master.title('PyGlossary (Tkinter)') master.resizable(True, False) ######## #icon = Tix.BitmapImage(file=xbmLogo) #master.wm_iconbitmap(icon) #master.wm_iconbitmap(xbmLogo) #bit = Tix.PhotoImage(file=join(srcDir, 'pyglossary.gif'), format='gif') #lb = Tix.Label(None,image=bit) #lb.grid() #master.iconwindow(icon, 'pyglossary') #master.wm_iconimage(bit) #master.wm_iconname('dot') #help(master.wm_iconbitmap) #for x in dir(master): # if 'wm_' in x: # log.debug(x) master.wm_iconbitmap('@%s' % xbmLogo) ######## self.pack(fill='x') #master.bind('<Configure>', self.resized) ###################### self.running = False self.glos = Glossary(ui=self) self.pref = {} self.pref_load() self.pathI = '' self.pathO = '' self.fcd_dir = join(homeDir, 'Desktop') ###################### vpaned = tk.PanedWindow(self, orient=tk.VERTICAL) notebook = Tix.NoteBook(vpaned) notebook.add('tab1', label='Convert', underline=0) notebook.add('tab2', label='Reverse', underline=0) convertFrame = Tix.Frame(notebook.tab1) ###################### frame = Tix.Frame(convertFrame) ## label = Tix.Label(frame, text='Read from format') label.pack(side='left') ## comboVar = tk.StringVar() combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc) #comboVar.set(Glossary.readDesc[0]) comboVar.set(noneItem) combo.pack(side='left') self.combobox_i = comboVar ## frame.pack(fill='x') ################### frame = Tix.Frame(convertFrame) ## label = Tix.Label(frame, text=' Path:') label.pack(side='left') ## entry = Tix.Entry(frame) entry.pack(side='left', fill='x', expand=True) entry.bind_all('<KeyPress>', self.entry_changed) self.entry_i = entry ## button = Tix.Button( frame, text='Browse', command=self.browse_i, bg='#f0f000', activebackground='#f6f622', ) button.pack(side='left') ## button = Tix.Button( frame, text='Load', command=self.load, bg='#7777ff', activebackground='#9999ff', ) button.pack(side='left') ### frame.pack(fill='x') ###################################### self.running = False self.glos = Glossary(ui=self) self.pref = {} self.pref_load(**options) ###################### frame = Tix.Frame(convertFrame) ## label = Tix.Label(frame, text='Write to format ') label.pack(side='left') ## comboVar = tk.StringVar() combo = tk.OptionMenu(frame, comboVar, *Glossary.writeDesc) #comboVar.set(Glossary.writeDesc[0]) comboVar.set(noneItem) combo.pack(side='left') combo.bind('<Configure>', self.combobox_o_changed) self.combobox_o = comboVar ## frame.pack(fill='x') ################### frame = Tix.Frame(convertFrame) ## label = Tix.Label(frame, text=' Path:') label.pack(side='left') ## entry = Tix.Entry(frame) entry.pack(side='left', fill='x', expand=True) #entry.bind_all('<KeyPress>', self.entry_changed) self.entry_o = entry ## button = Tix.Button( frame, text='Browse', command=self.browse_o, bg='#f0f000', activebackground='#f6f622', ) button.pack(side='left') ## button = Tix.Button( frame, text='Convert', command=self.convert, bg='#00e000', activebackground='#22f022', ) button.pack(side='left') ### frame.pack(fill='x') ###### convertFrame.pack(fill='x') vpaned.add(notebook) ################# console = Tix.Text(vpaned, height=15, background='#000000') #self.consoleH = 15 #sbar = Tix.Scrollbar(vpaned, orien=Tix.VERTICAL, command=console.yview) #sbar.grid ( row=0, column=1) #console['yscrollcommand'] = sbar.set #console.grid() console.pack(fill='both', expand=True) log.addHandler(TkTextLogHandler(console), ) console.insert('end', 'Console:\n') #### vpaned.add(console) vpaned.pack(fill='both', expand=True) self.console = console ################## frame2 = Tix.Frame(self) clearB = Tix.Button( frame2, text='Clear', command=self.console_clear, bg='black', fg='#ffff00', activebackground='#333333', activeforeground='#ffff00', ) clearB.pack(side='left') #### label = Tix.Label(frame2, text='Verbosity') label.pack(side='left') ## comboVar = tk.StringVar() combo = tk.OptionMenu( frame2, comboVar, 0, 1, 2, 3, 4, ) comboVar.set(log.getVerbosity()) comboVar.trace('w', self.verbosityChanged) combo.pack(side='left') self.verbosityCombo = comboVar ##### pbar = ProgressBar(frame2, width=400) pbar.pack(side='left', fill='x', expand=True) self.pbar = pbar frame2.pack(fill='x') ############# #vpaned.grid() #bottomFrame.grid() #self.grid() ##################### #lbox = Tix.Listbox(convertFrame) #lbox.insert(0, 'aaaaaaaa', 'bbbbbbbbbbbbbbbbbbbb') #lbox.pack(fill='x') ############## frame3 = Tix.Frame(self) aboutB = Tix.Button( frame3, text='About', command=self.about_clicked, bg='#e000e0', activebackground='#f030f0', ) aboutB.pack(side='right') closeB = Tix.Button( frame3, text='Close', command=self.quit, bg='#ff0000', activebackground='#ff5050', ) closeB.pack(side='right') applyB = Tix.Button( frame3, text='Apply', command=self.apply_clicked, bg='#00e000', activebackground='#22f022', ) ## 'underline=0' arg in Tix.Button not affect keyboard shortcut????????????? applyB.pack(side='right') frame3.pack(fill='x') ############### Reverse Tab #################### revFrame = Tix.Frame(notebook.tab2) revFrame.pack(fill='x') ###################### frame = Tix.Frame(revFrame) ## label = Tix.Label(frame, text='Read from format') label.pack(side='left') ## comboVar = tk.StringVar() combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc) #comboVar.set(Glossary.readDesc[0]) comboVar.set(noneItem) combo.pack(side='left') self.combobox_r_i = comboVar ## frame.pack(fill='x') ################### frame = Tix.Frame(revFrame) ## label = Tix.Label(frame, text=' Path:') label.pack(side='left') ## entry = Tix.Entry(frame) entry.pack(side='left', fill='x', expand=True) #entry.bind_all('<KeyPress>', self.entry_r_i_changed) self.entry_r_i = entry ## button = Tix.Button( frame, text='Browse', command=self.r_browse_i, bg='#f0f000', activebackground='#f6f622', ) button.pack(side='left') ## button = Tix.Button( frame, text='Load', command=self.r_load, bg='#7777ff', ) button.pack(side='left') ### frame.pack(fill='x') ################### frame = Tix.Frame(revFrame) ## label = Tix.Label(frame, text='Output Tabfile') label.pack(side='left') ### entry = Tix.Entry(frame) entry.pack(side='left', fill='x', expand=True) #entry.bind_all('<KeyPress>', self.entry_r_i_changed) self.entry_r_o = entry ## button = Tix.Button( frame, text='Browse', command=self.r_browse_o, bg='#f0f000', activebackground='#f6f622', ) button.pack(side='left') ## frame.pack(fill='x') ############################## if path != '': self.entry_i.insert(0, path) self.entry_changed() self.load()
def RunSample(w): global root root = w # We use these options to set the sizes of the subwidgets inside the # notebook, so that they are well-aligned on the screen. prefix = Tix.OptionName(w) if prefix: prefix = '*'+prefix else: prefix = '' w.option_add(prefix+'*TixControl*entry.width', 10) w.option_add(prefix+'*TixControl*label.width', 18) w.option_add(prefix+'*TixControl*label.anchor', Tix.E) w.option_add(prefix+'*TixNoteBook*tagPadX', 8) # Create the notebook widget and set its backpagecolor to gray. # Note that the -backpagecolor option belongs to the "nbframe" # subwidget. nb = Tix.NoteBook(w, name='nb', ipadx=6, ipady=6) nb['bg'] = 'gray' nb.nbframe['backpagecolor'] = 'gray' # Create the two tabs on the notebook. The -underline option # puts a underline on the first character of the labels of the tabs. # Keyboard accelerators will be defined automatically according # to the underlined character. nb.add('hard_disk', label="Hard Disk", underline=0) nb.add('network', label="Network", underline=0) nb.pack(expand=1, fill=Tix.BOTH, padx=5, pady=5 ,side=Tix.TOP) #---------------------------------------- # Create the first page #---------------------------------------- # Create two frames: one for the common buttons, one for the # other widgets # tab=nb.hard_disk f = Tix.Frame(tab) common = Tix.Frame(tab) f.pack(side=Tix.LEFT, padx=2, pady=2, fill=Tix.BOTH, expand=1) common.pack(side=Tix.RIGHT, padx=2, fill=Tix.Y) a = Tix.Control(f, value=12, label='Access time: ') w = Tix.Control(f, value=400, label='Write Throughput: ') r = Tix.Control(f, value=400, label='Read Throughput: ') c = Tix.Control(f, value=1021, label='Capacity: ') a.pack(side=Tix.TOP, padx=20, pady=2) w.pack(side=Tix.TOP, padx=20, pady=2) r.pack(side=Tix.TOP, padx=20, pady=2) c.pack(side=Tix.TOP, padx=20, pady=2) # Create the common buttons createCommonButtons(common) #---------------------------------------- # Create the second page #---------------------------------------- tab = nb.network f = Tix.Frame(tab) common = Tix.Frame(tab) f.pack(side=Tix.LEFT, padx=2, pady=2, fill=Tix.BOTH, expand=1) common.pack(side=Tix.RIGHT, padx=2, fill=Tix.Y) a = Tix.Control(f, value=12, label='Access time: ') w = Tix.Control(f, value=400, label='Write Throughput: ') r = Tix.Control(f, value=400, label='Read Throughput: ') c = Tix.Control(f, value=1021, label='Capacity: ') u = Tix.Control(f, value=10, label='Users: ') a.pack(side=Tix.TOP, padx=20, pady=2) w.pack(side=Tix.TOP, padx=20, pady=2) r.pack(side=Tix.TOP, padx=20, pady=2) c.pack(side=Tix.TOP, padx=20, pady=2) u.pack(side=Tix.TOP, padx=20, pady=2) createCommonButtons(common)
def createWidgets(self): ## Tix tix for python 3 if (pythVers < 3): self.nb = Tix.NoteBook(self) else: self.nb = tix.NoteBook(self) self.nb.add('appr', label='APPR', raisecmd=lambda self=self: self.update_page()) self.nb.add('cruz', label='CRSE', raisecmd=lambda self=self: self.update_page()) self.nb.add('wing', label='WING', raisecmd=lambda self=self: self.update_page()) self.nb.add('hstb', label='HSTB', raisecmd=lambda self=self: self.update_page()) self.nb.add('vstb', label='VSTB', raisecmd=lambda self=self: self.update_page()) self.nb.add('ball', label='BALL', raisecmd=lambda self=self: self.update_page()) self.nb.add('prop', label='PROP', raisecmd=lambda self=self: self.update_page()) # page = PropertyPage(self.nb.appr) self.pages['appr'] = page page.addField(Va, 'ApprSpd:') page.addField(Aa, 'ApprAoA:') page.addField(Ka, 'ApprFuel:') page.addField(Ra, 'ApprThrt:') page.addField(Fa, 'ApprFlap:') page.addField(Vy, 'SolveAtSpd:') page.addField(Hy, 'SolveAtAlt:') # page = PropertyPage(self.nb.cruz) self.pages['cruz'] = page page.addField(Vc, 'CruiseSpd:') page.addField(Hc, 'CruiseAlt:') page.addField(Kc, 'CruiseFuel:') page.addField(Rc, 'CruiseThrt:') # page = PropertyPage(self.nb.wing) self.pages['wing'] = page page.addField(Cw, 'WingCambr:') page.addField(Iw, 'WingIDrag:') page.addField(Aw, 'WingStAoA:') page.addField(Ww, 'WingStWid:') page.addField(Pw, 'WingStlPk:') page.addField(Lf, 'WFlapLift:') page.addField(Df, 'WFlapDrag:') page.addField(Lr, 'AilrnLift:') page.addField(Dr, 'AilrnDrag:') # page = PropertyPage(self.nb.hstb) self.pages['hstb'] = page page.addField(Ch, 'HstbCambr:') page.addField(Ih, 'HstbIDrag:') page.addField(Ah, 'HstbStAoA:') page.addField(Wh, 'HstbStWid:') page.addField(Ph, 'HstbStlPk:') page.addField(Lh, 'HFlapLift:') page.addField(Dh, 'HFlapDrag:') # page = PropertyPage(self.nb.vstb) self.pages['vstb'] = page page.addField(Cv, 'VstbCambr:') page.addField(Iv, 'VstbIDrag:') page.addField(Av, 'VstbStAoA:') page.addField(Wv, 'VstbStWid:') page.addField(Pv, 'VstbStlPk:') page.addField(Lv, 'VFlapLift:') page.addField(Dv, 'VFlapDrag:') # page = PropertyPage(self.nb.ball) self.pages['ball'] = page page.addField(Mb, 'BallMass :') page.addField(Xb, 'BallXloc :') page.addField(Yb, 'BallYloc :') page.addField(Zb, 'BallZloc :') # page = PropertyPage(self.nb.prop) self.pages['prop'] = page page.addField(Mp, 'PropMass :') page.addField(Rp, 'PropRadi :') page.addField(Ap, 'PropMomt :') page.addField(Np, 'PropMinR :') page.addField(Xp, 'PropMaxR :') page.addField(Ip, 'PropFine :') page.addField(Op, 'PropCoar :') page.addField(Vp, 'PropCSpd :') page.addField(Cp, 'PropCRpm :') page.addField(Tp, 'PropTRpm :') # ## Tix tix for python 3 if (pythVers < 3): self.nb.pack(expand=1, fill=Tix.BOTH, padx=5, pady=5, side=Tix.TOP) else: self.nb.pack(expand=1, fill=tix.BOTH, padx=5, pady=5, side=tix.TOP) ## Tix tix for python 3 if (pythVers < 3): self.QUIT = Tix.Button(self) else: self.QUIT = tix.Button(self) self.QUIT['text'] = 'Quit' self.QUIT['command'] = self.quitCmd self.QUIT.pack({"side": "right"}) ## Tix tix for python 3 if (pythVers < 3): self.PLOT = Tix.Button(self) else: self.PLOT = tix.Button(self) self.PLOT['text'] = 'Plot' self.PLOT['command'] = self.plotCmd self.PLOT.pack({"side": "left"})
def createWidgets(self): self.nb = Tix.NoteBook(self) self.nb.add( 'sim', label='Simulation', raisecmd= lambda self=self: self.update_page() ) self.nb.add( 'view', label='View', raisecmd= lambda self=self: self.update_page() ) self.nb.add( 'loc', label='Location', raisecmd= lambda self=self: self.update_page() ) self.nb.add( 'weather', label='Weather', raisecmd= lambda self=self: self.update_page() ) self.nb.add( 'clouds', label='Clouds', raisecmd= lambda self=self: self.update_page() ) self.nb.add( 'velocities', label='Velocities', raisecmd= lambda self=self: self.update_page() ) page = PropertyPage( self.nb.sim, self.fgfs ) self.pages['sim'] = page page.addField( '/sim/aircraft', 'Aircraft:') page.addField( '/sim/startup/airport-id', 'Airport ID:') page.addField( '/sim/time/gmt', 'Current time (GMT):') page.addField( '/sim/startup/trim', 'Trim on ground (true/false):') page.addField( '/sim/sound/audible', 'Sound enabled (true/false):') page.addField( '/sim/startup/browser-app', 'Web browser:') page = PropertyPage( self.nb.view, self.fgfs ) self.pages['view'] = page page.addField( '/sim/view-mode', 'View mode:') page.addField( "/sim/current-view/field-of-view", "Field of view (deg):" ) page.addField( "/sim/current-view/pitch-offset-deg", "View pitch offset (deg):" ) page.addField( "/sim/current-view/heading-offset-deg", "View heading offset (deg):" ) page = PropertyPage( self.nb.loc, self.fgfs ) self.pages['loc'] = page page.addField( "/position/altitude-ft", "Altitude (ft):" ) page.addField( "/position/longitude-deg", "Longitude (deg):" ) page.addField( "/position/latitude-deg", "Latitude (deg):" ) page.addField( "/orientation/roll-deg", "Roll (deg):" ) page.addField( "/orientation/pitch-deg", "Pitch (deg):" ) page.addField( "/orientation/heading-deg", "Heading (deg):" ) page = PropertyPage( self.nb.weather, self.fgfs ) self.pages['weather'] = page page.addField("/environment/wind-from-heading-deg", "Wind direction (deg FROM):") page.addField("/environment/params/base-wind-speed-kt", "Wind speed (kt):") page.addField("/environment/params/gust-wind-speed-kt", "Maximum gust (kt):") page.addField("/environment/wind-from-down-fps", "Updraft (fps):") page.addField("/environment/temperature-degc", "Temperature (degC):") page.addField("/environment/dewpoint-degc", "Dewpoint (degC):") page.addField("/environment/pressure-sea-level-inhg", "Altimeter setting (inHG):") page = PropertyPage( self.nb.clouds, self.fgfs ) self.pages['clouds'] = page page.addField("/environment/clouds/layer[0]/type", "Layer 0 type:") page.addField("/environment/clouds/layer[0]/elevation-ft", "Layer 0 height (ft):") page.addField("/environment/clouds/layer[0]/thickness-ft", "Layer 0 thickness (ft):") page.addField("/environment/clouds/layer[1]/type", "Layer 1 type:") page.addField("/environment/clouds/layer[1]/elevation-ft", "Layer 1 height (ft):") page.addField("/environment/clouds/layer[1]/thickness-ft", "Layer 1 thickness (ft):") page.addField("/environment/clouds/layer[2]/type", "Layer 2 type:") page.addField("/environment/clouds/layer[2]/elevation-ft", "Layer 2 height (ft):") page.addField("/environment/clouds/layer[2]/thickness-ft", "Layer 2 thickness (ft):") page.addField("/environment/clouds/layer[3]/type", "Layer 3 type:") page.addField("/environment/clouds/layer[3]/elevation-ft", "Layer 3 height (ft):") page.addField("/environment/clouds/layer[3]/thickness-ft", "Layer 3 thickness (ft):") page.addField("/environment/clouds/layer[4]/type", "Layer 4 type:") page.addField("/environment/clouds/layer[4]/elevation-ft", "Layer 4 height (ft):") page.addField("/environment/clouds/layer[4]/thickness-ft", "Layer 4 thickness (ft):") page = PropertyPage( self.nb.velocities, self.fgfs ) self.pages['velocities'] = page page.addField("/velocities/airspeed-kt", "Airspeed (kt):") page.addField("/velocities/speed-down-fps", "Descent speed (fps):") self.nb.pack( expand=1, fill=Tix.BOTH, padx=5, pady=5, side=Tix.TOP ) self.QUIT = Tix.Button(self) self.QUIT['text'] = 'Quit' self.QUIT['command'] = self.quitcmd self.QUIT.pack({"side": "bottom"})
def __init__(self, parent=None): if __name__ == '__main__': self.myparent = self.myroot = parent self.myparent.rowconfigure(0, weight=1) self.myparent.columnconfigure(0, weight=1) self.outputfr = tk.Frame(self.myparent, width=640, height=480) self.outputfr.rowconfigure(0, weight=1) self.outputfr.rowconfigure(1, weight=0) self.outputfr.columnconfigure(0, weight=1) self.outputfr.grid(row=0, column=0, sticky='nesw') self.nb = tk.NoteBook(self.outputfr, width=640, height=400) self.nb.rowconfigure(0, weight=1) self.nb.columnconfigure(0, weight=1) self.outputbuttons = tk.ButtonBox(self.outputfr, width=640, height=80) self.outputbuttons.add('ok', text='OK', command=self.ok) self.outputbuttons.add('cancel', text='Cancel', command=self.cancel) self.outputbuttons.add('apply', text='Apply', command=self.apply) self.outputbuttons.add('play', text='Play', command=self.audition) self.outputbuttons.add('newinst', text='New Instrument', command=self.newinstrument) self.outputbuttons.grid(row=1, column=0, sticky='') else: self.myparent = parent self.myroot = self.myparent.myparent self.instmaybe = copy.deepcopy(self.myparent.instlist) self.outputfr = tk.Toplevel(self.myroot, width=640, height=480) self.outputfr.bind("<Return>", self.ok) self.outputfr.bind("<Escape>", self.cancel) self.outputfr.title("Output") self.outputfr.rowconfigure(0, weight=1) self.outputfr.rowconfigure(1, weight=0) self.outputfr.columnconfigure(0, weight=1) self.nb = tk.NoteBook(self.outputfr, width=640, height=480) self.nb.rowconfigure(0, weight=1) self.nb.columnconfigure(0, weight=1) self.nb.grid(row=0, column=0, sticky='nesw') self.outputbuttons = tk.ButtonBox(self.outputfr, width=640, height=80) self.outputbuttons.add('ok', text='OK', command=self.ok) self.outputbuttons.add('cancel', text='Cancel', command=self.cancel) self.outputbuttons.add('apply', text='Apply', command=self.apply) self.outputbuttons.add('play', text='Play', command=self.audition) self.outputbuttons.add('newinst', text='New Instrument', command=self.newinstrument) self.outputbuttons.grid(row=1, column=0, sticky='') self.instpagelist = [] self.csdpage = self.nb.add('csd', label='CSD') self.csdpage.rowconfigure(0, weight=1) self.csdpage.rowconfigure(1, weight=0) self.csdpage.columnconfigure(0, weight=1) self.csdpage.columnconfigure(1, weight=1) self.csdtext = tk.Text(self.csdpage) self.csdtext.grid(row=0, column=0, columnspan=2, sticky='nesw') self.csdtext.insert('0.0', self.myparent.csdimported) for i in range(1, len(self.instmaybe)): inst = self.instmaybe[i] newpage = self.addinstpage(inst) for out in inst.outlist: if out.__class__.__name__ == 'csdout': newline = csdline(newpage, out) elif out.__class__.__name__ == 'sf2out': newline = sf2line(newpage, out) self.autoload = tk.BooleanVar() self.autoload.set(self.myparent.outautoload) self.autocheck = tk.Checkbutton(self.csdpage, variable=self.autoload) self.autocheck.grid(row=1, column=0, sticky='e') self.csdloadbutton = tk.Button(self.csdpage, text="Load", command=self.csdload) self.csdloadbutton.grid(row=1, column=1, sticky='w')
#!/usr/local/bin/python
def fillInUI(self, parent): parent.columnconfigure(0, pad=2) parent.columnconfigure(1, pad=2) import itertools row = itertools.count() self.showBackbone = BackboneOption(parent, row.next(), 'Show backbone as', 'ribbon', None) self.showSide = SideOption(parent, row.next(), 'Show side (sugar/base) as', 'fill/slab', self._showSideCB) self.showOrientation = BooleanOption(parent, row.next(), 'Show base orientation', default.ORIENT, None) import Tix self.nb = Tix.NoteBook(parent) self.nb.grid(row=row.next(), column=0, columnspan=2, sticky=Tk.EW, padx=2) # ladder page self.nb.add("ladder", label="Ladder Options") f = self.nb.page("ladder") if Tk.TkVersion >= 8.5: parent.tk.call('grid', 'anchor', f._w, Tk.N) prow = itertools.count() self.skipNonBase = BooleanOption(f, prow.next(), 'Ignore non-base H-bonds', default.IGNORE, None) self.showStubs = BooleanOption(f, prow.next(), 'Show stubs', default.STUBS, None) self.rungRadius = FloatOption(f, prow.next(), 'Rung radius', default.RADIUS, None) self.rungRadius.min = 0.0 self.useExisting = BooleanOption(f, prow.next(), 'Using existing H-bonds', default.USE_EXISTING, self._useExistingCB) from FindHBond.gui import RelaxParams self.relaxParams = RelaxParams(f, None, colorOptions=False) #self.relaxParams.relaxConstraints = False self.relaxParams.grid(row=prow.next(), columnspan=2, sticky='nsew', padx=2) # slab page self.nb.add("slab", label="Slab Options") f = self.nb.page("slab") if Tk.TkVersion >= 8.5: parent.tk.call('grid', 'anchor', f._w, Tk.N) prow = itertools.count() self.thickness = FloatOption(f, prow.next(), 'Thickness', default.THICKNESS, None) self.thickness.min = 0.01 self.shape = ShapeOption(f, prow.next(), 'Slab object', default.SHAPE, None) self.hideBases = BooleanOption(f, prow.next(), 'Hide base atoms', default.HIDE, None) self.showGlycosidic = BooleanOption(f, prow.next(), 'Separate glycosidic bond', default.GLYCOSIDIC, None) self.nb.add("style", label="Slab Style", raisecmd=self.map) # style page f = self.nb.page("style") if Tk.TkVersion >= 8.5: f.tk.call('grid', 'anchor', f._w, Tk.N) info = NA.findStyle(self.currentStyle) from chimera.preferences import saveui f2 = Tk.Frame(f) self.saveui = saveui.SaveUI(f2, self) f2.grid(row=prow.next(), column=0, columnspan=2, sticky=Tk.EW, padx=2, pady=2) self.anchor = AnchorOption(f, prow.next(), 'Anchor', info[NA.ANCHOR], self._drawStyle) f2 = Pmw.Group(f, tag_text=NA.PURINE.title()) f2.grid(row=prow.next(), column=0, columnspan=2, sticky=Tk.EW, padx=2) f2 = f2.interior() f2.columnconfigure(0, weight=1, pad=2, uniform='a') f2.columnconfigure(1, weight=1, uniform='a') f2.columnconfigure(2, weight=1) self.purine_canvas = Tk.Canvas(f2, width=1, height=1) #, #borderwidth=2, relief=Tk.RIDGE) r = prow.next() self.purine_canvas.grid(row=r, column=0, rowspan=3, sticky=Tk.NSEW, padx=2, pady=2) corners = info[NA.PURINE] self.puLL = Float2Option(f2, prow.next(), 'Lower left', corners[0], self._drawStyle, startCol=1) self.puUR = Float2Option(f2, prow.next(), 'Upper right', corners[1], self._drawStyle, startCol=1) f3 = Pmw.Group(f, tag_text="%s, %s" % (NA.PYRIMIDINE.title(), NA.PSEUDO_PYRIMIDINE.title())) r = prow.next() f3.grid(row=r, column=0, columnspan=2, sticky=Tk.EW, padx=2) f3 = f3.interior() f3.columnconfigure(0, weight=1, pad=2, uniform='a') f3.columnconfigure(1, weight=1, uniform='a') f3.columnconfigure(2, weight=1) self.pyrimidine_canvas = Tk.Canvas(f3, width=1, height=1) #, #borderwidth=2, relief=Tk.RIDGE) r = prow.next() self.pyrimidine_canvas.grid(row=r, column=0, rowspan=3, sticky=Tk.NSEW, padx=2, pady=2) corners = info[NA.PYRIMIDINE] self.pyLL = Float2Option(f3, prow.next(), 'Lower left', corners[0], self._drawStyle, startCol=1) self.pyUR = Float2Option(f3, prow.next(), 'Upper right', corners[1], self._drawStyle, startCol=1) self.restrict = Tk.IntVar(parent) self.restrict.set(1) cb = Tk.Checkbutton(parent, variable=self.restrict, text="Restrict OK/Apply to current selection, if any") cb.grid(row=row.next(), columnspan=2) parent.pack(ipady=2) self._showSideCB() chimera.triggers.addHandler(NA.TRIGGER_SLAB_STYLES, self._updateStyles, None)
# -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-