def __build__(self, root, row): self.TkPhotoImage = Tix.PhotoImage( format=self.icon.format, data=self.icon.data ) # keep a reference! See http://effbot.org/tkinterbook/photoimage.htm self._value = Tix.StringVar(root) if not self.lastdir: self.lastdir = Tix.StringVar(root, self.initialdir) if self.opt.default is not None: self._value.set(self.opt.default) self.TkLabel = Tix.Label(root, text=self.opt.help + ':') self.TkEntry = Tix.Entry(root, textvariable=self._value) self.TkButton = Tix.Button(root, image=self.TkPhotoImage, command=Command(self.cmd, root, self.opt.help, self.filter, self.lastdir, self._value)) self.TkLabel.grid(row=row, column=0, sticky=Tix.W, padx=2) self.TkEntry.grid(row=row, column=1, sticky=Tix.E + Tix.W, padx=2) self.TkButton.grid(row=row, column=2, sticky=Tix.E, padx=2) if self.tooltip: self.TkLabelToolTip = _ToolTip(self.TkLabel, delay=250, follow_mouse=1, text=self.tooltip) self.TkEntryToolTip = _ToolTip(self.TkEntry, delay=250, follow_mouse=1, text=self.tooltip) self.TkButtonToolTip = _ToolTip(self.TkButton, delay=250, follow_mouse=1, text=self.tooltip) self._value.trace('w', self.callback) self.enabled = self.enabled #Force update
def LoadConfigScreen(): s = Tix.Toplevel() s.protocol("WM_DELETE_WINDOW", on_closing) s.title("Table InfExtractor") s.geometry('{}x{}'.format(500, 500)) topframe = Tix.Frame(s, height=10) topframe.pack() frame = Tix.Frame(s) frame.pack() newproject = Tix.Radiobutton(frame, text="Create New Project", variable=variab, value="NP", command=lambda: EnableLEntity(E2, Lb3)) newproject.pack() newprojectFrame = Tix.Frame(frame, height=100) names = Tix.StringVar() label_projectName = Tix.Label(newprojectFrame, textvariable=names) names.set("Project Name") label_projectName.pack(side=Tix.LEFT) E2 = Tix.Entry(newprojectFrame, bd=5) E2.pack(side=Tix.LEFT) newprojectFrame.pack() loadproject = Tix.Radiobutton(frame, text="Load Project", variable=variab, value="LP", command=lambda: EnableLB(Lb3, E2)) loadproject.pack() loadprojectFrame = Tix.Frame(frame, height=100) loadprojectFrame.pack() Lb3 = Tix.Listbox(loadprojectFrame, width=80, height=20) projects = FileManipulationHelper.readProjects() i = 1 for p in projects: Lb3.insert(i, p) i = i + 1 Lb3.pack() Lb3.configure(exportselection=False) Lb3.configure(state=Tix.DISABLED) variab.set("NP") newproject.select() BottomFrame = Tix.Frame(s, height=10) BottomFrame.pack() NextButtonFrame = Tix.Frame(s) NextButtonFrame.pack() NextButton = Tix.Button( NextButtonFrame, text="Next", fg="black", command=lambda: FinishFirstScreen(variab, E2, Lb3, s)) NextButton.pack()
def createWidgets(self): self.LBL_LANGUAGE = Tix.Label(master=self, text=u'Целевой язык') self.LBL_LANGUAGE.grid(column=0, row=0) self.LANGUAGE_CHOOSER = Tix.ComboBox(master=self) self.LANGUAGE_CHOOSER.grid(row=0, column=1, columnspan=2, sticky='ew') self.LANGUAGE_MATCH = list() self.LANGUAGE_MATCH.append(('c99', 'C (ISO/IEC 9899:1999)')) self.LANGUAGE_MATCH.append(('c_plus_plus', 'C++ (ISO/IEC 14882:1998)')) self.LANGUAGE_CHOOSER.insert(0, 'C (ISO/IEC 9899:1999)') self.LANGUAGE_CHOOSER.insert(1, 'C++ (ISO/IEC 14882:1998)') self.LBL_ENCODING = Tix.Label(master=self, text=u'Кодировка файлов') self.LBL_ENCODING.grid(column=0, row=1) self.ENCODING_CHOOSER = Tix.ComboBox(master=self) self.ENCODING_CHOOSER.insert(0, u'cp866 (Windows OEM)') self.ENCODING_CHOOSER.insert(1, u'cp1251 (Windows ANSI)') self.ENCODING_CHOOSER.insert(2, u'koi8-r (FreeBSD)') self.ENCODING_CHOOSER.insert(3, u'utf-8 (Linux)') self.ENCODING_CHOOSER.grid(column=1, columnspan=2, sticky='ew', row=1) if os.name == "nt": self.ENCODING_CHOOSER['value'] = u'cp866 (Windows OEM)' else: self.ENCODING_CHOOSER['value'] = u'utf-8 (Linux)' self.LBL_TARGET_DIR = Tix.Label(master=self, text=u'Целевой каталог') self.LBL_TARGET_DIR.grid(column=0, row=2) self.TARGET_DIR = Tix.Entry(master=self) self.TARGET_DIR.grid(column=1, row=2) self.BTN_BROWSE = Tix.Button(master=self, text=u'...', command=self.browerTargetDir) self.BTN_BROWSE.grid(column=2, row=2) self.STATUS = Tix.Label(master=self, text='', fg='red') self.STATUS.grid(row=3, columnspan=3, sticky='ew') self.BOX = Tix.ButtonBox(master=self) self.BOX.grid(row=4, columnspan=3, sticky='ew') self.BTN_GO = Tix.Button(master=self.BOX, text=u'Конвертировать', bg="green", command=self.convert) self.BTN_GO.grid(column=0, row=0, sticky='ew') self.BTN_CLOSE = Tix.Button(master=self.BOX, text=u'Закрыть', bg="red", command=self.quit) self.BTN_CLOSE.grid(column=1, row=0, sticky='ew')
def __build__(self,root,row): self._value = Tix.StringVar(root) if self.opt.default is not None:self._value.set(self.opt.default) self.TkLabel=Tix.Label(root, text=self.label+':') self.TkEntry=Tix.Entry(root, textvariable=self._value) #self.TkEntry.bind('<Key>', self.keypress) self.TkLabel.grid(row=row, column=0,sticky=Tix.W) self.TkEntry.grid(row=row, column=1,sticky=Tix.E+Tix.W, padx=2) if self.tooltip: self.TkLabelToolTip=_ToolTip(self.TkLabel, delay=250, follow_mouse=1, text=self.tooltip) self.TkEntryToolTip=_ToolTip(self.TkEntry, delay=250, follow_mouse=1, text=self.tooltip) self._value.trace('w',self.callback) self.enabled=self.enabled #Force update
def __init__(self): self.top = Tix.Toplevel() frame = Tix.Frame(self.top) frame2 = Tix.Frame(frame) self.apropos_str = Tix.StringVar() btn = Tix.Button(frame2, text='Apropos:', command=self.Apropos) entry = Tix.Entry(frame2, relief=Tix.SUNKEN, width=20) entry['textvariable'] = self.apropos_str entry.bind('<Return>', self.Apropos) btn.pack(side=Tix.LEFT, expand=0) entry.pack(side=Tix.RIGHT, expand=1, fill=Tix.X) frame2.pack(side=Tix.TOP, expand=0, fill=Tix.X) self.stext = Tix.ScrolledText(frame) self.stext.text.tag_config('!', font=BOLDFONT) btn = Tix.Button(frame, text='Close', command=self.Quit) self.stext.pack(side=Tix.TOP, expand=1, fill=Tix.BOTH) btn.pack(side=Tix.BOTTOM, expand=0, fill=Tix.X) frame.pack(expand=1, fill=Tix.BOTH)
def __init__(self, pipe): self.top = Tix.Toplevel() frame = Tix.Frame(self.top) frame2 = Tix.Frame(frame) self.search_str = Tix.StringVar() self.case_sensitive = Tix.StringVar() btn = Tix.Button(frame2, text='Regexp Search:', command=self.Search) entry = Tix.Entry(frame2, relief=Tix.SUNKEN) entry['textvariable'] = self.search_str entry.bind('<Return>', self.Search) casesense = Tix.Checkbutton(frame2, text='Case Sensitive', relief=Tix.FLAT, variable=self.case_sensitive) btn.pack(side=Tix.LEFT, expand=0) entry.pack(side=Tix.LEFT, expand=1, fill=Tix.X) casesense.pack(side=Tix.RIGHT, expand=0) self.man = ManPageWidget(frame) btn = Tix.Button(frame, text='Close', command=self.Quit) frame2.pack(side=Tix.TOP, expand=0, fill=Tix.X) self.man.pack(side=Tix.TOP, expand=1, fill=Tix.BOTH) btn.pack(side=Tix.BOTTOM, expand=0, fill=Tix.X) frame.pack(expand=1, fill=Tix.BOTH) self.man.parsefile(pipe)
def __init__(self, name, default, count, handler, labels=None, longtext=False): self.handler = handler Tix.Toplevel.__init__(self) self.title(name) self.longtext = longtext sw = Tix.ScrolledWindow(self) self.values = sw.window if (labels == None): if (count == 1): label = Tix.Label(self.values, text="Value:") else: label = Tix.Label(self.values, text="Value(s):") pass label.grid(row=0, column=0, sticky="e") self.fields = [] row = 0 for i in range(0, count): if (isbool(default[i])): field = Tix.BooleanVar() field.set(default[i]) w = Tix.Checkbutton(self.values, variable=field) pass elif longtext: field = Tix.Text(self.values) field.insert("1.0", str(default[i])) w = field else: field = Tix.Entry(self.values) field.insert("0", str(default[i])) w = field pass w.grid(row=row, column=1, sticky="ew") row += 1 self.fields.append(field) pass pass else: self.fields = [] row = 0 for i in range(0, count): label = Tix.Label(self.values, text=labels[i]) label.grid(row=row, column=0) if (isbool(default[i])): field = Tix.BooleanVar() field.set(default[i]) w = Tix.Checkbutton(self.values, variable=field) pass elif longtext: field = Tix.Text(self.values) field.insert("1.0", str(default[i])) w = field else: field = Tix.Entry(self.values) field.insert("0", str(default[i])) w = field pass self.fields.append(field) w.grid(row=row, column=1, sticky="ew") row += 1 pass pass sw.pack(side=Tix.TOP, fill=Tix.BOTH, expand=1) self.errstr = gui_errstr.ErrStr(self) self.errstr.pack(side=Tix.TOP, fill=Tix.X, expand=1) bbox = Tix.ButtonBox(self) bbox.add("cancel", text="Cancel", command=lambda w=self: w.cancel()) bbox.add("ok", text="Ok", command=lambda w=self: w.ok()) bbox.pack(side=Tix.BOTTOM, fill=Tix.X, expand=1) self.bind("<Destroy>", self.OnDestroy) return
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 __init__(self, parent, out): self.page = parent self.out = out self.flag = 'c' # self.place = len(self.page.linelist) self.place = self.out.instrument.outlist.index(self.out) self.mute = tk.BooleanVar() self.mute.set(self.out.mute) self.mute.trace("w", self.mutechange) self.solo = tk.BooleanVar() self.solo.set(self.out.solo) self.solo.trace("w", self.solochange) self.volume = tk.DoubleVar() self.volume.set(self.out.volume) self.volume.trace("w", self.volumechange) self.instnum = tk.StringVar() self.instnum.set(self.out.instnum) self.instnum.trace("w", self.instnumchange) self.csdstring = tk.StringVar() self.csdstring.set(self.out.pfields) self.csdstring.trace("w", self.csdstringchange) self.frame = tk.Frame(self.page.toprow, bd=5, relief="ridge") self.frame.grid(row=self.place, column=0, columnspan=2, sticky='ew') self.frame.columnconfigure(0, weight=0) self.frame.columnconfigure(1, weight=0) self.frame.columnconfigure(2, weight=0) self.frame.columnconfigure(3, weight=0) self.frame.columnconfigure(4, weight=0) self.frame.columnconfigure(5, weight=0) self.frame.columnconfigure(6, weight=0) self.frame.columnconfigure(7, weight=0) self.frame.columnconfigure(8, weight=1) self.field1 = tk.Entry(self.frame, width=2) self.field1.grid(row=0, column=0, sticky='w', pady=10, padx=20) self.field1.insert(0, 'c') self.field1.configure(state='disabled') self.mutewidget = tk.Checkbutton(self.frame, height=1, width=1, variable=self.mute, bg='#ffaaaa', selectcolor='#996666', padx=2, pady=0, indicatoron=0, activebackground='#ff8888') self.mutewidget.grid(row=0, column=1, rowspan=1) self.solowidget = tk.Checkbutton(self.frame, height=1, width=1, variable=self.solo, bg='#aaffaa', selectcolor='#669966', padx=2, pady=0, indicatoron=0, activebackground='#88ff88') self.solowidget.grid(row=0, column=2, rowspan=1) self.field2label = tk.Label(self.frame, text="inst") self.field2label.grid(row=0, column=self.page.cc1, rowspan=1, columnspan=self.page.ccs1, sticky='w') self.field2 = tk.Entry(self.frame, width=8, textvariable=self.instnum) self.field2.grid(row=0, column=self.page.cc2, rowspan=1, columnspan=self.page.ccs2, sticky='w') self.field2.focus_set() self.field2.select_range(0, "end") self.field2.bind("<FocusOut>", self.stringupdate) self.field3label = tk.Label(self.frame, text=" time dur ") self.field3label.grid(row=0, column=self.page.cc3, rowspan=1, columnspan=self.page.ccs3) self.field3 = tk.Entry(self.frame, width=30, textvariable=self.csdstring) self.field3.grid(row=0, column=self.page.cc4, rowspan=1, columnspan=self.page.ccs4, sticky='w') self.field3.bind("<FocusOut>", self.stringupdate) self.x = tk.Button(self.frame, text="x", padx=0, pady=0, command=self.remove) self.x.grid(row=0, column=self.page.cc5, sticky='e', padx=40) self.volumewidget = tk.Scale(self.frame, orient="horizontal", width=7, fg='#552288', sliderlength=10, sliderrelief='raised', tickinterval=10, from_=-90, to=10, resolution=.1, variable=self.volume) self.volumewidget.set(self.out.volume) self.volumewidget.grid(row=1, column=0, columnspan=11, sticky='ew', pady=2) self.page.widget.update_idletasks() bottomy = self.page.toprow.winfo_reqheight() self.page.canvas.coords(self.page.botrowoncanvas, 0, bottomy) self.page.canvas.config(scrollregion=self.page.canvas.bbox("all")) self.page.canvas.yview_moveto(1.0) if self.page.scroll.winfo_ismapped(): # print self.page.scroll.get() pass else: self.page.widget.update_idletasks() # print self.page.scroll.get() if self.page.scroll.get() != (0.0, 1.0): self.page.scroll.grid(row=1, column=1, sticky='ns')
def __init__(self, master=None): Tk.Frame.__init__(self, master) self.pack() self.entrythingy = Tix.Entry().pack() self.Listthingy = Tix.Listbox(name= 'lbb').pack()
def configureGUI(): global packetHistory, maxSizeControl, toSendEntry, baudRateOptionMenu, timeoutControl, receiveOptionMenu global transmitOptionMenu, maxSizeControl, packetHeaderEntry, portStringOptionMenu, transmitButton root.title( '::: MIT Media Lab ::: Responsive Environments Group ::: Serial Terminal :::' ) # -- window setup mainFrame = Tix.Frame(root, width=WIDTH, height=HEIGHT) mainFrame.bind(sequence='<Destroy>', func=windowDestroyed) mainFrame.pack(fill=Tix.BOTH) # -- packet history display setup packetHistory = Tix.Text(mainFrame, height=WINDOW_HEIGHT) packetHistory.config(state=Tix.DISABLED, font='courier') # -- transmit packet entry setup transmitFrame = Tix.Frame(mainFrame) transmitButton = Tix.Button(master=transmitFrame, text="Transmit packet: ", command=sendUserPacket, state=Tix.DISABLED) toSendEntry = Tix.Entry(master=transmitFrame, textvariable=transmitPacketString) transmitButton.pack(side=Tix.TOP, fill=Tix.X) toSendEntry.pack(side=Tix.TOP, fill=Tix.X) # -- conrols setup controlsFrame = Tix.Frame(mainFrame) # -- serial port controls setup serialPortControlsLabelFrame = Tix.LabelFrame(controlsFrame, label="Serial Port Settings") serialPortControlsFrame = serialPortControlsLabelFrame.frame openOrCloseButton = Tix.Button(master=serialPortControlsFrame, text="Open", command=openOrCloseConnection, width=5, textvariable=openOrCloseString) openOrCloseButton.pack(fill=Tix.X, side=Tix.TOP) portStringOptionMenu = Tix.OptionMenu( master=serialPortControlsFrame, label="Serial port: ", variable=portString, options= 'label.width 25 label.anchor e menubutton.width 15 menubutton.anchor w' ) for p in range(4): portStringOptionMenu.add_command(candidates[p], label=candidates[p]) portStringOptionMenu.pack(fill=Tix.X, side=Tix.TOP) baudRateOptionMenu = Tix.OptionMenu( master=serialPortControlsFrame, label="Baud rate: ", variable=baudRateString, options= 'label.width 25 label.anchor e menubutton.width 15 menubutton.anchor w' ) ## TODO : The enumeration of baud rates should come from the 'serial' module. for r in [300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200]: baudRateOptionMenu.add_command(r, label=r) baudRateOptionMenu.pack(fill=Tix.X, side=Tix.TOP) timeoutControl = Tix.Control(serialPortControlsFrame, label="Packet timeout (seconds): ", variable=packetTimeout, min=0, inc=lambda x: float(x) + 0.001, dec=lambda x: float(x) - 0.001) timeoutControl.label.config(width=25, anchor='e') timeoutControl.pack(fill=Tix.X, side=Tix.TOP) serialPortControlsLabelFrame.pack(side=Tix.LEFT) # -- packet controls setup packetControlsLabelFrame = Tix.LabelFrame(controlsFrame, label="Packet Settings") packetControlsFrame = packetControlsLabelFrame.frame receiveOptionMenu = Tix.OptionMenu( master=packetControlsFrame, label="Decode receptions as: ", variable=receiveMode, command=updateHeader, options= 'label.width 25 label.anchor e menubutton.width 15 menubutton.anchor w' ) for choice in receiveFilters.keys(): receiveOptionMenu.add_command(choice, label=choice) receiveOptionMenu.pack(fill=Tix.X, side=Tix.TOP) transmitOptionMenu = Tix.OptionMenu( master=packetControlsFrame, label="Encode transmissions as: ", variable=transmitMode, options= 'label.width 25 label.anchor e menubutton.width 15 menubutton.anchor w' ) for choice in transmitFilters.keys(): transmitOptionMenu.add_command(choice, label=choice) transmitOptionMenu.pack(fill=Tix.X, side=Tix.TOP) packetHeaderEntry = Tix.LabelEntry( packetControlsFrame, label="Look for packet header: ", options='label.width 25 label.anchor e entry.width 15 entry.anchor w') packetHeaderEntry.entry.config(textvariable=packetHeaderString) packetHeaderEntry.pack(fill=Tix.X, side=Tix.TOP) maxSizeControl = Tix.Control(packetControlsFrame, label="Max packet size (bytes): ", variable=maxPacketSize, min=1) maxSizeControl.label.config(width=25, anchor='e') maxSizeControl.pack(fill=Tix.X, side=Tix.TOP) packetControlsLabelFrame.pack(side=Tix.RIGHT) # -- pack the window up packetHistory.pack(fill=Tix.BOTH, side=Tix.TOP) transmitFrame.pack(fill=Tix.X, side=Tix.TOP) controlsFrame.pack(side=Tix.BOTTOM, fill=Tix.X) # -- menu bar setup mainMenu = Tix.Menu(root) # -- file menu fileMenu = Tix.Menu(mainMenu, tearoff=0) fileMenu.add_separator() fileMenu.add_command(label="Quit", command=quit) mainMenu.add_cascade(label="File", menu=fileMenu) # -- info menu infoMenu = Tix.Menu(mainMenu, tearoff=0) infoMenu.add_command(label="About...") mainMenu.add_cascade(label="Help", menu=infoMenu) # -- add menu to frame root.config(menu=mainMenu) # -- set global variable defaults receiveMode.set(oldReceiveMode) transmitMode.set(oldTransmitMode) maxPacketSize.set(38) packetTimeout.set(0.001) portString.set(candidates[0]) baudRateString.set(115200) openOrCloseString.set('Open')
def __init__(self, parent, bindir): self.root = parent self.bindir = bindir self.choices_ts = [ 'Displacement (filtered)', 'Acceleration (filtered)', 'Acceleration (unfiltered)' ] self.hist_old = self.choices_ts[0] self.spec_old = self.choices_ts[1] self.p = {} # dictionary to hold all Tk variables self.p['pmax'] = Tk.IntVar() self.p['pmax'].set(0) self.p['fltrng'] = Tk.IntVar() self.p['fltrng'].set(1) self.p['cutrng'] = Tk.IntVar() self.p['cutrng'].set(1) self.p['pltlog2'] = Tk.IntVar() self.p['pltlog2'].set(0) self.p['pltgrid'] = Tk.IntVar() self.p['pltgrid'].set(1) if self.bindir is None: self.choose_bin_directory() if self.bindir == '': sys.exit() ### Window layout setup self.root = parent self.entry_frame = Tk.Frame(root) self.entry_frame.pack(side='top', pady=5) self.eq_frame = Tk.Frame(root, borderwidth=2, relief='sunken') self.eq_frame.pack(side='top', fill=Tk.BOTH, expand=0) self.figure_frame = Tk.Frame(root) self.figure_frame.pack(side='top', anchor='n', expand=1, fill=Tk.BOTH) self.left_frame = Tk.Frame(self.figure_frame) self.left_frame.pack(side='left', anchor='n', expand=1, fill=Tk.BOTH) self.right_frame = Tk.Frame(self.figure_frame) self.right_frame.pack(side='left', anchor='n', expand=1, fill=Tk.BOTH) self.nav_frame = Tk.Frame(self.figure_frame) self.nav_frame.pack(side='right', anchor='center', expand=0, fill='none') self.root.wm_title("Strong motion analyser") self.f1 = Figure(figsize=(5., 5.), dpi=100) self.f2 = Figure(figsize=(6.4, 5.), dpi=100) self.canvas1 = FigureCanvasTkAgg(self.f1, master=self.left_frame) self.canvas2 = FigureCanvasTkAgg(self.f2, master=self.right_frame) self.canvas1.show() self.canvas1.get_tk_widget().pack(side='left', expand=1, fill=Tk.BOTH) self.canvas2.get_tk_widget().pack(side='left', expand=1, fill=Tk.BOTH) toolbar = NavigationToolbar2TkAgg(self.canvas1, self.left_frame) toolbar.update() self.canvas1._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) toolbar1 = NavigationToolbar2TkAgg(self.canvas2, self.right_frame) toolbar1.update() self.canvas2._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) DataHandler.__init__(self, self.bindir) PlotIterator.__init__(self) # Make initial plot of first record self.plotcanvas() # set line length of input file; needed to add comments to line # set number of points variable self.p['starttrim'] = Tk.IntVar() self.p['starttrim'].set(self.startt) self.p['endtrim'] = Tk.IntVar() self.p['endtrim'].set(self.endt) self.p['demean'] = Tk.IntVar() self.p['demean'].set(self.dmn) self.p['detrend'] = Tk.IntVar() self.p['detrend'].set(self.dtrnd) # set filter to default filter self.p['hlow'] = Tk.DoubleVar() self.p['hlow'].set(self.highp[0]) self.p['hhgh'] = Tk.DoubleVar() self.p['hhgh'].set(self.highp[1]) # setting up spin boxes for cutting trim_cntrl_st = Tk.Control(self.entry_frame, label='start', integer=True, step=1, variable=self.p['starttrim']) trim_cntrl_st.entry.config(font=10) trim_cntrl_st.label.config(font=10) trim_cntrl_st.pack(side='left', padx=5) trim_cntrl_ed = Tk.Control(self.entry_frame, label='end', integer=True, step=1, variable=self.p['endtrim']) trim_cntrl_ed.entry.config(font=10) trim_cntrl_ed.label.config(font=10) trim_cntrl_ed.pack(side='left', padx=5) # setting up trim button trim_button = Tk.Button(self.entry_frame, text='Cut', width=8, command=self.recalc, font=10) trim_button.pack(side='left', padx=10) # setting up spin boxes for filtering hp_cntrl_lw = Tk.Control(self.entry_frame, label='cutoff', max=10, min=0, integer=False, step=0.01, variable=self.p['hlow']) hp_cntrl_lw.entry.config(font=10) hp_cntrl_lw.label.config(font=10) hp_cntrl_lw.pack(side='left', padx=5) hp_cntrl_hg = Tk.Control(self.entry_frame, label='corner', max=10, min=0, integer=False, step=0.01, variable=self.p['hhgh']) hp_cntrl_hg.entry.config(font=10) hp_cntrl_hg.label.config(font=10) hp_cntrl_hg.pack(side='left', padx=5) # setting up filter button flt_button = Tk.Button(self.entry_frame, text='Filter', width=8, command=self.recalc, font=10) flt_button.pack(side='left', padx=10) # setting up combo box for spectra spec_box = Tk.ComboBox(self.entry_frame, label='Spectra', editable=False, dropdown=True, command=self.choose_spec, value=self.choices_ts[1]) spec_box.insert('end', self.choices_ts[0]) spec_box.insert('end', self.choices_ts[1]) spec_box.insert('end', self.choices_ts[2]) spec_box.label.config(font=10) spec_box.entry.config(font=10) #spec_box.listbox.config(font=10) spec_box.pack(side='left', padx=10) # setting up combo box for timeseries hist_box = Tk.ComboBox(self.entry_frame, label='Timeseries', editable=False, dropdown=True, command=self.choose_ts, value=self.choices_ts[0]) hist_box.insert('end', self.choices_ts[0]) hist_box.insert('end', self.choices_ts[1]) hist_box.insert('end', self.choices_ts[2]) hist_box.label.config(font=10) hist_box.entry.config(font=10) hist_box.pack(side='left', padx=10) # setting up earthquake info frame self.evtime = Tk.Label(self.eq_frame, text='Event time: %s' % self.v2.stream[0].stats. smdict.eventtime.strftime("%d/%m/%Y %H:%M:%S"), font=10, padx=20) self.evtime.pack(side='left') self.eqdist = Tk.Label(self.eq_frame, text='Epicentral distance: %d km' % self.v2.stream[0].stats.smdict.epicdist, font=10, padx=20) self.eqdist.pack(side='left') self.hdep = Tk.Label(self.eq_frame, text='Hypocentral depth: %d km' % self.v2.stream[0].stats.smdict.hypodep, font=10, padx=20) self.hdep.pack(side='left') self.lmag = Tk.Label(self.eq_frame, text='Local magnitude: %.2f' % self.v2.stream[0].stats.smdict.Ml, font=10, padx=20) self.lmag.pack(side='left') a = self.data[0].split() fname = a[0].split('_') if len(fname) > 3: # building site self.sensname = fname[2] + "/" + fname[3] else: # single instrument accelerometer self.sensname = fname[2] self.sens = Tk.Label(self.eq_frame, text='Sensor name: %s' % self.sensname, font=10, padx=20) self.sens.pack(side='left') # setting up navigation and save button p_button = Tk.Button(self.nav_frame, text='Previous', width=8, command=self.prev, font=10) p_button.pack(side='top', fill='x', anchor='center') n_button = Tk.Button(self.nav_frame, text='Next', width=8, command=self.next, font=10) n_button.pack(side='top', fill='x', anchor='center') n_button = Tk.Button(self.nav_frame, text='Save', width=8, command=self.savefile, font=10) n_button.pack(side='top', fill='x', anchor='center') # setting up radio buttons detrend = Tk.Checkbutton(self.nav_frame, text='Detrend', command=self.recalc, variable=self.p['detrend'], indicatoron=0, width=4, font=10) detrend.pack(side='top', fill='x', anchor='center') baldetrend = Tk.Balloon(self.nav_frame) baldetrend.bind_widget( detrend, balloonmsg= 'Choose whether to subtract linear trend from Volume 1 acceleration timeseries.' ) demean = Tk.Checkbutton(self.nav_frame, text='Demean', command=self.recalc, variable=self.p['demean'], indicatoron=0, width=4, font=10) demean.pack(side='top', fill='x', anchor='center') baldemean = Tk.Balloon(self.nav_frame) baldemean.bind_widget( demean, balloonmsg= 'Choose whether to subtract mean from Volume 1 acceleration timeseries.' ) maxb = Tk.Checkbutton(self.nav_frame, text='Max', command=self.plotmax, variable=self.p['pmax'], indicatoron=0, width=4, font=10) maxb.pack(side='top', fill='x', anchor='center') balmaxb = Tk.Balloon(self.nav_frame) balmaxb.bind_widget(maxb, balloonmsg='Plot maxima of timeseries.') fltrng = Tk.Checkbutton(self.nav_frame, text='Fltrng', command=self.plotfltrng, variable=self.p['fltrng'], indicatoron=0, width=4, font=10) fltrng.pack(side='top', fill='x', anchor='center') balfltrng = Tk.Balloon(self.nav_frame) balfltrng.bind_widget( fltrng, balloonmsg='Plot cutoff and corner frequencies of highpass filter.' ) cutrng = Tk.Checkbutton(self.nav_frame, text='Cutrng', command=self.plotmax, variable=self.p['cutrng'], indicatoron=0, width=4, font=10) cutrng.pack(side='top', fill='x', anchor='center') balcutrng = Tk.Balloon(self.nav_frame) balcutrng.bind_widget(cutrng, balloonmsg='Plot cutting window.') pltlog2 = Tk.Checkbutton(self.nav_frame, text='log2', command=self.plotfltrng, variable=self.p['pltlog2'], indicatoron=0, width=4, font=10) pltlog2.pack(side='top', fill='x', anchor='center') balpltlog2 = Tk.Balloon(self.nav_frame) balpltlog2.bind_widget( pltlog2, balloonmsg= 'Plot line with slope 2.0 through the maximum of the power spectrum.' ) pltgrid = Tk.Checkbutton(self.nav_frame, text='Grid', command=self.plotfltrng, variable=self.p['pltgrid'], indicatoron=0, width=4, font=10) pltgrid.pack(side='top', fill='x', anchor='center') balpltgrid = Tk.Balloon(self.nav_frame) balpltgrid.bind_widget(pltgrid, balloonmsg='Plot grid lines.') # setting up comment button self.p['comment'] = Tk.StringVar() cmnt_button = Tk.Button(self.nav_frame, text='Comment', width=8, command=self.add_comment, font=10) cmnt_button.pack(side='top', fill='x', anchor='center') cmnt_ent = Tk.Entry(self.nav_frame, textvariable=self.p['comment'], width=8) cmnt_ent.pack(side='top', fill='x', anchor='center') balcmnt = Tk.Balloon(self.nav_frame) balcmnt.bind_widget( cmnt_button, balloonmsg= 'Add a comment to the corresponding line in the input file.')
def __init__(self, parent, inst): self.myparent = parent self.myinst = inst number = self.myinst.number self.linelist = [] self.mute = tk.BooleanVar() self.mute.set(self.myinst.mute) self.mute.trace("w", self.mutechange) self.solo = tk.BooleanVar() self.solo.set(self.myinst.solo) self.solo.trace("w", self.solochange) self.widget = self.myparent.nb.add('inst%.4d' % number, label='i%d' % number, raisecmd=lambda arg1=0.0: self.canvas.yview_moveto(arg1)) self.widget.rowconfigure(0, weight=0) self.widget.rowconfigure(1, weight=1) # self.widget.rowconfigure(2, weight=1) # self.widget.rowconfigure(3, weight=1) self.widget.columnconfigure(0, weight=1) # self.widget.columnconfigure(1, weight=1) self.toprow = tk.Frame(self.widget) self.toprow.grid(row=0, column=0, sticky='we') self.toprow.columnconfigure(0, weight=0) self.toprow.columnconfigure(1, weight=0) self.toprow.columnconfigure(2, weight=0) self.toprow.columnconfigure(3, weight=1) self.canvas = tk.Canvas(self.widget) self.canvas.grid(row=1, column=0, sticky='nesw') self.canvas.rowconfigure(2, weight=1) self.canvas.columnconfigure(0, weight=1) self.midrow = tk.Frame(self.canvas) # self.midrow.grid(row=0, column=0, sticky='we') self.midrowoncanvas = self.canvas.create_window(0, 0, window=self.midrow, anchor="nw") self.midrow.columnconfigure(0, weight=0) self.midrow.columnconfigure(1, weight=1) self.botrow = tk.Frame(self.canvas, bd=5, relief="ridge") # self.botrow.grid(row=1, column=0, sticky='we') self.botrow.columnconfigure(0, weight=0) self.botrow.columnconfigure(1, weight=1) # self.scroll = tk.Scrollbar(self.widget, orient='vertical', takefocus=0, troughcolor="#ccaaaa", activebackground="#cc7777", bg="#cc8f8f") self.scroll = tk.Scrollbar(self.widget, orient='vertical', takefocus=0) self.canvas.config(yscrollcommand=self.scroll.set) self.canvas.config(scrollregion=self.canvas.bbox("all")) self.scroll.config(command=self.canvas.yview) self.myparent.outputfr.bind("<Button-4>", lambda event, arg1="scroll", arg2=-1, arg3="units": self.canvas.yview(arg1, arg2, arg3), "+") self.myparent.outputfr.bind("<Button-5>", lambda event, arg1="scroll", arg2=1, arg3="units": self.canvas.yview(arg1, arg2, arg3), "+") # self.scroll.grid(row=1, column=1, sticky='ns') # SF2 LINE GRID COLUMNS self.sc1 = 3 self.scs1 = 1 self.sc2 = 4 self.scs2 = 1 self.sc3 = 5 self.scs3 = 1 self.sc4 = 6 self.scs4 = 1 self.sc5 = 7 self.scs5 = 1 self.sc6 = 8 self.scs6 = 1 self.sc7 = 9 self.scs7 = 1 # CSOUND LINE GRID COLUMNS self.cc1 = 3 self.ccs1 = 1 self.cc2 = 4 self.ccs2 = 1 self.cc3 = 5 self.ccs3 = 1 self.cc4 = 6 self.ccs4 = 1 self.cc5 = 7 self.ccs5 = 1 self.color = tk.StringVar() self.color.set(self.myinst.color) self.color.trace("w", self.colorchange) self.colorwidget = tk.Frame(self.toprow, width=40, height=40, bg=self.color.get()) self.colorwidget.grid(row=0, column=0, padx=10) self.colorwidget.bind("<Button-1>", self.colorchoose) self.mutewidget = tk.Checkbutton(self.toprow, bg='#ffaaaa', text='M', variable=self.mute, indicatoron=1, activebackground='#ffaaaa', selectcolor='#ff0000', width=1, height=1, bd=2, highlightthickness=0) self.mutewidget.grid(row=0, column=1, padx=4) self.solowidget = tk.Checkbutton(self.toprow, bg='#00aa00', text='S', variable=self.solo, indicatoron=1, activebackground='#00aa00', selectcolor='#00ff00', width=1, height=1, bd=2, highlightthickness=0) self.solowidget.grid(row=0, column=2) self.blank = tk.Entry(self.botrow, width=2) self.blank.grid(row=0, column=0, pady=10, padx=20, sticky='w') self.blank.bind("<Tab>", self.outputselect) self.widget.update_idletasks() bottomy = self.midrow.winfo_reqheight() # print bottomy self.botrowoncanvas = self.canvas.create_window(0, bottomy, window=self.botrow, anchor="nw")
def body(self,master): self.title('sudo Password') Tix.Label(master,text='Password: '******'*') self.entPWD.grid(row=0,column=1) return self.entPWD
def __init__(self, parent, meter, bar, top, bottom, number): self.myparent = parent self.meter = meter self.number = number self.frame = tk.Frame(self.myparent.toprow, bd=4, relief='ridge') self.frame.grid(row=self.number, column=0, sticky='ew') self.bar = tk.IntVar() self.bar.set(bar) self.bar.trace("w", self.barchange) self.barlabel = tk.Label(self.frame, text="Bar:") self.barlabel.grid(row=0, column=0, padx=4, sticky='e') self.barwidget = tk.Control(self.frame, min=1, max=99999, width=4, variable=self.bar) self.barwidget.grid(row=0, column=1, padx=4, sticky='') self.top = tk.IntVar() self.top.set(top) self.top.trace("w", self.topchange) self.toplabel = tk.Label(self.frame, text="Top:") self.toplabel.grid(row=0, column=2, padx=4, sticky='e') self.topwidget = tk.Control(self.frame, min=1, max=32, width=2, variable=self.top) self.topwidget.grid(row=0, column=3, padx=4, sticky='') self.bottom = tk.IntVar() self.bottom.set(bottom) self.bottom.trace("w", self.bottomchange) self.bottomlabel = tk.Label(self.frame, text="Bottom:") self.bottomlabel.grid(row=0, column=4, padx=4, sticky='e') self.bottomwidget = tk.Entry(self.frame, width=4, textvariable=self.bottom) self.bottomwidget.grid(row=0, column=5, padx=4) self.x = tk.Button(self.frame, text="x", padx=0, pady=0, command=self.remove) self.x.grid(row=0, column=6, sticky='e', padx=40) self.myparent.meterfr.update_idletasks() bottomy = self.myparent.toprow.winfo_reqheight() # print bottomy self.myparent.canvas.coords(self.myparent.botrowoncanvas, 0, bottomy) if self.myparent.scroll.winfo_ismapped(): # print self.page.scroll.get() pass else: self.myparent.meterfr.update_idletasks() # print self.page.scroll.get() if self.myparent.scroll.get() != (0.0, 1.0): self.myparent.scroll.grid(row=1, column=1, sticky='ns') self.myparent.canvas.config( scrollregion=self.myparent.canvas.bbox("all")) self.myparent.canvas.yview_moveto(1.0) if self.myparent.scroll.winfo_ismapped(): # print self.page.scroll.get() pass else: self.myparent.meterfr.update_idletasks() # print self.page.scroll.get() if self.myparent.scroll.get() != (0.0, 1.0): self.myparent.scroll.grid(row=0, column=1, sticky='ns')
def __init__(self, parent, tempo, bar, beat, bpm, unit, number): self.myparent = parent self.tempo = tempo self.number = number self.frame = tk.Frame(self.myparent.toprow, bd=4, relief='ridge') self.frame.grid(row=self.number, column=0, sticky='ew') self.bar = tk.IntVar() self.bar.set(bar) self.bar.trace("w", self.barchange) self.barlabel = tk.Label(self.frame, text="Bar:") self.barlabel.grid(row=0, column=0, padx=4, sticky='e') self.barwidget = tk.Control(self.frame, min=1, max=99999, width=4, variable=self.bar) self.barwidget.grid(row=0, column=1, padx=4, sticky='') self.beat = tk.IntVar() self.beat.set(beat) self.beat.trace("w", self.beatchange) self.beatlabel = tk.Label(self.frame, text="Beat:") self.beatlabel.grid(row=0, column=2, padx=4, sticky='e') self.beatwidget = tk.Control(self.frame, min=1, max=32, width=2, variable=self.beat) self.beatwidget.grid(row=0, column=3, padx=4, sticky='') self.bpm = tk.DoubleVar() self.bpm.set(bpm) self.bpm.trace("w", self.bpmchange) self.bpmlabel = tk.Label(self.frame, text="BPM:") self.bpmlabel.grid(row=0, column=4, padx=4, sticky='e') self.bpmwidget = tk.Entry(self.frame, width=4, textvariable=self.bpm) self.bpmwidget.grid(row=0, column=5, padx=4) self.unit = tk.IntVar() self.unit.set(unit) self.unit.trace("w", self.unitchange) self.unitlabel = tk.Label(self.frame, text="Unit:") self.unitlabel.grid(row=0, column=6, padx=4, sticky='e') self.unitwidget = tk.ComboBox(self.frame, variable=self.unit, editable=0) self.unitwidget.entry.configure(width=3) self.unitwidget.append_history(1) self.unitwidget.append_history(2) self.unitwidget.append_history(3) self.unitwidget.append_history(4) self.unitwidget.append_history(6) self.unitwidget.append_history(8) self.unitwidget.append_history(12) self.unitwidget.append_history(16) self.unitwidget.entry.configure(width=3) # for value in ('Sixteenth', 'Dotted Sixteenth', 'Eighth', 'Dotted Eighth', 'Quarter', 'Dotted Quarter', 'Half', 'Dotted Half', 'Whole'): # self.unitwidget.append_history(value) self.unitwidget.grid(row=0, column=7, padx=4, sticky='') self.x = tk.Button(self.frame, text="x", padx=0, pady=0, command=self.remove) self.x.grid(row=0, column=8, sticky='e', padx=40) self.myparent.tempofr.update_idletasks() bottomy = self.myparent.toprow.winfo_reqheight() # print bottomy self.myparent.canvas.coords(self.myparent.botrowoncanvas, 0, bottomy) if self.myparent.scroll.winfo_ismapped(): # print self.page.scroll.get() pass else: self.myparent.tempofr.update_idletasks() # print self.page.scroll.get() if self.myparent.scroll.get() != (0.0, 1.0): self.myparent.scroll.grid(row=1, column=1, sticky='ns') self.myparent.canvas.config( scrollregion=self.myparent.canvas.bbox("all")) self.myparent.canvas.yview_moveto(1.0) if self.myparent.scroll.winfo_ismapped(): # print self.page.scroll.get() pass else: self.myparent.tempofr.update_idletasks() # print self.page.scroll.get() if self.myparent.scroll.get() != (0.0, 1.0): self.myparent.scroll.grid(row=0, column=1, sticky='ns')
def __init__(self, parent): self.toplevel = parent self.hl3_keys = None # thread variables self.preview_t = None self.mods = [] self._modq = Queue.Queue() self._scandir = None self.should_abort = None # control variables self.src_text = Tk.StringVar() self.dest_text = Tk.StringVar() self.scandir = Tk.StringVar() self.overwrite = Tk.IntVar() # frame 0 self.fr0 = Tk.Frame(self.toplevel) self.bu7 = Tix.Button( self.fr0, text="Scan", command=self.scan, ) self.bu8 = Tix.Button( self.fr0, text="Copy", command=self.copy, ) self.bu9 = Tix.Button( self.fr0, text="Exit", command=self.exit, ) self.bu9.pack(padx=5, pady=5, side="right") self.bu8.pack(padx=5, pady=5, side="right") self.bu7.pack(padx=5, pady=5, side="right") # frame 1 self.lf1 = Tk.LabelFrame( self.toplevel, text="MOD/MOI Directory (Source)", ) self.en1 = Tix.Entry(self.lf1, width=40, textvariable=self.src_text) self.bu1 = Tix.Button( self.lf1, text="Browse...", command=lambda: self.browse_preview(self.en1), ) self.bu1.pack(padx=5, pady=5, anchor="sw", side="right") self.en1.pack(padx=5, pady=5, fill="x") # frame 2 self.lf2 = Tk.LabelFrame( self.toplevel, text="MPG Directory (Destination)", ) self.en2 = Tk.Entry(self.lf2, width=40, textvariable=self.dest_text) self.bu2 = Tk.Button( self.lf2, text="Browse...", command=lambda: self.browse(self.en2), ) self.cb2 = Tk.Checkbutton( self.lf2, text="Overwrite files with same name", variable=self.overwrite, command=lambda: LOG.debug("%s", self.overwrite.get())) self.bu2.pack(padx=5, pady=5, side="right", anchor="n") self.en2.pack(padx=5, pady=5) self.cb2.pack() # frame 3 self.lf3 = Tk.LabelFrame(self.toplevel, padx=5, text="Preview") self.la3 = Tk.Label(self.lf3, width=65, anchor="w", textvariable=self.scandir) # manually add a scrollbar to HList # see also http://effbot.org/zone/tkinter-scrollbar-patterns.htm self.sb3 = Tk.Scrollbar(self.lf3, relief=Tk.SUNKEN) self.hl3 = Tix.HList(self.lf3, columns=4, header=True, yscrollcommand=self.sb3.set) self.sb3.config(command=self.hl3.yview) self.hl3.header_create(0, text="File") self.hl3.header_create(1, text="Date") self.hl3.header_create(2, text="Size") self.hl3.header_create(3, text="DAR") self.la3.pack(expand=True, fill="both") self.sb3.pack(side=Tk.RIGHT, fill="y", pady=5) self.hl3.pack(expand=True, fill="both", pady=5) # pack frames self.lf1.pack(padx=5, pady=5) self.lf2.pack(padx=5, pady=5) self.lf3.pack(padx=5, pady=5, expand=True, fill="both") self.fr0.pack(anchor="e", side=Tk.BOTTOM) self.bu8.config(state=Tk.DISABLED)
sizeThree = StringVar() creditCardType = StringVar() creditCardNumber = StringVar() month = StringVar() year = StringVar() securityNumber = StringVar() zipcodeTryTwo = StringVar() itemOne = StringVar() itemTwo = StringVar() itemThree = StringVar() userInfo.geometry("600x900") sw = tk.ScrolledWindow(userInfo, scrollbar=tk.Y) # just the vertical scrollbar sw.pack(fill=tk.BOTH, expand=1) nameLabel = tk.Label(sw.window, text="Enter full name").pack() nameEntry = tk.Entry(sw.window, textvariable=name).pack() emailLabel = tk.Label(sw.window, text="Enter Email").pack() emailEntry = tk.Entry(sw.window, textvariable=email).pack() phoneLabel = tk.Label(sw.window, text="Enter phone number").pack() phoneEntry = tk.Entry(sw.window, textvariable=phone).pack() addressLabel = tk.Label(sw.window, text="Enter address").pack() addressEntry = tk.Entry(sw.window, textvariable=address).pack() zipcodeLabel = tk.Label(sw.window, text="Enter 5 digit zipcode").pack() zipcodeEntry = tk.Entry(sw.window, textvariable=zipcode).pack() cityLabel = tk.Label(sw.window, text="Enter City").pack() cityEntry = tk.Entry(sw.window, textvariable=city).pack()
def __init__(self, parent, out): self.page = parent self.out = out self.flag = 's' self.place = self.out.instrument.outlist.index(self.out) self.mute = tk.BooleanVar() self.mute.set(self.out.mute) self.mute.trace("w", self.mutechange) self.solo = tk.BooleanVar() self.solo.set(self.out.solo) self.solo.trace("w", self.solochange) self.sf2file = tk.StringVar() self.sf2file.set(self.out.file) self.sf2file.trace("w", self.filechange) self.bank = tk.IntVar() self.bank.set(self.out.bank) self.bank.trace("w", self.bankchange) self.program = tk.IntVar() self.program.set(self.out.program) self.program.trace("w", self.programchange) self.csdstring = tk.StringVar() self.string = '' self.frame = tk.Frame(self.page.midrow, bd=5, relief="ridge") self.frame.columnconfigure(0, weight=0) self.frame.columnconfigure(1, weight=0) self.frame.columnconfigure(2, weight=0) self.frame.columnconfigure(3, weight=0) self.frame.columnconfigure(4, weight=0) self.frame.columnconfigure(5, weight=0) self.frame.columnconfigure(6, weight=0) self.frame.columnconfigure(7, weight=0) self.frame.columnconfigure(8, weight=0) self.frame.columnconfigure(9, weight=0) self.frame.columnconfigure(10, weight=1) self.field1 = tk.Entry(self.frame, width=2) self.field1.grid(row=0, column=0, sticky='w', pady=10, padx=20) self.field1.insert(0, 's') self.field1.configure(state='disabled') self.mutewidget = tk.Checkbutton(self.frame, height=1, width=1, variable=self.mute, bg='#ffaaaa', selectcolor='#996666', padx=2, pady=0, indicatoron=0, activebackground='#ff8888') self.mutewidget.grid(row=0, column=1, rowspan=1) self.solowidget = tk.Checkbutton(self.frame, height=1, width=1, variable=self.solo, bg='#aaffaa', selectcolor='#669966', padx=2, pady=0, indicatoron=0, activebackground='#88ff88') self.solowidget.grid(row=0, column=2, rowspan=1) self.field2label = tk.Label(self.frame, text="sf2") self.field2label.grid(row=0, column=self.page.sc1, rowspan=1, columnspan=self.page.scs1, sticky='w') self.field2 = tk.ComboBox(self.frame, variable=self.sf2file, editable=0, value="Load") self.field2.entry.configure(width=10) self.field2.grid(row=0, column=self.page.sc2, rowspan=1, columnspan=self.page.scs2, sticky='w', padx=0) self.field2.focus_set() # self.field2.appendhistory("Load") self.field3label = tk.Label(self.frame, text=" bank") self.field3label.grid(row=0, column=self.page.sc3, rowspan=1, columnspan=self.page.scs3, sticky='w') self.field3 = tk.Control(self.frame, min=0, max=128, variable=self.bank) self.field3.grid(row=0, column=self.page.sc4, rowspan=1, columnspan=self.page.scs4, sticky='w') self.field4label = tk.Label(self.frame, text=" prog") self.field4label.grid(row=0, column=self.page.sc5, rowspan=1, columnspan=self.page.scs5, sticky='w') self.field4 = tk.Control(self.frame, min=0, max=128, variable=self.program) self.field4.grid(row=0, column=self.page.sc6, rowspan=1, columnspan=self.page.scs6, sticky='w') self.x = tk.Button(self.frame, text="x", padx=0, pady=0, command=self.remove) self.x.grid(row=0, column=self.page.sc7, sticky='e', padx=40) self.volumewidget = tk.Scale(self.frame, orient="horizontal", width=7, fg='#552288', sliderlength=10, sliderrelief='raised', tickinterval=10, from_=-90, to=10, resolution=.1, variable=self.volume) self.volumewidget.grid(row=1, column=0, columnspan=11, sticky='ew', pady=2) self.page.widget.update_idletasks() bottomy = self.page.midrow.winfo_reqheight() self.page.canvas.coords(self.page.botrowoncanvas, 0, bottomy) self.page.canvas.config(scrollregion=self.page.canvas.bbox("all")) self.page.canvas.yview_moveto(1.0) if self.page.scroll.winfo_ismapped(): # print self.page.scroll.get() pass else: self.page.widget.update_idletasks() # print self.page.scroll.get() if self.page.scroll.get() != (0.0, 1.0): self.page.scroll.grid(row=1, column=1, sticky='ns') self.string = ''
def __init__(self, parent=None): self.myparent = parent self.myroot = self.myparent.myparent self.tempomaybe = copy.deepcopy(self.myparent.tempolist) self.tempofr = tk.Toplevel(self.myroot, width=480, height=360) self.tempofr.title("Tempo Changes") self.tempofr.rowconfigure(0, weight=1) self.tempofr.rowconfigure(1, weight=0) self.tempofr.columnconfigure(0, weight=1) self.tempobuttons = tk.ButtonBox(self.tempofr, width=480, height=360) self.tempobuttons.add('ok', text='OK', command=self.ok) self.tempobuttons.add('cancel', text='Cancel', command=self.cancel) self.tempobuttons.add('apply', text='Apply', command=self.apply) self.tempobuttons.add('sort', text='Sort', command=self.reorder) self.tempobuttons.grid(row=1, column=0, sticky='') self.canvas = tk.Canvas(self.tempofr, width=480, height=360) self.canvas.grid(row=0, column=0, sticky='nesw') self.canvas.rowconfigure(2, weight=1) self.canvas.columnconfigure(0, weight=1) self.toprow = tk.Frame(self.canvas) self.toprowoncanvas = self.canvas.create_window(0, 0, window=self.toprow, anchor="nw") self.toprow.columnconfigure(0, weight=0) self.toprow.columnconfigure(1, weight=1) self.botrow = tk.Frame(self.canvas, bd=3, relief="ridge") # self.botrow.grid(row=1, column=0, sticky='we') self.botrow.columnconfigure(0, weight=0) self.botrow.columnconfigure(1, weight=1) bottomy = self.toprow.winfo_reqheight() # print bottomy self.botrowoncanvas = self.canvas.create_window(0, bottomy, window=self.botrow, anchor="nw") self.tempolinelist = [] # print self.tempomaybe self.scroll = tk.Scrollbar(self.tempofr, orient='vertical', takefocus=0) self.canvas.config(yscrollcommand=self.scroll.set) self.canvas.config(scrollregion=self.canvas.bbox("all")) self.scroll.config(command=self.canvas.yview) self.tempofr.bind("<Button-4>", lambda event, arg1="scroll", arg2=-1, arg3="units": self.canvas.yview(arg1, arg2, arg3), "+") self.tempofr.bind("<Button-5>", lambda event, arg1="scroll", arg2=1, arg3="units": self.canvas.yview(arg1, arg2, arg3), "+") for tempo in self.tempomaybe: number = self.tempomaybe.index(tempo) newline = self.addtempoline(tempo, number) self.addbar = tk.IntVar() self.addbeat = tk.IntVar() self.addbpm = tk.DoubleVar() self.addunit = tk.IntVar() self.blankbar = tk.Entry(self.botrow, width=4, textvariable=self.addbar) self.blankbar.focus_set() self.blankbar.select_range(0, "end") self.blankbar.grid(padx=10, sticky='') self.blankbeat = tk.Entry(self.botrow, width=3, textvariable=self.addbeat) self.blankbeat.grid(row=0, column=1, padx=10, sticky='') self.blankbpm = tk.Entry(self.botrow, width=5, textvariable=self.addbpm) self.blankbpm.grid(row=0, column=2, padx=10, sticky='') self.blankunit = tk.ComboBox(self.botrow, editable=1, variable=self.addunit, listwidth=8) self.blankunit.entry.configure(width=3) self.blankunit.append_history(1) self.blankunit.append_history(2) self.blankunit.append_history(3) self.blankunit.append_history(4) self.blankunit.append_history(6) self.blankunit.append_history(8) self.blankunit.append_history(12) self.blankunit.append_history(16) self.blankunit.grid(row=0, column=3, padx=10, sticky='') self.blankaddtempo = tk.Button(self.botrow, text="Add Tempo", command=self.newtempo) self.blankaddtempo.grid(row=0, column=4, padx=10, rowspan=1) self.tempofr.update_idletasks() self.tempofr.bind("<Return>", self.ok) self.tempofr.bind("<Escape>", self.cancel)
def __create_widgets(self): frame = Tix.Frame( self, class_="Toolbar", borderwidth=2, padx=2, pady=2, relief="groove", ) self.cmdbar = frame frame.grid(sticky="we") self.itemlist_menu = Tix.OptionMenu( frame, label=_("Select Item:"), variable=self.var_itemname, command=self.select_item, options="label.relief flat label.anchor w " "menubutton.width 32 menubutton.relief groove" ) self.itemlist_menu.grid(sticky="we") b = Tix.Button( frame, text=_("Remove"), command=self.__action_remove, width=8, ) b.grid(row=0, column=1, padx=20) w = Tix.Label(frame, text=_("New item:")) w.grid(row=0, column=2, padx=2, sticky='e') w = Tix.Entry(frame, width=30) w.grid(row=0, column=3, padx=2, sticky='e') self.item_entry = w b = Tix.Button( frame, text=_("Add"), command=self.__action_add, width=8, ) b.grid(row=0, column=4, padx=4, sticky='e') b = Tix.Button( frame, text=_("Clone"), command=self.__action_clone, width=8, ) b.grid(row=0, column=5, padx=4) frame = Tix.Frame(self) frame.grid(sticky="nesw") frame.columnconfigure(1, weight=1) w = Tix.Frame( frame, borderwidth=2, padx=2, pady=2, relief="groove", ) w.grid(row=0, column=0, sticky="nesw") w.columnconfigure(0, weight=1) self.__create_property_window(w) self.item_canvas = VisualItem(self) self.item_canvas.grid(in_=frame, row=0, column=1, sticky="nesw") frame = Tix.Frame( self, class_="Toolbar", pady=10, ) frame.grid(row=2, column=0) # 命令栏 b = Tix.Button( frame, text=_("Random Data"), command=self.__action_random_data, width=12, ) b.grid(row=0, column=0, padx=20) b = Tix.Button( frame, text=_("Apply"), command=self.__action_apply, width=8, ) b.grid(row=0, column=10, padx=20) b = Tix.Button( frame, text=_("Close"), command=lambda : self.winfo_toplevel().withdraw(), width=8, ) b.grid(row=0, column=11, padx=20)
def __init__(self, parent=None): self.myparent = parent self.myroot = self.myparent.myparent self.metermaybe = copy.deepcopy(self.myparent.meterlist) self.meterfr = tk.Toplevel(self.myroot, width=400, height=300) self.meterfr.title("Meter Changes") self.meterfr.rowconfigure(0, weight=1) self.meterfr.rowconfigure(1, weight=0) self.meterfr.columnconfigure(0, weight=1) self.meterbuttons = tk.ButtonBox(self.meterfr, width=400, height=300) self.meterbuttons.add('ok', text='OK', command=self.ok) self.meterbuttons.add('cancel', text='Cancel', command=self.cancel) self.meterbuttons.add('apply', text='Apply', command=self.apply) self.meterbuttons.add('sort', text='Sort', command=self.reorder) self.meterbuttons.grid(row=1, column=0, sticky='') self.canvas = tk.Canvas(self.meterfr, width=400, height=300) self.canvas.grid(row=0, column=0, sticky='nesw') self.canvas.rowconfigure(2, weight=1) self.canvas.columnconfigure(0, weight=1) self.toprow = tk.Frame(self.canvas) self.toprowoncanvas = self.canvas.create_window(0, 0, window=self.toprow, anchor="nw") self.toprow.columnconfigure(0, weight=0) self.toprow.columnconfigure(1, weight=1) self.botrow = tk.Frame(self.canvas, bd=3, relief="ridge") # self.botrow.grid(row=1, column=0, sticky='we') self.botrow.columnconfigure(0, weight=0) self.botrow.columnconfigure(1, weight=1) bottomy = self.toprow.winfo_reqheight() # print bottomy self.botrowoncanvas = self.canvas.create_window(0, bottomy, window=self.botrow, anchor="nw") self.meterlinelist = [] # print self.metermaybe self.scroll = tk.Scrollbar(self.meterfr, orient='vertical', takefocus=0) self.canvas.config(yscrollcommand=self.scroll.set) self.canvas.config(scrollregion=self.canvas.bbox("all")) self.scroll.config(command=self.canvas.yview) self.meterfr.bind("<Button-4>", lambda event, arg1="scroll", arg2=-1, arg3="units": self.canvas.yview(arg1, arg2, arg3), "+") self.meterfr.bind("<Button-5>", lambda event, arg1="scroll", arg2=1, arg3="units": self.canvas.yview(arg1, arg2, arg3), "+") for meter in self.metermaybe: number = self.metermaybe.index(meter) newline = self.addmeterline(meter, number) self.addbar = tk.IntVar() self.addbar.set(1) self.addtop = tk.IntVar() self.addtop.set(4) self.addbottom = tk.IntVar() self.addbottom.set(4) self.blankbar = tk.Entry(self.botrow, width=4, textvariable=self.addbar) self.blankbar.focus_set() self.blankbar.select_range(0, "end") self.blankbar.grid(padx=10, sticky='') self.blanktop = tk.Entry(self.botrow, width=3, textvariable=self.addtop) self.blanktop.grid(row=0, column=1, padx=10, sticky='') self.blankbottom = tk.Entry(self.botrow, width=5, textvariable=self.addbottom) self.blankbottom.grid(row=0, column=2, padx=10, sticky='') self.blankaddmeter = tk.Button(self.botrow, text="Add Meter", command=self.newmeter) self.blankaddmeter.grid(row=0, column=4, padx=10, rowspan=1) self.meterfr.update_idletasks() self.meterfr.bind("<Return>", self.ok) self.meterfr.bind("<Escape>", self.cancel)
def __draw_simple_var(self, canvas, tags, **args): _x = args.get("x", 0) _y = args.get("y", 0) _width = args.get("width", 40) _height = args.get("height",40) _title = args.get("title", None) _text = args.get("text", None) _shape = args.get("shape", "oval") _anchor = args.get("anchor", "nw") _ipadx = 2 _ipady = 2 _title_height = 20 _fill = args.get("fill", "#6495ED") _activefill = args.get("activefill", "#0000FF") _activefill = None if _width < 40: _width = 40 if _height < 40: _height = 40 assert(_anchor in ("nw", "ne", "sw", "se")) if _anchor == "ne": _x -= - _width elif _anchor == "sw": _y -= _height elif _anchor == "se": _x -= _width _y -= _height if _shape == "oval": _func = canvas.create_oval else: _func = canvas.create_rectangle _func( _x + _ipadx, _y + _ipady, _x + _width - _ipadx, _y + _height - _ipady, fill=_fill, activefill=_activefill, tags=tags, ) if _text is not None: _entry = Tix.Entry( canvas, width=5, relief="flat", borderwidth=0, justify="center", bg=_fill, ) _entry.insert(Tix.END, _text) _entry.bind("<KeyRelease>", self.__change_node) _id = canvas.create_window( _x + _width / 2, _y + _height / 2, window=_entry, tags=tags, ) if _title is not None: canvas.create_text( _x + _width / 2, _y + _height, text=_title, anchor="n", tags=tags, ) _height += _title_height return (_x, _y, _width, _height)