def __init__( self, parent, defaultfont=None, showstyles=None ): self._family = Tix.StringVar( value='Ariel' ) self._sizeString = Tix.StringVar( value='12' ) self._weight = Tix.StringVar( value=tkFont.NORMAL ) self._slant = Tix.StringVar( value=tkFont.ROMAN ) self._isUnderline = Tix.BooleanVar( value=False ) self._isOverstrike = Tix.BooleanVar( value=False ) if defaultfont: self._initialize( defaultfont ) self._currentFont = tkFont.Font( font=self.getFontTuple() ) self._showStyles = showstyles self.sampleText = None tkSimpleDialog.Dialog.__init__( self, parent, 'Font Chooser' )
def __build__(self,root,row): self._value = Tix.BooleanVar(root) self._value.set(self.opt.default) self.TkLabel=Tix.Label(root, text=self.label+':') self.TkCheckbutton=Tix.Checkbutton(root, variable=self._value) self.TkLabel.grid(row=row, column=0,sticky=Tix.W) self.TkCheckbutton.grid(row=row, column=1,sticky=Tix.W) if self.tooltip: self.TkLabelToolTip=_ToolTip(self.TkLabel, delay=250, follow_mouse=1, text=self.tooltip) self.TkCheckbuttonToolTip=_ToolTip(self.TkCheckbutton, delay=250, follow_mouse=1, text=self.tooltip) self._value.trace('w',self.callback) self.enabled=self.enabled #Force update
def __init__(self, parent, mainhandler, enable=True): self.contypes = {} OpenIPMI.parse_args_iter_help(self) if (len(self.contypes) == 0): return Tix.ScrolledWindow.__init__(self, parent, height=300, width=600) self.parent = parent self.enable = enable if (not enable): self.enablevar = Tix.BooleanVar() self.enable_box = Tix.Checkbutton(self.window, text="Enable", variable=self.enablevar) self.enable_box.pack(side=Tix.TOP) pass self.contype = Tix.Select(self.window, label="Connection Type", radio=1, allowzero=0, command=self.selectType) for key in self.contypes.keys(): self.contype.add(key, text=key) pass self.contype.pack(side=Tix.TOP) self.coninfos = [] show = True panel = Tix.Frame(self.window) panel.pack(side=Tix.TOP, fill=Tix.BOTH, expand=1) for ct in self.contypes.keys(): cti = ConnTypeInfo(ct, panel) if (show): cti.pack() self.currcon = cti show = False pass self.coninfos.append(cti) pass self.contype.invoke(list(self.contypes.keys())[0]) return
def __init__(self, contype, parent): Tix.Frame.__init__(self, parent) self.contype = contype self.fields = [] args = OpenIPMI.alloc_empty_args(str(contype)) self.args = args self.errstr = gui_errstr.ErrStr(self) self.errstr.pack(side=Tix.TOP, fill=Tix.X, expand=1) i = 0 rv = 0 frame = None while (rv == 0): name = [""] vtype = [""] vrange = [""] vhelp = [""] value = [""] rv = args.get_val(i, name, vtype, vhelp, value, vrange) if (rv == 0): if (vhelp[0][0] == '*'): optional = False vhelp[0] = vhelp[0][1:] else: optional = True pass if (vhelp[0][0] == '!'): password = True vhelp[0] = vhelp[0][1:] else: password = False pass if (vtype[0] == "bool"): if (frame == None): didframe = True frame = Tix.Frame(self) frame.pack(side=Tix.TOP) newframe = frame pass else: newframe = None pass fw = Tix.BooleanVar() w = Tix.Checkbutton(frame, text=name[0], variable=fw) w.pack(side=Tix.LEFT, padx=10) if ((value[0] != None) and (value[0] == "true")): fw.set(True) pass pass elif (vtype[0] == "enum"): do_box = False fw = EnumHolder() if (value[0] != None): fw.set(value[0]) pass else: fw.set(vrange[0]) pass w = Tix.Select(self, label=name[0], allowzero=0, radio=1, command=fw.SelectType) for v in vrange: w.add(v, text=v) pass newframe = None w.invoke(fw.get()) w.pack() pass elif (vtype[0] == "str") or (vtype[0] == "int"): if (frame == None): didframe = True frame = Tix.Frame(self) frame.pack(side=Tix.TOP) newframe = frame pass else: newframe = None pass if (value[0] == None): value[0] = "" pass if (password): options = "entry.show '*' entry.width 20" else: options = "entry.width 20" pass w = Tix.LabelEntry(frame, label=name[0], options=options) w.entry.insert(Tix.END, value[0]) w.pack(side=Tix.LEFT, padx=10) fw = w.entry pass else: i += 1 continue frame = newframe self.fields.append((i, name[0], vtype[0], fw)) pass i += 1 pass return
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, 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, ui, domain_id, cnum): Tix.Toplevel.__init__(self) self.ui = ui self.cnum = cnum; self.sol = None domain_id.to_domain(self) if (self.sol == None): return self.nack_count = 0 self.take_input = True self.in_destroy = False self.title("SoL for " + self.dname + " connection " + str(self.cnum)) mbar = Tix.Frame(self) fileb = Tix.Menubutton(mbar, text="File", underline=0, takefocus=0) filemenu = Tix.Menu(fileb, tearoff=0) self.filemenu = filemenu fileb["menu"] = filemenu filemenu.add_command(label="Open", command=self.open) filemenu.add_command(label="Close", command=self.close, state="disabled") filemenu.add_command(label="Force Close", command=self.forceclose, state="disabled") filemenu.add_command(label="Quit", command=self.quit) ctrlb = Tix.Menubutton(mbar, text="Controls", underline=0, takefocus=0) ctrlmenu = Tix.Menu(ctrlb, tearoff=0) self.ctrlmenu = ctrlmenu ctrlb["menu"] = ctrlmenu self.acceptinput = Tix.BooleanVar() self.acceptinput.set(True) ctrlmenu.add_checkbutton(label="Accept Input", variable=self.acceptinput, command=self.AcceptInputToggle) self.useenc = Tix.BooleanVar() self.useenc.set(self.sol.get_use_encryption()) ctrlmenu.add_checkbutton(label="Use Encryption", variable=self.useenc, command=self.UseEncToggle) self.useauth = Tix.BooleanVar() self.useauth.set(self.sol.get_use_authentication()) ctrlmenu.add_checkbutton(label="Use Authentication", variable=self.useauth, command=self.UseAuthToggle) self.deassert_on_connect = Tix.BooleanVar() self.deassert_on_connect.set( self.sol.get_deassert_CTS_DCD_DSR_on_connect()) ctrlmenu.add_checkbutton(label="Deassert CTS/DCD/DSR on connect", variable=self.deassert_on_connect, command=self.DeassertOnConnectToggle) self.ctsassertable = Tix.BooleanVar() self.ctsassertable.set(True) ctrlmenu.add_checkbutton(label="CTS Assertable", variable=self.ctsassertable, command=self.CTSAssertableToggle, state="disabled") self.dcd_dsr = Tix.BooleanVar() self.dcd_dsr.set(True) ctrlmenu.add_checkbutton(label="DCD/DSR Asserted", variable=self.dcd_dsr, command=self.DCDDSRToggle, state="disabled") self.ri = Tix.BooleanVar() self.ri.set(False) ctrlmenu.add_checkbutton(label="RI Asserted", variable=self.ri, command=self.RIToggle, state="disabled") ctrlmenu.add_command(label="Set Ack Timeout", command=self.SetAckTimeout) ctrlmenu.add_command(label="Set Ack Retries", command=self.SetAckRetries) ctrlmenu.add_command(label="Send Break", command=self.SendBreak, state="disabled") sermenu = Tix.Menu(ctrlmenu, tearoff=0) ctrlmenu.add_cascade(label="Serial Rate", menu=sermenu) self.servar = Tix.StringVar() self.servar.set("default") sermenu.add_radiobutton(label="Default", value="default", variable=self.servar, command=self.SetRate) sermenu.add_radiobutton(label="9600", value="9600", variable=self.servar, command=self.SetRate) sermenu.add_radiobutton(label="19200", value="19200", variable=self.servar, command=self.SetRate) sermenu.add_radiobutton(label="38400", value="38400", variable=self.servar, command=self.SetRate) sermenu.add_radiobutton(label="57600", value="57600", variable=self.servar, command=self.SetRate) sermenu.add_radiobutton(label="115200", value="115200", variable=self.servar, command=self.SetRate) serbehavemenu = Tix.Menu(ctrlmenu, tearoff=0) ctrlmenu.add_cascade(label="Serial Alert Behavior", menu=serbehavemenu) self.serbehave = Tix.StringVar() self.serbehave.set("fail") serbehavemenu.add_radiobutton(label="Serial Alerts Fail", value="fail", variable=self.serbehave, command=self.SetSerialAlerts) serbehavemenu.add_radiobutton(label="Serial Alerts Deferred", value="defer", variable=self.serbehave, command=self.SetSerialAlerts) serbehavemenu.add_radiobutton(label="Serial Alerts Succeed", value="succeed", variable=self.serbehave, command=self.SetSerialAlerts) flushmenu = Tix.Menu(ctrlmenu, tearoff=0) self.flushmenu = flushmenu ctrlmenu.add_cascade(label="Queue Flush", menu=flushmenu) fmenus = [ ] flushmenu.add_command(label="Flush BMC Transmit Queue", command=self.FlushBMCXmit, state="disabled") fmenus.append("Flush BMC Transmit Queue") flushmenu.add_command(label="Flush BMC Receive Queue", command=self.FlushBMCRecv, state="disabled") fmenus.append("Flush BMC Receive Queue") flushmenu.add_command(label="Flush My Transmit Queue", command=self.FlushMyXmit, state="disabled") fmenus.append("Flush My Transmit Queue") flushmenu.add_command(label="Flush My Receive Queue", command=self.FlushMyRecv, state="disabled") fmenus.append("Flush My Receive Queue") flushmenu.add_command(label="Flush BMC Queues", command=self.FlushBMC, state="disabled") fmenus.append("Flush BMC Queues") flushmenu.add_command(label="Flush My Queues", command=self.FlushMe, state="disabled") fmenus.append("Flush My Queues") flushmenu.add_command(label="Flush All Queues", command=self.FlushAll, state="disabled") fmenus.append("Flush All Queues") self.fmenus = fmenus mbar.pack(side=Tix.TOP, fill=Tix.X, expand=1) fileb.pack(side=Tix.LEFT) ctrlb.pack(side=Tix.LEFT) self.term = SolTerm(self, self) f = Tix.Frame(self) f.pack(side=Tix.BOTTOM, fill=Tix.X, expand=1) self.errstr = gui_errstr.ErrStr(f) self.errstr.pack(side=Tix.LEFT, fill=Tix.X, expand=1) self.statestr = gui_errstr.ErrStr(f) self.statestr.pack(side=Tix.LEFT, fill=Tix.X, expand=1) self.statestr.SetError(OpenIPMI.sol_state_string( OpenIPMI.sol_state_closed)) self.state = OpenIPMI.sol_state_closed self.bind("<Destroy>", self.OnDestroy) return
def __init__(self, name, num_vals, light_list, vals, handler): self.handler = handler self.light_list = light_list Tix.Toplevel.__init__(self) self.title(name) svalues = Tix.ScrolledWindow(self) self.values = svalues.window self.lights = [] row = 0 for i in range(0, num_vals): if (len(vals) <= i): ivals = ("", "black", '0', '1') else: ivals = vals[i] pass label = Tix.Label(self.values, text="Light " + str(i)) label.grid(row=row, column=0, sticky="e") if (light_list[i][0]): lc = Tix.BooleanVar() lcw = Tix.Checkbutton(self.values, text="Local Control", variable=lc) lc.set(ivals[0] == "lc") lcw.grid(row=row, column=1, sticky="ew") row += 1 else: lc = None pass color = EnumHolder() colorw = Tix.Select(self.values, label="Color", allowzero=0, radio=1, command=color.SelectType) for v in light_list[i][1]: colorw.add(v, text=v) pass colorw.configure(value=ivals[1]) colorw.grid(row=row, column=1, sticky="ew") row += 1 ontime = Tix.LabelEntry(self.values, label="On Time") ontime.entry.insert("0", ivals[2]) ontime.grid(row=row, column=1, sticky="ew") row += 1 ontime = ontime.entry offtime = Tix.LabelEntry(self.values, label="Off Time") offtime.entry.insert("0", ivals[3]) offtime.grid(row=row, column=1, sticky="ew") row += 1 offtime = offtime.entry self.lights.append((lc, color, ontime, offtime)) pass svalues.pack(side=Tix.TOP, fill=Tix.BOTH, 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_press()) bbox.pack(side=Tix.BOTTOM, fill=Tix.X, expand=1) self.bind("<Destroy>", self.OnDestroy) return
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')
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, 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")