Exemple #1
0
    def ProblemParameters(self, nb, name):
        print "problem"
        w = nb.page(name)
        prefix = Tix.OptionName(w)
        if not prefix:
            prefix = ''
        w.option_add('*' + prefix + '*TixLabelFrame*label.padX', 4)

        func = Tix.LabelFrame(w, label='functions')
        bound = Tix.LabelFrame(w, label='rectangular boundary')
        de = Tix.LabelFrame(w, label='differential equation')
        bc = Tix.LabelFrame(w, label='boundary conditions')
        monitor = Tix.LabelFrame(w, label='Problem set')

        self.ProbMonitor(monitor.frame)
        self.ProbFunc(func.frame)
        self.ProbBound(bound.frame)
        self.ProbDiffEqu(de.frame)
        self.ProbBoundCond(bc.frame)

        monitor.form(left=0, right=-1, top=0)
        func.form(left=0, right='%50', top=monitor)
        de.form(left=func, right=-1, top=monitor)
        bound.form(left=0, right='&' + str(func), top=func)
        bc.form(left=func, right=-1, top=de)
Exemple #2
0
    def SolutionProb(self, w):
        de = Tix.LabelFrame(w, label='Current Problems')
        bound = Tix.LabelFrame(w, label='Boundary Information')

        self.ProbMonitorDiffEqu(de.frame)
        self.ProbMonitorBoundary(bound.frame)

        de.pack(side=Tix.TOP, anchor=Tix.W)
        bound.pack(side=Tix.TOP, anchor=Tix.W)
def MkDirList(nb, name):
    w = nb.page(name)
    options = "label.padX 4"

    dir = Tix.LabelFrame(w, label='Tix.DirList', options=options)
    fsbox = Tix.LabelFrame(w, label='Tix.ExFileSelectBox', options=options)
    MkDirListWidget(dir.frame)
    MkExFileWidget(fsbox.frame)
    dir.form(top=0, left=0, right='%40', bottom=-1)
    fsbox.form(top=0, left='%40', right=-1, bottom=-1)
def MkManager(nb, name):
    w = nb.page(name)
    options = 'label.padX 4'

    pane = Tix.LabelFrame(w, label='Tix.PanedWindow', options=options)
    note = Tix.LabelFrame(w, label='Tix.NoteBook', options=options)

    MkPanedWindow(pane.frame)
    MkNoteBook(note.frame)

    pane.form(top=0, left=0, right=note, bottom=-1)
    note.form(top=0, right=-1, bottom=-1)
Exemple #5
0
    def ProbMonitor(self, w):
        de = Tix.LabelFrame(w, label='Current Differential Equations')
        bound = Tix.LabelFrame(w, label='Static Boundary Information')
        control = Tix.LabelFrame(w, label='Problem Control')

        self.ProbMonitorDiffEqu(de.frame)
        self.ProbMonitorBoundary(bound.frame)
        self.ProbMonitorControl(control.frame)

        de.form(left=0, right=-1, top=0)
        bound.form(left=0, right='%60', top=de)
        control.form(left=bound, right=-1, top=de)
Exemple #6
0
def MkDirList(nb, name):
    w = nb.page(name)
    prefix = Tix.OptionName(w)
    if not prefix:
        prefix = ''
    w.option_add('*' + prefix + '*TixLabelFrame*label.padX', 4)

    dir = Tix.LabelFrame(w, label='tixDirList')
    fsbox = Tix.LabelFrame(w, label='tixExFileSelectBox')
    MkDirListWidget(dir.frame)
    MkExFileWidget(fsbox.frame)
    dir.form(top=0, left=0, right='%40', bottom=-1)
    fsbox.form(top=0, left='%40', right=-1, bottom=-1)
Exemple #7
0
def MkManager(nb, name):
    w = nb.page(name)
    prefix = Tix.OptionName(w)
    if not prefix:
        prefix = ''
    w.option_add('*' + prefix + '*TixLabelFrame*label.padX', 4)

    pane = Tix.LabelFrame(w, label='tixPanedWindow')
    note = Tix.LabelFrame(w, label='tixNoteBook')

    MkPanedWindow(pane.frame)
    MkNoteBook(note.frame)

    pane.form(top=0, left=0, right=note, bottom=-1)
    note.form(top=0, right=-1, bottom=-1)
def MkScroll(nb, name):
    w = nb.page(name)
    options = 'label.padX 4'

    sls = Tix.LabelFrame(w, label='Tix.ScrolledListBox', options=options)
    swn = Tix.LabelFrame(w, label='Tix.ScrolledWindow', options=options)
    stx = Tix.LabelFrame(w, label='Tix.ScrolledText', options=options)

    MkSList(sls.frame)
    MkSWindow(swn.frame)
    MkSText(stx.frame)

    sls.form(top=0, left=0, right='%33', bottom=-1)
    swn.form(top=0, left=sls, right='%66', bottom=-1)
    stx.form(top=0, left=swn, right=-1, bottom=-1)
Exemple #9
0
 def skyeye_messagebox(self):
     top = self.root
     pane = Tix.LabelFrame(top, label='Message Area', labelside="acrosstop")
     text = Tix.ScrolledText(pane, height=100, scrollbar="y")
     text.text.insert(Tix.END, "Welcome to skyeye")
     text.pack(fill=Tix.BOTH, padx=8, pady=20)
     self.messagebox = text
     return pane
Exemple #10
0
    def view_cpu(self):
        self.message("You are now setting the cpu and mainboard information")
        if self.cpu_once == 1:
            self.cpu_board_ok()
            return

        cpu_list = ["arm", "bfin"]
        board_list = [
            "at91", "at91rm92", "clps7110", "clps9312", "cs89712"
            "ep7212", "ep9312", "lh79520", "lh79520-hardware", "lh79520-irqs",
            "lpc", "ns9750", "pxa", "s3c44b0", "s3c2410x", "s3c4510b",
            "sa1100", "serial_amba", "serial_amba_pl011", "sharp"
        ]
        top = self.skyeye_body("Cpu & Mainboard")
        cpu = Tix.LabelFrame(top,
                             label='Cpu',
                             labelside="acrosstop",
                             padx=5,
                             pady=10)
        board = Tix.LabelFrame(top,
                               label='Mainboard',
                               labelside="acrosstop",
                               padx=5,
                               pady=10)

        cpu_s = Tix.OptionMenu(cpu, label="Cpu:   ", command=self.cpu_select)

        board_s = Tix.OptionMenu(board,
                                 label="Mainboard:    ",
                                 command=self.board_select)

        ok = Tix.Button(top, text="OK", command=self.cpu_board_ok)

        for x in cpu_list:
            cpu_s.add_command(x, label=x)
        for x in board_list:
            board_s.add_command(x, label=x)

        cpu_s.pack(padx=5, pady=10)
        cpu.grid(row=0, column=0, padx=5, pady=10)
        board_s.pack(padx=5, pady=10)
        board.grid(row=0, column=1, padx=5, pady=10)
        ok.grid(row=1, column=0, columnspan=2, padx=5, pady=10)

        self.skyeye_redobody()
Exemple #11
0
def MkScroll(nb, name):
    w = nb.page(name)
    prefix = Tix.OptionName(w)
    if not prefix:
        prefix = ''
    w.option_add('*' + prefix + '*TixLabelFrame*label.padX', 4)

    sls = Tix.LabelFrame(w, label='tixScrolledListBox')
    swn = Tix.LabelFrame(w, label='tixScrolledWindow')
    stx = Tix.LabelFrame(w, label='tixScrolledText')

    MkSList(sls.frame)
    MkSWindow(swn.frame)
    MkSText(stx.frame)

    sls.form(top=0, left=0, right='%33', bottom=-1)
    swn.form(top=0, left=sls, right='%66', bottom=-1)
    stx.form(top=0, left=swn, right=-1, bottom=-1)
	def ui(self, master):
		if self._ui:
			return self._ui

		self._ui = Tk.Frame(master)

		self.units = self._add_opt(UNITS, self._ui, -1)

		self.page = Tix.LabelFrame(self._ui, label="Page Options")
		self.page.pack(fill=Tk.X)
		self.paperType = self._add_opt(PAPER_TYPE, self.page.frame, 0)
		self.pOrient = self._add_opt(PAGE_ORIENTATION, self.page.frame, 1)
		self.pWidth = self._add_opt(PAGE_WIDTH, self.page.frame, 2)
		self.pHeight = self._add_opt(PAGE_HEIGHT, self.page.frame, 3)

		pcmd = Tix.LabelFrame(self._ui, label="Printer Command:")
		pcmd.pack(fill=Tk.X)
		cmd = self._add_opt(PRINTER_CMD, pcmd.frame, -1)
		cmd._option.xview(Tk.END)
Exemple #13
0
    def skyeye_body(self, str):
        top = self.root
        try:
            self.body.destroy()
        except:
            pass

        self.body = Tix.LabelFrame(top, label=str, labelside="acrosstop")
        self.body.pack(fill=Tix.BOTH, padx=8, pady=20)
        return self.body
Exemple #14
0
    def SolutionRepresentation(self, nb, name):
        print "solution"
        w = nb.page(name)
        prefix = Tix.OptionName(w)
        if not prefix:
            prefix = ''
        w.option_add('*' + prefix + '*TixLabelFrame*label.padX', 4)

        rep_monitor = Tix.LabelFrame(w, label='representation workbench')
        ##        de = Tix.LabelFrame(w, label='Current Differential Equations')
        ##        bound = Tix.LabelFrame(w, label='Static Boundary Information')
        rep_prob = Tix.LabelFrame(w, label='Problem options')
        rep_choices = Tix.LabelFrame(w, label='representation options')

        self.SolutionRepresentationMonitor(rep_monitor.frame)
        self.SolutionProb(rep_prob.frame)
        self.RepresentationChoicesSelection(rep_choices.frame)  # a

        rep_monitor.form(left=0, right=-1, top=0)
        rep_prob.form(left=0, right=-1, top=rep_monitor)
        rep_choices.form(left=0, right=-1, top=rep_prob)
Exemple #15
0
def MkChoosers(nb, name):
    w = nb.page(name)
    prefix = Tix.OptionName(w)
    if not prefix:
        prefix = ''
    w.option_add('*' + prefix + '*TixLabelFrame*label.padX', 4)

    til = Tix.LabelFrame(w, label='Chooser Widgets')
    cbx = Tix.LabelFrame(w, label='tixComboBox')
    ctl = Tix.LabelFrame(w, label='tixControl')
    sel = Tix.LabelFrame(w, label='tixSelect')
    opt = Tix.LabelFrame(w, label='tixOptionMenu')
    fil = Tix.LabelFrame(w, label='tixFileEntry')
    fbx = Tix.LabelFrame(w, label='tixFileSelectBox')
    tbr = Tix.LabelFrame(w, label='Tool Bar')

    MkTitle(til.frame)
    MkCombo(cbx.frame)
    MkControl(ctl.frame)
    MkSelect(sel.frame)
    MkOptMenu(opt.frame)
    MkFileEnt(fil.frame)
    MkFileBox(fbx.frame)
    MkToolBar(tbr.frame)

    # First column: comBox and selector
    cbx.form(top=0, left=0, right='%33')
    sel.form(left=0, right='&' + str(cbx), top=cbx)
    opt.form(left=0, right='&' + str(cbx), top=sel, bottom=-1)

    # Second column: title .. etc
    til.form(left=cbx, top=0, right='%66')
    ctl.form(left=cbx, right='&' + str(til), top=til)
    fil.form(left=cbx, right='&' + str(til), top=ctl)
    tbr.form(left=cbx, right='&' + str(til), top=fil, bottom=-1)

    #
    # Third column: file selection
    fbx.form(right=-1, top=0, left='%66')
Exemple #16
0
def MkChoosers(nb, name):
    w = nb.page(name)
    options = "label.padX 4"

    til = Tix.LabelFrame(w, label='Chooser Widgets', options=options)
    cbx = Tix.LabelFrame(w, label='tixComboBox', options=options)
    ctl = Tix.LabelFrame(w, label='tixControl', options=options)
    sel = Tix.LabelFrame(w, label='tixSelect', options=options)
    opt = Tix.LabelFrame(w, label='tixOptionMenu', options=options)
    fil = Tix.LabelFrame(w, label='tixFileEntry', options=options)
    fbx = Tix.LabelFrame(w, label='tixFileSelectBox', options=options)
    tbr = Tix.LabelFrame(w, label='Tool Bar', options=options)

    MkTitle(til.frame)
    MkCombo(cbx.frame)
    MkControl(ctl.frame)
    MkSelect(sel.frame)
    MkOptMenu(opt.frame)
    MkFileEnt(fil.frame)
    MkFileBox(fbx.frame)
    MkToolBar(tbr.frame)

    # First column: comBox and selector
    cbx.form(top=0, left=0, right='%33')
    sel.form(left=0, right='&' + str(cbx), top=cbx)
    opt.form(left=0, right='&' + str(cbx), top=sel, bottom=-1)

    # Second column: title .. etc
    til.form(left=cbx, top=0, right='%66')
    ctl.form(left=cbx, right='&' + str(til), top=til)
    fil.form(left=cbx, right='&' + str(til), top=ctl)
    tbr.form(left=cbx, right='&' + str(til), top=fil, bottom=-1)

    #
    # Third column: file selection
    fbx.form(right=-1, top=0, left='%66')
    def createLintWidgets(self):
        lf = Tix.LabelFrame(self)
        lf['label'] = 'Lint'
        lf.pack(side='top',fill='both',expand=1)

        oe = Tix.FileEntry(lf)
        oe['dialogtype'] = 'tixExFileSelectDialog'
        oe['label'] = 'Lint output: (.html)'
        oe.pack(side='top',fill='x',expand=1)
        self.lint_output = Tix.StringVar()
        oe['variable'] = self.lint_output
        oe['command'] = self.lintOutputChanged
        if self.conf.has_option('Lint','output'):
            self.lint_output.set(self.conf.get('Lint','output'))

        ma = Tix.LabelEntry(lf)
        ma['label'] = 'Maximum age:'
        self.max_age = Tix.DoubleVar()
        ma.entry['textvariable'] = self.max_age
        self.max_age.set(0.0)
        ma.pack(side='top')
        

        opts = Tix.Select(lf,allowzero=True)
        opts['label'] = 'Options'
        opts.add('birth',text='birth')
        opts.add('death',text='death')
        opts.pack(side='top',expand=1)
        self.lint_options = Tix.StringVar()
        opts['variable'] = self.lint_options
        
        
        lb = Tix.Button(lf)
        lb['text'] = 'Run Lint'
        lb['command'] = self.runLint
        lb.pack(side='right')
Exemple #18
0
# -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
    def fillInUI(self, parent):
        name, save = filenames()
        label = Tk.Label(
            parent,
            justify=Tk.LEFT,
            text="This is a tool for disabling graphics features that might be\n"
            "unreliable on your platform.  Changing settings often results\n"
            "in lower performance or lower visual quality.\n")
        label.pack(padx=2)
        if self.message:
            label = Tk.Label(parent,
                             justify=Tk.LEFT,
                             foreground='red',
                             text=self.message)
            label.pack(padx=2)

        oglinfo = Tix.LabelFrame(parent, label="OpenGL information")
        oglinfo.pack(padx=2)
        n = Tk.Label(oglinfo.frame, text="Vendor:")
        n.grid(row=0, column=0, sticky='e', padx=2)
        v = Tk.Label(oglinfo.frame, text=gi.getVendor())
        v.grid(row=0, column=1, sticky='w', padx=2)
        n = Tk.Label(oglinfo.frame, text="Renderer:")
        n.grid(row=1, column=0, sticky='e', padx=2)
        v = Tk.Label(oglinfo.frame, text=gi.getRenderer())
        v.grid(row=1, column=1, sticky='w', padx=2)
        n = Tk.Label(oglinfo.frame, text="Version:")
        n.grid(row=2, column=0, sticky='e', padx=2)
        v = Tk.Label(oglinfo.frame, text=gi.getVersion())
        v.grid(row=2, column=1, sticky='w', padx=2)
        n = Tk.Label(oglinfo.frame, text="OS:")
        n.grid(row=3, column=0, sticky='e', padx=2)
        v = Tk.Label(oglinfo.frame, text=gi.getOS())
        v.grid(row=3, column=1, sticky='w', padx=2)

        features = Tix.LabelFrame(parent, label="Enabled OpenGL features:")
        features.pack(padx=2)
        for i in range(gi.NumFeatures):
            b = BooleanOption(features.frame,
                              i // 2,
                              FeatureNames[i],
                              gi.has(i),
                              None,
                              startCol=2 * (i % 2))
            if (gi.hasInfo(i) & (gi.Extension | gi.Native)) == 0:
                b.disable()
            self.features.append(b)
        self.factoryDefaults = tuple(f.get() for f in self.features)

        self.Actions = (
            'Disable All',
            'Revert to Saved',
            'Factory Defaults',
            'Save',
        )
        self.actionWidgets = {}
        for a in self.Actions:

            def command(s=self, a=a):
                if s.actionWidgets[a].cget('state') != 'disabled':
                    getattr(s, buttonFuncName(a))()

            b = Tk.Button(parent, text=a, command=command)
            b.pack(side=Tk.RIGHT, padx=2, pady=2)
            self.actionWidgets[a] = b

        if not os.path.exists(save):
            b = self.actionWidgets['Revert to Saved']
            b.config(state=Tk.DISABLED)
        elif not self.message:
            self.ReverttoSaved()
	def fillInUI(self, master):
		self._ModelTrigger = None
		#self._SetupTrigger = None
		self._SizeTrigger = None
		self.raytrace = None
		# Image Size
		imageSetup = Tix.LabelFrame(master, label="Image Size")
		imageSetup.pack(fill=Tk.X, ipadx=2, ipady=2)
		subframe = imageSetup.frame
		#subframe = Tk.Frame(imageSetup.frame)
		#subframe.pack(fill=Tk.BOTH, expand=1)

		# add in conversion factor for pixels and graphics screen
		from chimera import tkgui
		win = tkgui.app.graphics
		res = tkgui.getScreenMMWidth() / win.winfo_screenwidth()
		convert['pixels'] = mm2pt(res)

		self.matchAspect = Tk.BooleanVar(master)
		self.matchAspect.set(1)

		self.usePrint = Tk.BooleanVar(master)
		self.usePrint.set(preferences.get(IMAGE_SETUP, USE_PRINT_UNITS))
		import itertools
		row = itertools.count()

		self.showUsePrint = Tk.Checkbutton(subframe, indicatoron=1,
				variable=self.usePrint, highlightthickness=0,
				text=USE_PRINT_UNITS,
				command=self._updateUsePrint)
		self.showUsePrint.grid(columnspan=2, row=row.next(), sticky=Tk.W)

		w, h = chimera.viewer.windowSize
		self.units = ImageUnitsOption(subframe, row.next(), UNITS,
						'pixels', self.updateImageUnits)
		self.iWidth = FloatOption(subframe, row.next(), 'Image width',
					w, self.updateImageWidth, min=1e-10)
		self.iHeight = FloatOption(subframe, row.next(), 'Image height',
					h, self.updateImageHeight, min=1e-10)

		matchAspect = Tk.Checkbutton(subframe, indicatoron=1,
				variable=self.matchAspect, highlightthickness=0,
				text="Maintain current aspect ratio",
				command=self.updateMatchAspect)
		matchAspect.grid(columnspan=2, row=row.next(), sticky=Tk.W)
		self.grow = Tk.Button(imageSetup.frame, text="Grow to Fit",
					command=self.Resize, state=Tk.DISABLED)
		fitrow = row.next()
		self.grow.grid(row=fitrow, column=0, padx=2, pady=2,
								sticky=Tk.NSEW)
		self.shrink = Tk.Button(imageSetup.frame, text="Shrink to Fit",
				command=lambda f=self.Resize: f(False),
				state=Tk.DISABLED)
		self.shrink.grid(row=fitrow, column=1, padx=2, pady=2,
								sticky=Tk.NSEW)

		#fetch = Tk.Button(imageSetup.frame, text="Get Pixels",
		#				command=self.fetchWindowSize)
		#fetch.grid(row=row.next(), column=0, padx=2, pady=2, sticky=Tk.NSEW)

		#calc = Tk.Button(imageSetup.frame, text="Image Setup",
		#			command=self.showImageSetupDialog)
		#calc.grid(row=row.next(), column=1, padx=2, pady=2, sticky=Tk.NSEW)

		self.printRes = FloatOption(subframe, row.next(), DPI,
				preferences.get(IMAGE_SETUP, DPI),
				self._updatePrint, min=1)

		# Image Information
		info = Tix.LabelFrame(master, label="Image Information")
		info.pack(fill=Tk.X)
		d = Tk.Label(info.frame, text="Description:")
		d.grid(columnspan=2, row=0, column=0, sticky=Tk.W, padx=2,
									pady=1)
		self.description = Tk.Entry(info.frame)
		info.frame.grid_columnconfigure(0, weight=1)
		info.frame.grid_columnconfigure(1, weight=1)
		self.description.grid(columnspan=2, row=1, column=0,
						sticky=Tk.EW, padx=2, pady=2)
		imageCredits = Tk.Button(info.frame,
					text="Image Credits",
					command=self.showImageCreditsDialog)
		imageCredits.grid(row=2, column=0, padx=2, pady=2)
		credit = Tk.Button(info.frame, text="Citing Chimera",
				command=lambda: help.display("credits.html"))
		credit.grid(row=2, column=1, padx=2, pady=2)

		# Image camera
		self.raytrace = BooleanOption(master, -1,
				'Raytrace with POV-Ray', False,
				self._updateRaytrace)
		self.raytraceOptions = Tk.Button(master, text=POVRAY_SETUP,
					command=self.showPOVRayOptions)
		self.raytraceOptions.pack()
		self.raytraceOptions.pack_forget()
		self.supersample = SupersampleOption(master, -1, SUPERSAMPLE,
				preferences.get(IMAGE_SETUP, SUPERSAMPLE),
				self._updateSS)
		self.adjustFOV = AdjustFOVOption(master, -1, ADJUST_FOV,
				preferences.get(IMAGE_SETUP, ADJUST_FOV),
				self._updateAdjustFOV)
		self.printMode = _PrintModeOption(master, -1,
				'Image camera mode', _PrintModeOption.SAME,
				self._updatePrintMode)
		self.lenticular = IntOption(master, -1,
				'Number of lenticular images',
				chimera.Camera.lenticularImageCount(),
				self._updateLenticular, min=2, width=4)
		self.lenticular.forget()

		# switch to user's prefered units
		self.adjust = convert['pixels']
		units = preferences.get(IMAGE_SETUP, UNITS)
		self._updateUsePrint()
		self.units.set(units)
		self.updateImageUnits()
Exemple #21
0
def MkSample(nb, name):
    w = nb.page(name)
    options = "label.padX 4"

    pane = Tix.PanedWindow(w, orientation='horizontal')
    pane.pack(side=Tix.TOP, expand=1, fill=Tix.BOTH)
    f1 = pane.add('list', expand='1')
    f2 = pane.add('text', expand='5')
    f1['relief'] = 'flat'
    f2['relief'] = 'flat'

    lab = Tix.LabelFrame(f1, label='Select a sample program:')
    lab.pack(side=Tix.TOP, expand=1, fill=Tix.BOTH, padx=5, pady=5)
    lab1 = Tix.LabelFrame(f2, label='Source:')
    lab1.pack(side=Tix.TOP, expand=1, fill=Tix.BOTH, padx=5, pady=5)

    slb = Tix.Tree(lab.frame, options='hlist.width 20')
    slb.pack(side=Tix.TOP, expand=1, fill=Tix.BOTH, padx=5)

    stext = Tix.ScrolledText(lab1.frame, name='stext')
    font = root.tk.eval('tix option get fixed_font')
    stext.text.config(font=font)

    frame = Tix.Frame(lab1.frame, name='frame')

    run = Tix.Button(frame, text='Run ...', name='run')
    view = Tix.Button(frame, text='View Source ...', name='view')
    run.pack(side=Tix.LEFT, expand=0, fill=Tix.NONE)
    view.pack(side=Tix.LEFT, expand=0, fill=Tix.NONE)

    stext.text['bg'] = slb.hlist['bg']
    stext.text['state'] = 'disabled'
    stext.text['wrap'] = 'none'
    stext.text['width'] = 80

    frame.pack(side=Tix.BOTTOM, expand=0, fill=Tix.X, padx=7)
    stext.pack(side=Tix.TOP, expand=0, fill=Tix.BOTH, padx=7)

    slb.hlist['separator'] = '.'
    slb.hlist['width'] = 25
    slb.hlist['drawbranch'] = 0
    slb.hlist['indent'] = 10
    slb.hlist['wideselect'] = 1
    slb.hlist[
        'command'] = lambda args=0, w=w, slb=slb, stext=stext, run=run, view=view: Sample_Action(
            w, slb, stext, run, view, 'run')
    slb.hlist[
        'browsecmd'] = lambda args=0, w=w, slb=slb, stext=stext, run=run, view=view: Sample_Action(
            w, slb, stext, run, view, 'browse')

    run['command'] = lambda args=0, w=w, slb=slb, stext=stext, run=run, view=view: Sample_Action(
        w, slb, stext, run, view, 'run')
    view[
        'command'] = lambda args=0, w=w, slb=slb, stext=stext, run=run, view=view: Sample_Action(
            w, slb, stext, run, view, 'view')

    for type in ['widget', 'image']:
        if type != 'widget':
            x = Tix.Frame(slb.hlist,
                          bd=2,
                          height=2,
                          width=150,
                          relief=Tix.SUNKEN,
                          bg=slb.hlist['bg'])
            slb.hlist.add_child(itemtype=Tix.WINDOW,
                                window=x,
                                state='disabled')
        x = slb.hlist.add_child(itemtype=Tix.TEXT,
                                state='disabled',
                                text=comments[type])
        for key in stypes[type]:
            slb.hlist.add_child(x, itemtype=Tix.TEXT, data=key, text=key)
    slb.hlist.selection_clear()

    run['state'] = 'disabled'
    view['state'] = 'disabled'
Exemple #22
0
    def view_device(self):
        self.message("You are now setting the peripherial information")
        if self.device_once == 1:
            self.net_lcd_flash_ok()
            return

        net_list = ["cs8900a", "rtl8091", "s3c4510b"]

        lcd_list = ["ep7312", "pxa", "s3c2410"]
        flash_list = ["ibm"]

        top = self.skyeye_body("Peripherial")
        net = Tix.LabelFrame(top, labelside="acrosstop", padx=5, pady=10)
        lcd = Tix.LabelFrame(top, labelside="acrosstop", padx=5, pady=10)
        flash = Tix.LabelFrame(top, labelside="acrosstop", padx=5, pady=10)

        self.net_v = Tix.StringVar()
        self.lcd_v = Tix.StringVar()
        self.flash_v = Tix.StringVar()

        net_s = Tix.Select(net,
                           label='Net Adapter',
                           allowzero=1,
                           radio=1,
                           orientation=Tix.VERTICAL,
                           labelside=Tix.TOP,
                           command=self.net_select,
                           variable=self.net_v)

        lcd_s = Tix.Select(lcd,
                           label='Lcd',
                           allowzero=1,
                           radio=1,
                           orientation=Tix.VERTICAL,
                           labelside=Tix.TOP,
                           command=self.lcd_select,
                           variable=self.lcd_v)

        flash_s = Tix.Select(flash,
                             label='Flash',
                             allowzero=1,
                             radio=1,
                             orientation=Tix.VERTICAL,
                             labelside=Tix.TOP,
                             command=self.flash_select,
                             variable=self.flash_v)

        ok = Tix.Button(top, text="OK", command=self.net_lcd_flash_ok)

        for x in net_list:
            net_s.add(x, text=x)
        for x in lcd_list:
            lcd_s.add(x, text=x)
        for x in flash_list:
            flash_s.add(x, text=x)

        net_s.pack(padx=5, pady=10)
        net.grid(row=0, column=0, padx=5, pady=10)
        lcd_s.pack(padx=5, pady=10)
        lcd.grid(row=0, column=1, padx=5, pady=10)
        flash_s.pack(padx=5, pady=10)
        flash.grid(row=0, column=2, padx=5, pady=10)
        ok.grid(row=1, column=1, columnspan=1, padx=5, pady=10)

        self.skyeye_redobody()
Exemple #23
0
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')