def create_other_buttons(self):
        '''Return (frame, others) for testing.

        Others is a list of value, label pairs.
        A gridded frame from make_frame is filled with radio buttons.
        '''
        frame = self.make_frame("Direction")[0]
        var = self.engine.backvar
        others = [(1, 'Up'), (0, 'Down')]
        for val, label in others:
            btn = Radiobutton(frame, anchor="w",
                              variable=var, value=val, text=label)
            btn.pack(side="left", fill="both")
            if var.get() == val:
                btn.select()
        return frame, others
Example #2
0
 def __init__(self, parent):
     Frame.__init__(self, parent)
     self.observers = []
     
     self.CLASS_NAME = ['Class {0}'.format(i+1) 
                        for i in range(MAX_NUMBER_OF_CLASSES)]
     
     self.selected_class = IntVar()
     self.class_buttons = {}
     for i in range(MAX_NUMBER_OF_CLASSES):
         class_button = Radiobutton(
                           self, text = self.CLASS_NAME[i], 
                           fg = CLASS_COLOR[i], state = 'disabled', 
                           variable = self.selected_class, value = i, 
                           command = self._on_sample_class_selection)
         class_button.pack(anchor = 'w', padx=5)
         self.class_buttons[i] = class_button
     
     self.label = Label(self)
     self.label.pack()
     
     self.class_number = DEFAULT_NUMBER_OF_CLASS
     self.samples = [[]] * MAX_NUMBER_OF_CLASSES
     self.samples_coordinates = [[]] * MAX_NUMBER_OF_CLASSES
     self.select_default_class()
Example #3
0
class Interface(Frame):
    """界面操作"""

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        """构建界面"""
        self.radio_value = IntVar()

        Label(self, text="网络安全").grid(row=0, column=2, pady=10)
        # 生成label
        Label(self, text="用户名").grid(row=3, column=1, pady=10)
        Label(self, text="密码").grid(row=4, column=1)
        # 生成用户名和密码输入框
        self.name_input = Entry(self)
        self.name_input.grid(row=3, column=2)
        self.password = Entry(self)
        self.password['show'] = '*'
        self.password.grid(row=4, column=2)

        self.radio = Radiobutton(self, text="rsa", variable=self.radio_value, padx=20, value=1)
        self.radio.grid(row=5, column=1)

        self.radio1 = Radiobutton(self, text="des", variable=self.radio_value, padx=20, value=2)
        self.radio1.grid(row=6, column=1)

        self.alert_button = Button(self, text='提交', command=self.submit)
        self.alert_button.grid(row=7, column=1)

    def submit(self):
        """提交处理"""
        name = self.name_input.get() or 'username'
        password = self.password.get() or "password"
        cryption = self.radio_value.get() or "1"
        # 构造传输的数据
        data = name + ',' + password

        cryption = Crypt()
        my_socket = Mysocket()
        # 判断使用des还是rsa
        if cryption == 2:
            data = "des" + data
            need = 8 - (len(data) % 8)
            while need > 0:
                data += " "
                need -= 1
            result = cryption.des_encrypt(data)
            result = "des" + result
        else:
            result = cryption.rsa_encrypt(data)
            result = "rsa" + result
        result = my_socket.make_connect(result)

        if result >= 0:
            tkMessageBox.showinfo('Message', '%s' % '合法用户')
        else:
            tkMessageBox.showinfo('Message', '%s' % '非法用户')
    def startwindow(self):

        self.var1 = IntVar()
        self.textvar = StringVar()

        self.Label1=Label(self.master, text="Search distance (meters)")
        self.Label1.grid(row=0, column=0)

        self.Label2=Label(self.master, textvariable=self.textvar)
        self.Label2.grid(row=2, column=0)

        self.rb1 = Radiobutton(self.master, text="5000", variable=self.var1,
                               value=5000, command=self.cb1select)
        self.rb1.grid(row=1, column=0, sticky=W)

        self.rb2 = Radiobutton(self.master, text="625", variable=self.var1,
                               value=625, command=self.cb1select)
        self.rb2.grid(row=1, column=1, sticky=W)

        self.rb3 = Radiobutton(self.master, text="160", variable=self.var1,
                               value=160, command=self.cb1select)
        self.rb3.grid(row=1, column=2, sticky=W)
        
        self.Button1=Button(self.master, text="ok", command=self.ButtonClick)
        self.Button1.grid(row=2, column=2)
Example #5
0
def addRadioButton(frame, label, value, variable, position, bindEvent=1):
    button = Radiobutton(frame, text=label, variable=variable, value=value)
    button.grid(row=0, column=position)
    
    if bindEvent:
        variable.trace("w", calculate)
        
    return button
    def build_devices_arch(self):

        #8bits
        name_checked = self.main.configIDE.config("Board", "board_8", "Pinguino 2550")
        arch_8 = filter(lambda board:board.arch==8, self.main.pinguinoAPI._boards_)
        arch_8.sort()

        frame_left = Frame(self.frame_8b)
        frame_left.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right = Frame(self.frame_8b)
        frame_right.pack(expand=True, fill=BOTH, side=RIGHT)

        parent = frame_left  #left
        for board in arch_8:
            if arch_8.index(board) == (len(arch_8) / 2) + 1:
                parent = frame_right  #rigth

            radio = Radiobutton(parent, text=board.name, anchor="w", width=10, value=board.name, variable=self.dev8_var, command=lambda :self.set_board_name(board.name, "8"))
            radio.pack(expand=True, fill=X, side=TOP)

            #radio = QtGui.QRadioButton(self.board_config.groupBox_devices_8)
            #self.board_config.gridLayout_device_8.addWidget(radio, count, side, 1, 1)
            #radio.setText(board.name)
            #radio.setToolTip(board.proc)

            if name_checked == board.name: radio.select()
            #self.connect(radio, QtCore.SIGNAL("clicked()"), self.set_board_name(board.name, "8"))


        #32bits
        name_checked = self.main.configIDE.config("Board", "board_32", "PIC32 Pinguino OTG")
        arch_32 = filter(lambda board:board.arch==32, self.main.pinguinoAPI._boards_)
        arch_32.sort()

        frame_left0 = Frame(self.frame_32b)
        frame_left0.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right0 = Frame(self.frame_32b)
        frame_right0.pack(expand=True, fill=BOTH, side=RIGHT)

        parent = frame_left0  #left
        for board in arch_32:
            if arch_32.index(board) == (len(arch_32) / 2) + 1:
                parent = frame_right0  #rigth

            radio = Radiobutton(parent, text=board.name, anchor="w", width=10, value=board.name, variable=self.dev32_var, command=lambda :self.set_board_name(board.name, "32"))
            radio.pack(expand=True, fill=X, side=TOP)

            #radio = QtGui.QRadioButton(self.board_config.groupBox_devices_32)
            #self.board_config.gridLayout_device_32.addWidget(radio, count, side, 1, 1)
            #radio.setText(board.name)
            #radio.setToolTip(board.proc)

            if name_checked == board.name: radio.select()
Example #7
0
 def create_radio_buttons(self):
     # Scale related
     entries = ['DIATONIC', 'HARMONIC', 'MELODIC', 'PENTATONIC', 'PENTA_MINOR']
     self.scale = StringVar()
     self.scale.set('DIATONIC')
     self.rb_frame = Frame(self)
     for e in entries:
         rb = Radiobutton(self.rb_frame, value=e, text=e, anchor=W,
                          command=self.send_scale, variable=self.scale)
         rb.grid(row=len(self.rb_frame.winfo_children()), sticky=W)
     self.rb_frame.grid(column=1, row=len(self.grid_slaves(column=1)), rowspan=3)
Example #8
0
    def __init__(self, master, size=22, **kw):
        image = Metro_Radiobutton.image[size]
        
        if isinstance(image, basestring):
            Metro_Radiobutton.image[size] = image = BitmapImage(data=base64.b64decode(image))

        selectimage = Metro_Radiobutton.selectimage[size]
        
        if isinstance(selectimage, basestring):
            Metro_Radiobutton.selectimage[size] = selectimage = BitmapImage(data=base64.b64decode(selectimage))

        Radiobutton.__init__(self, master, indicatoron=0, selectimage=selectimage, image=image, highlightthickness=0, borderwidth=0, **kw)
    def __init__(self,parent,view,lissajou,subjectSig,subjects):

        self.cursorFrame = Frame(parent)
        self.selectionFrame = Frame(self.cursorFrame)
        self.view = view
        self.lissajou = lissajou
        self.subjects = subjects
        self.subjectSig=subjectSig
        self.amp=IntVar()
        self.scale_amp=Scale(self.cursorFrame,variable=self.amp,
                          label="Amplitude",
                          orient="horizontal",length=250,from_=0,to=10,
                          sliderlength=50,tickinterval=1,showvalue=0,
                          command=self.update)
        self.freq=IntVar()
        self.scale_freq=Scale(self.cursorFrame,variable=self.freq,
                          label="Frequence",
                          orient="horizontal",length=250,from_=0,to=10,
                          sliderlength=50,tickinterval=0,showvalue=0,
                          command=self.update)
        self.offset=DoubleVar()
        self.scale_offset=Scale(self.cursorFrame,variable=self.offset,
                          label="Offset",
                          orient="horizontal",length=250,from_=-10.0,to=10.0,
                          sliderlength=50,tickinterval=5,showvalue=0,
                          command=self.update)

        self.phase=IntVar()
        self.scale_phase=Scale(self.cursorFrame,variable=self.phase,
                          label="Phase",
                          orient="horizontal",length=250,from_=-90,to=90,
                          sliderlength=10,tickinterval=45,showvalue=0,
                          command=self.update)


        self.voltVar = DoubleVar()
        self.voltVar.set(1)
        self.button1 = Radiobutton(self.selectionFrame, text="1V", variable=self.voltVar,
                                    value=1.0*5.0,command =lambda:self.update(None))
        self.button1.select()

        self.button2 = Radiobutton(self.selectionFrame, text="2V", variable=self.voltVar,
                                    value=2.0*5.0, command =lambda:self.update(None))

        self.button5 = Radiobutton(self.selectionFrame, text="5V", variable=self.voltVar,
                                    value=5.0*5.0, command =lambda:self.update(None))

        self.isOffsetVar= IntVar()
        self.isOffset = Checkbutton(self.selectionFrame,text = "Offset",variable = self.isOffsetVar,
                                    command =lambda:self.update(None))
Example #10
0
    def create_other_buttons(self):
        "Fill frame with buttons tied to other options."
        f = self.make_frame("Direction")

        btn = Radiobutton(f, anchor="w",
                variable=self.engine.backvar, value=1,
                text="Up")
        btn.pack(side="left", fill="both")
        if self.engine.isback():
            btn.select()

        btn = Radiobutton(f, anchor="w",
                variable=self.engine.backvar, value=0,
                text="Down")
        btn.pack(side="left", fill="both")
        if not self.engine.isback():
            btn.select()
Example #11
0
    def initial(self):
        iniheader = headersmall(self.frame, text="Initial points sampler:")

        latin = Radiobutton(self.frame, text="Latin", variable=self.params["initializer"], value="latin",
                            bg=Styles.colours["grey"])
        sobol = Radiobutton(self.frame, text="Sobol", variable=self.params["initializer"], value="sobol",
                            bg=Styles.colours["grey"])
        uniform = Radiobutton(self.frame, text="Uniform", variable=self.params["initializer"], value="uniform",
                              bg=Styles.colours["grey"])

        iniheader.grid(row=4, column=1, sticky=W, columnspan=1)
        latin.grid(row=5, column=1, pady=0, sticky=W, padx=10)
        sobol.grid(row=6, column=1, pady=0, sticky=W, padx=10)
        uniform.grid(row=7, column=1, pady=0, sticky=W, padx=10)
Example #12
0
    def rec(self):
        recheader = headersmall(self.frame, text="Recommender:")

        incumbent = Radiobutton(self.frame, text="Incumbent", variable=self.params["recommender"], value="incumbent",
                                bg=Styles.colours["grey"])
        latent = Radiobutton(self.frame, text="Latent", variable=self.params["recommender"], value="latent",
                             bg=Styles.colours["grey"])
        observed = Radiobutton(self.frame, text="Observed", variable=self.params["recommender"], value="observed",
                               bg=Styles.colours["grey"])

        recheader.grid(row=4, column=0, sticky=W, columnspan=1)
        incumbent.grid(row=5, column=0, pady=0, sticky=W, padx=10)
        latent.grid(row=6, column=0, pady=0, sticky=W, padx=10)
        observed.grid(row=7, column=0, pady=0, sticky=W, padx=10)
Example #13
0
    def add_screen( self, fr, title ):

        b = Radiobutton( self.rb_fr, text=title, indicatoron=0, \
            variable=self.choice, value=self.count, \
            command=lambda: self.display( fr ), padx=10, pady=5 )
        b.pack( fill=BOTH, side=self.side )

        # ensures the first frame will be
        # the first selected/enabled
        if not self.active_fr:
            fr.pack( fill=BOTH, expand=1 )
            self.active_fr = fr

        self.count += 1

        # returns a reference to the newly created
        # radiobutton (allowing its configuration/destruction)         
        return b
Example #14
0
    def __init__(self, wname='guippy', master=None):
        Tkinter.Frame.__init__(self, master)
        self.master.title(wname)

        self.radio_value = IntVar()
        self.radio_values = {'test1': 0,
                             'test2': 1,
                             'test3': 2,
                             }

        self.check_values = {'test1': BooleanVar(),
                             'test2': BooleanVar(),
                             'test3': BooleanVar(),
                             }


        self.option_value = StringVar()
        self.entry_value = StringVar()
        self.result_value = StringVar()

        self.radio_entry = StringVar()
        self.check_entry = StringVar()

        # widgets
        kwds = {'padx':3, 'pady': 3, 'side': Tkinter.LEFT}
        ff = Frame(self)
        ff.pack(side=Tkinter.TOP, anchor='w')
        Button(ff, text='apply  ', command=self.apply).pack(**kwds)
        Button(ff, text='reapply').pack(**kwds)


        ff = Frame(self)
        ff.pack(side=Tkinter.TOP, anchor='w')
        for key, val in sorted(self.radio_values.items()):
            _r = Radiobutton(ff, text=key, variable=self.radio_value, value=val)
            _r.pack(**kwds)
        Entry(ff, textvariable=self.radio_entry).pack(**kwds)

        ff = Frame(self)
        ff.pack(side=Tkinter.TOP, anchor='c')
        for key, val in sorted(self.check_values.items()):
            _w = Checkbutton(ff, text=key, variable=val)
            _w.pack(**kwds)
        Entry(ff, textvariable=self.check_entry).pack(**kwds)
Example #15
0
def init():
    """初始化页面"""
    global user, offset, photo, url, buy_house, buy_car, age, height, salary, \
        education, company, industry, school, position, satisfy, appearance
    get_user(offset)
    image_url = u'{}&quality=85&thumbnail=410y410'.format(user['avatar'])
    place_image(image_url)

    photo = Label(master, image=tk_image)
    photo.place(anchor=u'nw', x=10, y=40)
    url = Label(master, text=user['url'], font=Font(size=20, weight='bold'))
    url.place(anchor=u'nw', x=10, y=5)
    buy_house = Label(master, text=BUY_HOUSE.get(user['house']) or user['house'])
    buy_house.place(anchor=u'nw', x=490, y=50)
    buy_car = Label(master, text=BUY_CAR.get(user['car']) or user['car'])
    buy_car.place(anchor=u'nw', x=490, y=75)
    age = Label(master, text=user['age'])
    age.place(anchor=u'nw', x=490, y=100)
    height = Label(master, text=user['height'])
    height.place(anchor=u'nw', x=490, y=125)
    salary = Label(master, text=SALARY.get(user['salary']) or user['salary'])
    salary.place(anchor=u'nw', x=490, y=150)
    education = Label(master, text=EDUCATION.get(user['education']) or user['education'])
    education.place(anchor=u'nw', x=490, y=175)
    company = Label(master, text=user['company'] if user['company'] else u'--')
    company.place(anchor=u'nw', x=490, y=200)
    industry = Label(master, text=INDUSTRY.get(user['industry']) or user['industry'])
    industry.place(anchor=u'nw', x=490, y=225)
    school = Label(master, text=user['school'] if user['school'] else u'--')
    school.place(anchor=u'nw', x=490, y=250)
    position = Label(master, text=POSITION.get(user['position']) or user['position'])
    position.place(anchor=u'nw', x=490, y=275)

    satisfy = IntVar()
    satisfy.set(int(user.get(u'satisfy', -1)))
    satisfied = Radiobutton(master, text=u"满意", variable=satisfy,
                            value=1, command=set_satisfy)
    not_satisfied = Radiobutton(master, text=u"不满意", variable=satisfy,
                                value=0, command=set_satisfy)
    satisfied.place(anchor=u'nw', x=450, y=10)
    not_satisfied.place(anchor=u'nw', x=510, y=10)

    appearance = IntVar()
    appearance.set(int(user.get(u'appearance', -1)))
    for i in range(1, 11):
        score_i = Radiobutton(master, text=str(i), variable=appearance,
                              value=i, command=set_appearance)
        score_i.place(anchor=u'nw', x=i * 40 - 30, y=460)
Example #16
0
	def __init__(self,parent,graphics):
		Frame.__init__(self)
		self.parent = parent
		self.graphics = graphics
		self.config(bg=self.graphics.mainColor)
		self.selected = ""
		self.font = tkFont.Font(family="Courier", size=12)
		#self.color = '#FFFFFF'

		#Title Label
		self.outputLabel = Label(self, text="", bg=self.graphics.mainColor)
		self.outputLabel.grid(row=0,column=0,sticky='ns',padx=6,pady=5)

		v = IntVar()

		self.b1 = Radiobutton(self, text="Cash", variable=v, value=1, bg=self.graphics.mainColor, command=lambda: self.cash())
		self.b1.grid(row=1,column=0)
		self.b2 = Radiobutton(self, text="Credit", variable=v, value=2, bg=self.graphics.mainColor, command=lambda: self.credit())
		self.b2.grid(row=1,column=1)

		#Title Label
		self.creditCardNumberLabel = Label(self, text="Credit Card Number", bg=self.graphics.mainColor)
		self.creditCardNumberLabel.grid(row=2,column=0,sticky='ns',padx=6,pady=5)

		#Manual Enter Output
		self.creditCardNumber = Entry(self,width=20)
		self.creditCardNumber.grid(row=2,column=1,sticky='ns',padx=6)

		#Title Label
		self.nameLabel = Label(self, text="Enter Name", bg=self.graphics.mainColor)
		self.nameLabel.grid(row=3,column=0,sticky='ns',padx=6,pady=5)

		#Manual Enter Output
		self.name = Entry(self,width=20)
		self.name.grid(row=3,column=1,sticky='ns',padx=6)

		self.submitButton = Button(self, text="Submit", width=15, command=lambda: self.submit())
		self.submitButton.grid(row=4,column=0)

		self.cancelButton = Button(self, text="Cancel", width=15, command=lambda: self.cancel())
		self.cancelButton.grid(row=4,column=1)
Example #17
0
	def __init__(self,master):
		root_frame = Frame(master)
		root_frame.pack()

		menubar = Menu(master)

		menufile = Menu(menubar,tearoff=0)
		menufile.add_command(label="Open")
		menufile.add_command(label="Save")
		menubar.add_cascade(label="File",menu=menufile)

		master.config(menu=menubar)

		right_frame = Frame(root_frame,bg="white")
		right_frame.pack(side=RIGHT)

		self.button = Button(right_frame, text="quit", 
				fg="red", command=root_frame.quit)
		self.button.pack(side=TOP)

		MODES = [("3D","rectangle"),("2D","line")]
		self.mode = StringVar()
		self.mode.set("line")
		for text,mode in MODES:
			b = Radiobutton(right_frame,text=text,
					variable=self.mode,value=mode)
			b.pack(anchor=W)

		self.camera_canvas = Canvas(right_frame,bg="red")
		self.camera_canvas.bind("<ButtonPress-1>", self.pressed)
		self.camera_canvas.bind("<B1-Motion>", self.moved)
		self.camera_canvas.bind("<ButtonRelease-1>", self.released)
		self.camera_canvas.pack(side=BOTTOM)

		self.plot_canvas = Canvas(root_frame,width=100,bg="blue")
		self.plot_canvas.pack(side=LEFT)

		self.tomogram_canvas = Canvas(root_frame,bg="black")
		self.tomogram_canvas.pack(side=LEFT)
Example #18
0
    def create_widgets(self):
        """构建界面"""
        self.radio_value = IntVar()

        Label(self, text="网络安全").grid(row=0, column=2, pady=10)
        # 生成label
        Label(self, text="用户名").grid(row=3, column=1, pady=10)
        Label(self, text="密码").grid(row=4, column=1)
        # 生成用户名和密码输入框
        self.name_input = Entry(self)
        self.name_input.grid(row=3, column=2)
        self.password = Entry(self)
        self.password['show'] = '*'
        self.password.grid(row=4, column=2)

        self.radio = Radiobutton(self, text="rsa", variable=self.radio_value, padx=20, value=1)
        self.radio.grid(row=5, column=1)

        self.radio1 = Radiobutton(self, text="des", variable=self.radio_value, padx=20, value=2)
        self.radio1.grid(row=6, column=1)

        self.alert_button = Button(self, text='提交', command=self.submit)
        self.alert_button.grid(row=7, column=1)
Example #19
0
    def crear_widgets(self):

        self.var = IntVar()
        self.background_label = Label(self.container, image=self.imagen_fondo)
        txt = "Selecciona una choza en la que entrar. Ganarás si:\n"
        txt += "La choza está vacia o si su ocupante es tu aliado, de lo contrario morirás"
        self.info_label = Label(self.container, text=txt, bg='white')
        # Creamos un dicionario con las opciones para las imagenes de las chozas
        r_btn_config = {
            'variable': self.var,
            'bg': '#8AA54C',
            'activebackground': 'green',
            'image': self.imagen_choza,
            'height': self.alto_choza,
            'width': self.ancho_choza,
            'command': self.radio_btn_pressed
        }

        self.r1 = Radiobutton(self.container, r_btn_config, value=1)
        self.r2 = Radiobutton(self.container, r_btn_config, value=2)
        self.r3 = Radiobutton(self.container, r_btn_config, value=3)
        self.r4 = Radiobutton(self.container, r_btn_config, value=4)
        self.r5 = Radiobutton(self.container, r_btn_config, value=5)
Example #20
0
    def options_output(self):
        """
        Output is selected by the user from options provided via radiobuttons.

        Options are provided for selecting current through any element or
        voltage across any element.
        """
        self.v = StringVar()
        Label(self.root, text="Options for output").grid(row=0, column=0,
                                                         sticky='news')
        for ind in range(len(self.element_list)):
            Radiobutton(self.root, text="Voltage across " +
                        self.element_list[ind], variable=self.v, value="V:" +
                        self.element_list[ind]).grid(row=ind+1, column=0,
                                                     sticky=tk.W, pady=4)
            Radiobutton(self.root, text="Current through " +
                        self.element_list[ind], variable=self.v, value="I:" +
                        self.element_list[ind]).grid(row=ind+1, column=1,
                                                     sticky=tk.W, pady=4)
        Button(self.root, text="Confirm selection of output",
               command=self.output_selected).grid(row=len(self.element_list)+2,
                                                  column=0, sticky=tk.W,
                                                  pady=4)
    def create_widgets(self):
        """Create various widgets in the tkinter main window."""
        self.var = IntVar()
        self.background_label = Label(self.container, image=self.village_image)
        txt = "Select a hut to enter. You win if:\n"
        txt += "The hut is unoccupied or the occupant is a friend!"
        self.info_label = Label(self.container, text=txt, bg='yellow')
        # Create a dictionary for radio button config options.
        r_btn_config = {
            'variable': self.var,
            'bg': '#A8884C',
            'activebackground': 'yellow',
            'image': self.hut_image,
            'height': self.hut_height,
            'width': self.hut_width,
            'command': self.radio_btn_pressed
        }

        self.r1 = Radiobutton(self.container, r_btn_config, value=1)
        self.r2 = Radiobutton(self.container, r_btn_config, value=2)
        self.r3 = Radiobutton(self.container, r_btn_config, value=3)
        self.r4 = Radiobutton(self.container, r_btn_config, value=4)
        self.r5 = Radiobutton(self.container, r_btn_config, value=5)
Example #22
0
    def minormax(self):
        objheader = headersmall(self.frame, text="Objective:")

        rmim = Radiobutton(self.frame, text="Minimize", variable=self.params["objective"], value="min", bg=Styles.colours["grey"])
        rmax = Radiobutton(self.frame, text="Maximize", variable=self.params["objective"], value="max", bg=Styles.colours["grey"])

        objheader.grid(row=7, column=1, sticky=W, columnspan=2)
        rmim.grid(row=8, column=1, pady=0, sticky=W, padx=10)
        rmax.grid(row=9, column=1, pady=0, sticky=W, padx=10)
Example #23
0
    def add_screen(self, fr, title):

        b = Radiobutton(self.rb_fr, bd=1, text=title, indicatoron=0, \
                        variable=self.choice, value=self.count, \
                        command=lambda: self.display(fr))
        
        b.grid(column=self.count, row=0, sticky=N + E + W)
        self.rb_fr.columnconfigure(self.count, weight=1)

        fr.grid(sticky=N + W + E)
        self.screen_fr.columnconfigure(0, weight=1)
        fr.grid_remove()

        # ensures the first frame will be
        # the first selected/enabled
        if not self.active_fr:
            fr.grid()
            self.active_fr = fr

        self.count += 1

        # returns a reference to the newly created
        # radiobutton (allowing its configuration/destruction)
        return b
Example #24
0
    def __init__(self, wname="guippy", master=None):
        Tkinter.Frame.__init__(self, master)
        self.master.title(wname)

        self.radio_value = IntVar()
        self.radio_values = {"test1": 0, "test2": 1, "test3": 2}

        self.check_values = {"test1": BooleanVar(), "test2": BooleanVar(), "test3": BooleanVar()}

        self.option_value = StringVar()
        self.entry_value = StringVar()
        self.result_value = StringVar()

        self.radio_entry = StringVar()
        self.check_entry = StringVar()

        # widgets
        kwds = {"padx": 3, "pady": 3, "side": Tkinter.LEFT}
        ff = Frame(self)
        ff.pack(side=Tkinter.TOP, anchor="w")
        Button(ff, text="apply  ", command=self.apply).pack(**kwds)
        Button(ff, text="reapply").pack(**kwds)

        ff = Frame(self)
        ff.pack(side=Tkinter.TOP, anchor="w")
        for key, val in sorted(self.radio_values.items()):
            _r = Radiobutton(ff, text=key, variable=self.radio_value, value=val)
            _r.pack(**kwds)
        Entry(ff, textvariable=self.radio_entry).pack(**kwds)

        ff = Frame(self)
        ff.pack(side=Tkinter.TOP, anchor="c")
        for key, val in sorted(self.check_values.items()):
            _w = Checkbutton(ff, text=key, variable=val)
            _w.pack(**kwds)
        Entry(ff, textvariable=self.check_entry).pack(**kwds)
Example #25
0
        def __init__(self, name, select_command, tab_row, tab_set):
            """Constructor arguments:

            name -- The tab's name, which will appear in its button.

            select_command -- The command to be called upon selection of the
            tab. It is called with the tab's name as an argument.

            """
            Frame.__init__(self, tab_row, borderwidth=self.bw, relief=RAISED)

            self.name = name
            self.select_command = select_command
            self.tab_set = tab_set
            self.is_last_in_row = False

            self.button = Radiobutton(
                self, text=name, command=self._select_event,
                padx=5, pady=1, takefocus=False, indicatoron=False,
                highlightthickness=0, selectcolor='', borderwidth=0)
            self.button.pack(side=LEFT, fill=X, expand=True)

            self._init_masks()
            self.set_normal()
	def time(self):
		from Tkinter import LabelFrame
		time_frame = LabelFrame(self.root, height = 100, width = 150, text = "Time settings")
		time_frame.grid(column = 1, row = 0, columnspan = 1, rowspan = 1)

		from Tkinter import Radiobutton
		time_now = Radiobutton(time_frame, text = "Now", variable = time, value = 1)
		time_now.grid(column = 0, row = 0, columnspan = 1, rowspan = 1)
		time_selection = Radiobutton(time_frame, text = "Select", variable = time, value = 2)
		time_selection.grid(column = 0, row = 1, columnspan = 1, rowspan = 1)
Example #27
0
    def options_input(self):
        """
        Input is selected by the user from options provided via radiobuttons.

        If there are *n* voltage sources in the circuit, *n* radiobuttons are
        given as optons to the user. The user can select any one and then
        clicks on Confirm selection of input.
        """
        self.v = IntVar()
        Label(self.root, text="Options for input").grid(row=0, column=0,
                                                        sticky='news')
        for ind in range(self.num_volt_sources):
            Radiobutton(self.root, text="V"+str(ind+1), variable=self.v,
                        value=ind+1).grid(row=ind+1, column=0, sticky=tk.W,
                                          pady=4)
        Button(self.root, text="Confirm selection of input",
               command=self.compute_val).grid(row=ind+4, column=0, sticky=tk.W,
                                              pady=4)
Example #28
0
def app():
    root = Tk()
    root.geometry("500x500+100+200")

    lb1 = Label(root, text="I have many head...Choose one:")
    heads = Radiobutton(root, )
    music_cb = Checkbutton(root, text="music")
    fullscreen_cb = Checkbutton(root, text="fullscreen")
    #全屏勾选,音乐勾选。
    bt1 = Button(root, text="START", command=play_head)
    bt2 = Button(root, text="MoreHead", command=add_head)

    music_cb.pack()
    fullscreen_cb.pack()
    lb1.pack()
    bt1.pack()
    bt2.pack()
    root.mainloop()
class getDist():
    def __init__(self, master):
        self.master = master
        self.startwindow()
        #self.b=0    # no need for this, directly store in the global variable

    def startwindow(self):

        self.var1 = IntVar()
        self.textvar = StringVar()

        self.Label1 = Label(self.master, text="Search distance (meters)")
        self.Label1.grid(row=0, column=0)

        self.Label2 = Label(self.master, textvariable=self.textvar)
        self.Label2.grid(row=2, column=0)

        self.rb1 = Radiobutton(self.master,
                               text="5000",
                               variable=self.var1,
                               value=5000,
                               command=self.cb1select)
        self.rb1.grid(row=1, column=0, sticky=W)

        self.rb2 = Radiobutton(self.master,
                               text="625",
                               variable=self.var1,
                               value=625,
                               command=self.cb1select)
        self.rb2.grid(row=1, column=1, sticky=W)

        self.rb3 = Radiobutton(self.master,
                               text="160",
                               variable=self.var1,
                               value=160,
                               command=self.cb1select)
        self.rb3.grid(row=1, column=2, sticky=W)

        self.Button1 = Button(self.master, text="ok", command=self.ButtonClick)
        self.Button1.grid(row=2, column=2)

    def ButtonClick(self):
        global dist
        dist = self.var1.get()
        self.master.quit()

    def cb1select(self):
        return self.var1.get()
    def create_other_buttons(self):
        '''Return (frame, others) for testing.

        Others is a list of value, label pairs.
        A gridded frame from make_frame is filled with radio buttons.
        '''
        frame = self.make_frame("Direction")[0]
        var = self.engine.backvar
        others = [(1, 'Up'), (0, 'Down')]
        for val, label in others:
            btn = Radiobutton(frame, anchor="w",
                              variable=var, value=val, text=label)
            btn.pack(side="left", fill="both")
            if var.get() == val:
                btn.select()
        return frame, others
Example #31
0
    def solver(self):
        solverheader = headersmall(self.frame, text="Solvers:")
        direct = Radiobutton(self.frame, text="Direct", variable=self.params["solver"], value="direct",
                             bg=Styles.colours["grey"])
        lbfgs = Radiobutton(self.frame, text="LBFGS", variable=self.params["solver"], value="lbfgs",
                            bg=Styles.colours["grey"])
        message = Message(self.frame, text="Enable normalization if you use lbfgs", width=200)
        try:
            import nlopt
        except:
            self.params["solver"].set("lbfgs")
            self.params["normalize"].set(1)
            direct.config(state=DISABLED)
            message.config(text="You do not have nlopt library installed to use the Direct Solver",
                           bg=Styles.colours["lightRed"])

        normalize = Checkbutton(self.frame, text="Normalize Input", variable=self.params["normalize"],
                                bg=Styles.colours["grey"])

        solverheader.grid(row=1, column=0, sticky=W, columnspan=2)
        direct.grid(row=2, column=0, pady=0, sticky=W, padx=10)
        lbfgs.grid(row=3, column=0, pady=0, sticky=W, padx=10)
        message.grid(row=2, column=1, rowspan=1)
        normalize.grid(row=3, column=1)
    def __init__(self,
                 root,
                 radioName,
                 radioOptions,
                 startSelect=0,
                 background=None,
                 foreground=None,
                 callback=None,
                 width=40):
        self.frame = Frame(root,
                           borderwidth=2,
                           relief=GROOVE,
                           background=background)
        Label(self.frame,
              text=radioName,
              width=width,
              background=background,
              foreground=foreground).grid(row=0)

        self.selection = IntVar(self.frame)

        self.buttons = list()

        for i, opt in enumerate(radioOptions):
            self.buttons.append(
                Radiobutton(self.frame,
                            text=opt,
                            variable=self.selection,
                            value=i,
                            command=callback,
                            background=background,
                            activebackground=background,
                            foreground=foreground,
                            activeforeground=foreground))
            self.buttons[i].grid(row=i + 1, sticky=W)
        self.buttons[startSelect].select()
Example #33
0
        def __init__(self, name, select_command, tab_row, tab_set):
            """Constructor arguments:

            name -- The tab's name, which will appear in its button.

            select_command -- The command to be called upon selection of the
            tab. It is called with the tab's name as an argument.

            """
            Frame.__init__(self, tab_row, borderwidth=self.bw, relief=RAISED)

            self.name = name
            self.select_command = select_command
            self.tab_set = tab_set
            self.is_last_in_row = False

            self.button = Radiobutton(
                self, text=name, command=self._select_event,
                padx=5, pady=1, takefocus=FALSE, indicatoron=FALSE,
                highlightthickness=0, selectcolor='', borderwidth=0)
            self.button.pack(side=LEFT, fill=X, expand=True)

            self._init_masks()
            self.set_normal()
Example #34
0
    def Show():
        Gui.configuration.ReadConfiguration()

        Gui.top = Tkinter.Tk()
        Gui.top.title("SGS performance test")

        label = Label(Gui.top, text="Select options and execute tasks", height=2)
        label.grid(row=0, sticky=W)

        # ########################################################

        Gui.var = IntVar()
        Gui.var.set(1 if Gui.configuration.IsBuildTypeDebug() else 2)
        R1 = Radiobutton(Gui.top, text="Debug Build", variable=Gui.var, value=1, height=2,command=Gui.BuildType)
        R1.grid(row=1, sticky=W)
        R2 = Radiobutton(Gui.top, text="Release Build", variable=Gui.var, value=2, height=2, command=Gui.BuildType)
        R2.grid(row=2, sticky=W)

        # ########################################################

        Gui.dirLabel = Label(Gui.top, text='Dir: ', bd=4)
        Gui.dirLabel.grid(row=3, sticky=W)
        Gui.UpdateDirLabel()

        dirButton = Tkinter.Button(Gui.top, text='Select dir containing cpp/external', bd=4, command=Gui.AskDirectory)
        dirButton.grid(row=4, sticky=W)

        # ########################################################

        def SetupCallBack():
           print "Setup"
        setup = Tkinter.Button(Gui.top, text ="Setup", bd=4, command = Gui.SetupCallBack)
        setup.grid(row=5, sticky=W)

        def ExecuteCallBack():
           print "Execute"
        execute = Tkinter.Button(Gui.top, text ="Execute", bd=4, command = Gui.ExecuteCallBack)
        execute.grid(row=6, sticky=W)

        # new line
        print ''
        Gui.top.mainloop()
class getDist():
    def __init__(self, master):
        self.master=master
        self.startwindow()
        #self.b=0    # no need for this, directly store in the global variable

    def startwindow(self):

        self.var1 = IntVar()
        self.textvar = StringVar()

        self.Label1=Label(self.master, text="Search distance (meters)")
        self.Label1.grid(row=0, column=0)

        self.Label2=Label(self.master, textvariable=self.textvar)
        self.Label2.grid(row=2, column=0)

        self.rb1 = Radiobutton(self.master, text="5000", variable=self.var1,
                               value=5000, command=self.cb1select)
        self.rb1.grid(row=1, column=0, sticky=W)

        self.rb2 = Radiobutton(self.master, text="625", variable=self.var1,
                               value=625, command=self.cb1select)
        self.rb2.grid(row=1, column=1, sticky=W)

        self.rb3 = Radiobutton(self.master, text="160", variable=self.var1,
                               value=160, command=self.cb1select)
        self.rb3.grid(row=1, column=2, sticky=W)
        
        self.Button1=Button(self.master, text="ok", command=self.ButtonClick)
        self.Button1.grid(row=2, column=2)
    def ButtonClick(self):
        global dist
        dist = self.var1.get()
        self.master.quit()

    def cb1select(self):
        return self.var1.get()
Example #36
0
def gui():
    from Tkinter import Tk, Label, Entry, Button, Scale, Checkbutton, W, HORIZONTAL, Frame, StringVar, IntVar, DoubleVar, Radiobutton, BooleanVar, E

    global root
    root = Tk()
    root.wm_title("Compute R_complete")
    line = 0

    global insFile, hklFile, nHKL, nParams, nHKLLabel, fracFree, status, nParamsLabel, nCPU, rCompleteLabel, cycles, lsType, cleanup, nFree, nRunsLabel, mergeCheck, compileMap
    insFile = StringVar()
    hklFile = StringVar()
    nHKL = IntVar()
    nParams = IntVar()
    nFree = IntVar()
    fracFree = DoubleVar()
    fracFree.set(5.0)
    nCPU = IntVar()
    nCPU.set(maxCPU)
    cycles = IntVar()
    cycles.set(10)
    lsType = IntVar()
    lsType.set(1)
    cleanup = BooleanVar()
    cleanup.set(True)
    mergeCheck = BooleanVar()
    mergeCheck.set(True)
    compileMap = BooleanVar()
    compileMap.set(True)

    Label(root, text='Instruction File:').grid(row=line, column=0, sticky=E)
    Entry(root, textvariable=insFile).grid(row=line, column=1)
    Button(root, text='Browse', command=browseINS).grid(row=line, column=2)

    line += 1

    Label(root, text='Reflection File:').grid(row=line, column=0, sticky=E)
    Entry(root, textvariable=hklFile).grid(row=line, column=1)
    Button(root, text='Browse', command=browseHKL).grid(row=line, column=2)

    line += 1
    Checkbutton(root, var=mergeCheck, text='Merge Reflections').grid(row=line,
                                                                     column=1,
                                                                     sticky=W)
    line += 1
    Button(root, text='Load', command=load).grid(row=line, columnspan=3)
    line += 1

    Frame(root, height=20).grid(row=line)

    line += 1

    Label(root, text='# of reflections:').grid(row=line, sticky=E)
    nHKLLabel = Label(root, text='???')
    nHKLLabel.grid(row=line, column=1, sticky=W)

    line += 1

    Label(root, text='# of atoms:').grid(row=line, sticky=E)
    nParamsLabel = Label(root, text='???')
    nParamsLabel.grid(row=line, column=1, sticky=W)

    line += 1

    Frame(root, height=20).grid(row=line)

    line += 1

    Label(root, text='Select Parameters').grid(row=line, column=1)
    line += 1

    Frame(root, height=20).grid(row=line)
    line += 1

    Label(root, text='# of free reflections:').grid(row=line, sticky=E)
    nFreeEntry = Entry(root, width=5, textvariable=nFree)
    nFreeEntry.grid(row=line, column=1, sticky=W)
    nFreeEntry.bind('<Return>', setScale)
    nRunsLabel = Label(root, text='# runs')
    nRunsLabel.grid(row=line, column=2)

    line += 1

    Label(root, text='% of free reflections:').grid(row=line,
                                                    column=0,
                                                    sticky=E)
    w = Scale(root,
              from_=0.1,
              to=10.0,
              resolution=0.1,
              orient=HORIZONTAL,
              length=200,
              var=fracFree,
              command=percentScale)
    w.grid(row=line, column=1, columnspan=2, sticky=W)

    line += 1

    Label(root, text='stable <-------------------------------> fast').grid(
        row=line, column=1, columnspan=2, sticky=W)

    line += 1
    Frame(root, height=10).grid(row=line)

    line += 1

    Label(root, text='Refinement cycles:').grid(row=line, column=0, sticky=E)
    ls = Scale(root,
               from_=0,
               to=50,
               resolution=1,
               orient=HORIZONTAL,
               length=200,
               var=cycles)
    ls.grid(row=line, column=1, columnspan=2, sticky=W)

    line += 1

    Label(root, text='fast <--------------------> less model bias').grid(
        row=line, column=1, columnspan=2, sticky=W)

    line += 1
    Frame(root, height=10).grid(row=line)

    line += 1
    Label(root, text='# of CPUs:').grid(row=line, column=0, sticky=E)
    ww = Scale(root,
               from_=1,
               to=maxCPU,
               orient=HORIZONTAL,
               length=200,
               var=nCPU)
    ww.grid(row=line, column=1, columnspan=2, sticky=W)

    line += 1

    Label(root, text='Refinement Type:').grid(row=line, column=0, sticky=E)
    Radiobutton(root, text='CGLS', var=lsType, value=1).grid(row=line,
                                                             column=1,
                                                             sticky=W)
    Radiobutton(root, text='L.S.', var=lsType, value=2).grid(row=line,
                                                             column=2,
                                                             sticky=W)

    line += 1
    Frame(root, height=10).grid(row=line)
    line += 1

    Label(root, text='Compile map:').grid(row=line, column=0, sticky=E)
    Checkbutton(root, var=compileMap).grid(row=line, column=1, sticky=W)

    line += 1
    Label(root, text='Cleanup:').grid(row=line, column=0, sticky=E)
    Checkbutton(root, var=cleanup).grid(row=line, column=1, sticky=W)

    line += 1

    Button(root, text='RUN', command=run, width=25).grid(row=line,
                                                         columnspan=3)

    line += 1
    Frame(root, height=20).grid(row=line)
    line += 1

    Label(root, text='R_complete:').grid(row=line, column=0, sticky=E)
    rCompleteLabel = Label(root, text='???')
    rCompleteLabel.grid(row=line, column=1, sticky=W)

    line += 1

    Frame(root, height=20).grid(row=line)

    line += 1

    Label(root, text='Status:').grid(row=line, column=0, sticky=E)
    status = Label(root, text='Idle... Please load files.')
    status.grid(row=line, column=1, columnspan=2, sticky=W)
    global IDLE
    IDLE = True

    root.mainloop()
Example #37
0
        img = Image.fromarray(cv2image)
        imgtk = ImageTk.PhotoImage(image=img)
        lmain.imgtk = imgtk
        lmain.configure(image=imgtk)
        while counter != 100:
            counter += 1
            lmain.after(10, show_frame)

    show_frame()
    # cap.release()





R00 = Radiobutton(top, text="Single Image", variable=var00, value=1, command=var00Sel)
R00.invoke()
R00.place(x = 180, y = 15)

R01 = Radiobutton(top, text="Webcam", variable=var00, value=2, command=var00Sel)
R01.place(x = 350, y = 15)



label1 = tkinter.Label(top, text = "Low-Resolution Image", relief=RAISED)
label1.config(width = 50)
label1.place(x = 180, y = 50)



def click1():
TwoLepcharge_val = IntVar()
TwoLepcharge_val.set(1)  #2 Leptons: same/diferent charge
st_lepflavourcb = IntVar()
st_InvMasscb = IntVar()
TwoLepflavour_val = IntVar()
TwoLepflavour_val.set(1)  #2 Leptons: same/diferent flavour
InvariantM_val = IntVar()
InvariantM_val.set(0)  #Invariant mass
InvariantM2_val = IntVar()
InvariantM2_val.set(0)  #Invariant mass
Range_val = IntVar()
Range_val.set(0)  #Range of invariant mass

#Checkboxes for same/opposite charge
b1_LepCharge = Radiobutton(OptionsLep,
                           text="Same charge",
                           variable=TwoLepcharge_val,
                           value=1)
b2_LepCharge = Radiobutton(OptionsLep,
                           text="Opposite charge",
                           variable=TwoLepcharge_val,
                           value=-1)


def chooseLepcharge():
    """Displays options if user checks the box to select leptons' charges"""
    TwoLepcharge_val = IntVar()
    TwoLepcharge_val.set(1)
    if st_lepchargecb.get() == 1:
        b1_LepCharge.grid(row=1, sticky=W)
        b2_LepCharge.grid(row=2, sticky=W)
    else:
Example #39
0
def init():
    """初始化页面"""
    global user, offset, photo, url, buy_house, buy_car, age, height, salary, \
        education, company, industry, school, position, satisfy, appearance
    get_user(offset)
    image_url = u'{}&quality=85&thumbnail=410y410'.format(user['avatar'])
    place_image(image_url)

    photo = Label(master, image=tk_image)
    photo.place(anchor=u'nw', x=10, y=40)
    url = Label(master, text=user['url'], font=Font(size=20, weight='bold'))
    url.place(anchor=u'nw', x=10, y=5)
    buy_house = Label(master,
                      text=BUY_HOUSE.get(user['house']) or user['house'])
    buy_house.place(anchor=u'nw', x=490, y=50)
    buy_car = Label(master, text=BUY_CAR.get(user['car']) or user['car'])
    buy_car.place(anchor=u'nw', x=490, y=75)
    age = Label(master, text=user['age'])
    age.place(anchor=u'nw', x=490, y=100)
    height = Label(master, text=user['height'])
    height.place(anchor=u'nw', x=490, y=125)
    salary = Label(master, text=SALARY.get(user['salary']) or user['salary'])
    salary.place(anchor=u'nw', x=490, y=150)
    education = Label(master,
                      text=EDUCATION.get(user['education'])
                      or user['education'])
    education.place(anchor=u'nw', x=490, y=175)
    company = Label(master, text=user['company'] if user['company'] else u'--')
    company.place(anchor=u'nw', x=490, y=200)
    industry = Label(master,
                     text=INDUSTRY.get(user['industry']) or user['industry'])
    industry.place(anchor=u'nw', x=490, y=225)
    school = Label(master, text=user['school'] if user['school'] else u'--')
    school.place(anchor=u'nw', x=490, y=250)
    position = Label(master,
                     text=POSITION.get(user['position']) or user['position'])
    position.place(anchor=u'nw', x=490, y=275)

    satisfy = IntVar()
    satisfy.set(int(user.get(u'satisfy', -1)))
    satisfied = Radiobutton(master,
                            text=u"满意",
                            variable=satisfy,
                            value=1,
                            command=set_satisfy)
    not_satisfied = Radiobutton(master,
                                text=u"不满意",
                                variable=satisfy,
                                value=0,
                                command=set_satisfy)
    satisfied.place(anchor=u'nw', x=450, y=10)
    not_satisfied.place(anchor=u'nw', x=510, y=10)

    appearance = IntVar()
    appearance.set(int(user.get(u'appearance', -1)))
    for i in range(1, 11):
        score_i = Radiobutton(master,
                              text=str(i),
                              variable=appearance,
                              value=i,
                              command=set_appearance)
        score_i.place(anchor=u'nw', x=i * 40 - 30, y=460)
Example #40
0
    def initUI(self):
        """
        Initializes the user interface

        Setting up the entry widgets for:
        - Experiment_ID
        - Participant Name
        - Session Day
        - Pupil Size
        - Practice
        - Stereo
        """
        # Set the title
        self.parent.title(EXP_NAME)

        # Create the label for Experiment_ID and set location
        label_id = Label(text='Participant ID:')
        label_id.place(x=20, y=20)

        # Check the DATA_DIR directory for previous participants
        # and choose the next Experiment_ID in line
        self.folders = listdir(DATA_DIR)
        # Initiate Tkinter's StringVar
        self.value_id = StringVar()
        # Set the default value
        self.value_id.set('001')
        # Going in reverse order of the participants' directories in
        # DATA_DIR, find the last participant's Experiment_ID and opt
        # for the next one in line
        for folder in reversed(self.folders):
            try:
                # Check if the value of the first 3 digits of the
                # directory name is greater than the default value
                if int(folder[:3]) >= int(self.value_id.get()):
                    # Get the next Experiment_ID in integer form and
                    # convert to string format
                    num = str(int(folder[:3]) + 1)
                    # Actions to perform in case scenarios for each
                    # of the possibilites of num_length
                    num_length = {3: num, 2: '0%s' % num, 1: '00%s' % num}
                    # Set the value accordingly to the StringVar,
                    # replacing the default
                    self.value_id.set(num_length[len(num)])
            # In case there are other folders in DATA_DIR, for which
            # the first 3 characters are not digits, we must cater
            # for when an exception is thrown up
            except ValueError:
                pass
        # Create the entry widget for Experiment_ID with the preset
        # value and state disabled
        self.input_id = Entry(self.parent,
                              width=5,
                              state=DISABLED,
                              textvariable=self.value_id)
        self.input_id.place(x=150, y=20)

        # Create the label for Participant Name and set location
        label_name = Label(text='Participant Name:')
        label_name.place(x=20, y=50)

        # Initiate Tkinter's StringVar
        self.value_name = StringVar()
        # Set the default value
        self.value_name.set('')
        # Create the entry for Participant Name and set location
        self.input_name = Entry(self.parent,
                                width=35,
                                textvariable=self.value_name)
        self.input_name.place(x=150, y=50)
        self.input_name.focus()

        # Create the label for Session Day and set location
        label_day = Label(text='Session Day:')
        label_day.place(x=20, y=80)

        # Create value holder for Session Day as IntVar and set default
        # value to 1
        self.value_day = IntVar()
        self.value_day.set(1)
        # Create the radiobuttons as required
        for day in range(1, TOTAL_SESSIONS + 1):
            input_day = Radiobutton(self.parent,
                                    text=str(day),
                                    variable=self.value_day,
                                    value=day)
            # Anchor them to the West (W)
            input_day.pack(anchor=W)
            # Choose location for the radiobuttons
            input_day.place(x=150, y=(50 + (day * 25)))

        # Create the label for Pupil Size and set location
        label_pupilsize = Label(text='Pupil Size:')
        label_pupilsize.place(x=20, y=140)

        self.value_pupilsize = StringVar()
        self.value_pupilsize.set('')
        # Create the MaxLengthEntry for Pupil Size and set location
        # The maximum length is set to 3 characters and a float must be
        # provided
        self.input_pupilsize = MaxLengthEntry(self.parent,
                                              width=5,
                                              maxlength=3,
                                              required_type=float)
        self.input_pupilsize.config(textvariable=self.value_pupilsize)
        self.input_pupilsize.place(x=150, y=140)

        # Create value folder for Practice as IntVar
        self.value_practice = IntVar()
        # Create the checkbutton for Practice and set location
        input_practice = Checkbutton(self.parent,
                                     text='Practice',
                                     variable=self.value_practice,
                                     onvalue=1,
                                     offvalue=0)
        input_practice.place(x=150, y=170)

        # Create value holder for Stereo as IntVar
        self.value_stereo = IntVar()
        # Create the checkbutton for Stereo and set location
        input_stereo = Checkbutton(self.parent,
                                   text='Stereo',
                                   variable=self.value_stereo,
                                   onvalue=1,
                                   offvalue=0)
        input_stereo.place(x=150, y=200)

        # Create the label for Previous Subjects and set location
        label_previous = Label(text='Previous Subjects:')
        label_previous.place(x=20, y=250)

        # Create the Listboc containing all the previous participants
        self.input_previous = Listbox(self.parent, width=35, height=10)
        for identifier in self.folders:
            self.input_previous.insert(END, identifier)
        self.input_previous.place(x=150, y=250)
        self.input_previous.bind('<<ListboxSelect>>', self.__select_previous)

        # Create the submit button, give command upon pressing and set
        # location
        submit = Button(text='Submit', width=47, command=self.gather_input)
        submit.pack(padx=8, pady=8)
        submit.place(x=20, y=425)
Example #41
0
    def __init__(self, parent, options):
        if options == None:
            options = {}            
        DefaultOptions = {'colorspace':'RGB', 'K':6, 'km_init':'first', 'verbose':False, 'single_thr':0.6, 'metric':'basic'}
        for op in DefaultOptions:
            if not op in options:
                options[op] = DefaultOptions[op]
        self.options = options
        self.K_ant = 0        
        self.num_im=-1
        Frame.__init__(self, parent)   
        self.parent = parent
        self.parent.title("TAGGING")        

        self.F1 = Frame(parent, width=150,borderwidth=2,relief=GROOVE)
        self.F2 = Frame(parent, width=150,borderwidth=2,relief=GROOVE)
        self.F3 = Frame(parent)
        self.F4 = Frame(parent,borderwidth=2,relief=GROOVE)
        self.F5 = Frame(parent,borderwidth=2,relief=GROOVE)
        self.F1.pack(side=LEFT, fill=Y, pady = 4, padx=4)
        self.F2.pack(side=LEFT, fill=Y, pady = 4)
        self.F3.pack(side=TOP, expand=True, fill=BOTH, pady = 4, padx = 4)
        self.F4.pack(side=TOP, fill=BOTH,  expand=0, padx = 4)
        self.F5.pack(side=BOTTOM, fill=BOTH,  expand=0, pady = 4, padx = 4)
        self.F1.pack_propagate(0)
        self.F2.pack_propagate(0)
        self.F3.pack_propagate(0)

        lbl = Label(self.F1, text="Groundtruth")
        lbl.grid(row=0,sticky=W)
        Frame(self.F1,borderwidth=1,relief=GROOVE,height=2).grid(row=1,sticky=W)

        lbl = Label(self.F2, text="Detected")
        lbl.grid(row=0,sticky=W, columnspan=2)
        Frame(self.F2,borderwidth=1,relief=GROOVE,height=2).grid(row=1,sticky=W, columnspan=2)
        
        self.filename = Button(self.F3,text="filename",command=self.ChooseFile)
        self.filename.pack(side=TOP,expand=0)

#        #matplotlib setup
#        plt.ion()
        self.figure=plt.figure(figsize=(2,2), frameon=False)
        self.axes=self.figure.add_subplot(111)
        self.Canvas=FigureCanvasTkAgg(self.figure, master=self.F3)
#        self.Canvas.show()        
        self.Canvas.get_tk_widget().pack(side=TOP,fill=BOTH,expand=1 )
        plt.axis('off')


        b = Button(self.F4,text=" <<<10 ",command=self.PreviousFast)
        b.pack(side=LEFT, padx=(20,2), pady=3)
        b = Button(self.F4,text=" <<1 ",command=self.Previous)
        b.pack(side=LEFT, pady=3)
        self.im_name = Button(self.F4,text="image",bd=0, command=self.Results)
        self.im_name.pack(side=LEFT, expand=True)        
        b = Button(self.F4,text=" 1>> ",command=self.Next)
        b.pack(side=LEFT)
        b = Button(self.F4,text=" 10>>> ",command=self.NextFast)
        b.pack(side=LEFT, padx=(2,20))

        F51 = Frame(self.F5)
        F52 = Frame(self.F5)
        F53 = Frame(self.F5)
        F51.pack(fill=BOTH, expand=1, side=LEFT)
        Frame(self.F5,borderwidth=1,relief=GROOVE,width=2).pack(side=LEFT, fill=Y)
        F52.pack(fill=BOTH, expand=1, side=LEFT)
        Frame(self.F5,borderwidth=1,relief=GROOVE,width=2).pack(side=LEFT, fill=Y)
        F53.pack(fill=BOTH, expand=1, side=LEFT)

        Label(F51, text="Color space").pack()
        Frame(F51,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        Label(F52, text="K-Means").pack()
        Frame(F52,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        Label(F53, text="Labelling").pack()
        Frame(F53,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        
        self.ColorMode = StringVar()
        self.ColorMode.set(self.options[COLORSSPACE['key']]) 
        for text, mode in COLORSSPACE['options_gui']:
            b = Radiobutton(F51, text=text, variable=self.ColorMode, value=mode, command=self.Results)
            b.pack(anchor=W)        

        Frame(F51,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        Label(F51, text="Grouping", padx=20).pack()
        Frame(F51,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        self.Group = BooleanVar()
        self.Group.set(True)
        b = Checkbutton(F51, text='Group same label colors', variable=self.Group, command=self.Results)
        b.pack(anchor=W)
        

        F521 = Frame(F52)
        F522 = Frame(F52)

        F521.pack(fill=BOTH)
        F522.pack(fill=BOTH)
#        F523 = Frame(F52)
#        F523.pack(fill=BOTH)

        self.K = StringVar()
        self.K.set(self.options['K'])
#        f = Frame(F52)
#        f.pack(side=TOP, fill=BOTH,  expand=0)
        Label(F521, text="K : ").pack(side=LEFT)
        Entry(F521, textvariable=self.K, width=3, justify=CENTER).pack(side=LEFT, padx=4)
#        Label(F52, text="Init", padx=20).pack(anchor=W)
#        Frame(F521,borderwidth=1,relief=GROOVE,width=2).pack(side=RIGHT, fill=Y, padx=2)

        self.Fitting = StringVar()
        self.Fitting.set(self.options[FITTING['key']]) 
#        f = Frame(F52)
#        f.pack(side=RIGHT, fill=BOTH,  expand=0)
        for text, mode in FITTING['options_gui']:
            b = Radiobutton(F521, text=text, variable=self.Fitting, value=mode, command=self.Results)
            b.pack(anchor=W,padx=4)        
            
        Frame(F522,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        Label(F522, text="Centroid Init", padx=20).pack()
        Frame(F522,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
#        IM = [('First points','first'),('Randomize', 'random'),('Distribtued','distributed'),('Other','Other')]

        self.KMInit = StringVar()
        self.KMInit.set(self.options[CENTROIDSINIT['key']]) 
        for text, mode in CENTROIDSINIT['options_gui']:
            b = Radiobutton(F522, text=text, variable=self.KMInit, value=mode, command=self.Results)
            b.pack(anchor=W)        

        
        self.Thr = StringVar()
        self.Thr.set(self.options['single_thr'])
        f = Frame(F53)
        f.pack(side=TOP, fill=BOTH,  expand=0)
        Label(f, text="single\nbasic   >\ncolor", justify=LEFT).pack(side=LEFT)
        Entry(f, textvariable=self.Thr, width=4, justify=CENTER).pack(side=LEFT)
#        self.Synonymous = BooleanVar()
#        self.Synonymous.set(self.options['synonyms'])
#        b = Checkbutton(F53, text='Synonymous', variable=self.Synonymous, command=self.Results)
#        b.pack(anchor=W)
        
        Frame(F53,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        Label(F53, text="Similarity Metric", padx=2).pack()
        Frame(F53,borderwidth=1,relief=GROOVE,height=2).pack(fill=X)
        self.Metric = StringVar()
        self.Metric.set(self.options[SIMILARITY['key']]) 
        for text, mode in SIMILARITY['options_gui']:
            b = Radiobutton(F53, text=text, variable=self.Metric, value=mode, command=self.Results)
            b.pack(anchor=W)        
my_msg.set("")
scrollbar = tkinter.Scrollbar(messages_frame)

msg_list = tkinter.Listbox(messages_frame,
                           height=28,
                           width=85,
                           bg="#99FFFF",
                           yscrollcommand=scrollbar.set)
scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
msg_list.pack(side=tkinter.LEFT, fill=tkinter.BOTH)
msg_list.pack()
messages_frame.pack()
var = tkinter.IntVar()
tapy = 170
var.set(0)
Radiobutton(text='Tekst', value=0, variable=var).place(x=840, y=180)
Radiobutton(text='Dekodowanie', value=1, variable=var).place(x=840, y=205)
Radiobutton(text='Kodowanie', value=2, variable=var).place(x=840, y=230)
Radiobutton(text='Sygnaly dzwiekowe', value=3, variable=var).place(x=840,
                                                                   y=255)
Radiobutton(text='Sygnaly graficzne', value=4, variable=var).place(x=840,
                                                                   y=280)

imageLabel = Label(top,
                   text="Wiadomosc graficzna",
                   bg="#33CC00",
                   fg="black",
                   font="Helvetica")
imageLabel.place(x=10, y=230, height=30, width=200)
optionsLabel = Label(top,
                     text="Wybierz opcje",
Example #43
0
    def init_gui(self):
        """init helper"""
        #setting up frames
        top_frame = Frame(self.root)
        mid_frame = Frame(self.root)
        radio_frame = Frame(self.root)
        res_frame = Frame(self.root)
        msg_frame = Frame(self.root)
        check_frame = Frame(self.root)
        history_frame = Frame(self.root)
        btn_frame = Frame(self.root)
        rating_frame = Frame(self.root)
        top_frame.pack(side=TOP, fill=X)
        mid_frame.pack(side=TOP, fill=X)
        history_frame.pack(side=TOP, fill=BOTH, expand=True)
        radio_frame.pack(side=TOP, fill=BOTH, expand=True)
        rating_frame.pack(side=TOP, fill=BOTH, expand=True)
        res_frame.pack(side=TOP, fill=BOTH, expand=True)
        check_frame.pack(side=TOP, fill=BOTH, expand=True)
        msg_frame.pack(side=TOP, fill=BOTH, expand=True)
        btn_frame.pack(side=TOP, fill=X)

        # Binding F5 application-wide to run lint
        self.root.bind('<F5>', self.run_lint)

        #Message ListBox
        rightscrollbar = Scrollbar(msg_frame)
        rightscrollbar.pack(side=RIGHT, fill=Y)
        bottomscrollbar = Scrollbar(msg_frame, orient=HORIZONTAL)
        bottomscrollbar.pack(side=BOTTOM, fill=X)
        self.lbMessages = Listbox(msg_frame,
                                  yscrollcommand=rightscrollbar.set,
                                  xscrollcommand=bottomscrollbar.set,
                                  bg="white")
        self.lbMessages.bind("<Double-Button-1>", self.show_sourcefile)
        self.lbMessages.pack(expand=True, fill=BOTH)
        rightscrollbar.config(command=self.lbMessages.yview)
        bottomscrollbar.config(command=self.lbMessages.xview)

        #Message context menu
        self.mnMessages = Menu(self.lbMessages, tearoff=0)
        self.mnMessages.add_command(label="View in sourcefile",
                                    command=self.show_sourcefile)
        self.mnMessages.add_command(label="Add to ignore patchfile",
                                    command=self.add_to_ignore_patchfile)
        self.lbMessages.bind("<Button-3>", self.show_messages_context)

        #History ListBoxes
        rightscrollbar2 = Scrollbar(history_frame)
        rightscrollbar2.pack(side=RIGHT, fill=Y)
        bottomscrollbar2 = Scrollbar(history_frame, orient=HORIZONTAL)
        bottomscrollbar2.pack(side=BOTTOM, fill=X)
        self.showhistory = Listbox(history_frame,
                                   yscrollcommand=rightscrollbar2.set,
                                   xscrollcommand=bottomscrollbar2.set,
                                   bg="white")
        self.showhistory.pack(expand=True, fill=BOTH)
        rightscrollbar2.config(command=self.showhistory.yview)
        bottomscrollbar2.config(command=self.showhistory.xview)
        self.showhistory.bind('<Double-Button-1>', self.select_recent_file)
        self.set_history_window()

        #status bar
        self.status = Label(self.root, text="", bd=1, relief=SUNKEN, anchor=W)
        self.status.pack(side=BOTTOM, fill=X)

        #labels
        self.lblRatingLabel = Label(rating_frame, text='Rating:')
        self.lblRatingLabel.pack(side=LEFT)
        self.lblRating = Label(rating_frame, textvariable=self.rating)
        self.lblRating.pack(side=LEFT)
        Label(mid_frame, text='Recently Used:').pack(side=LEFT)
        Label(top_frame, text='Module or package').pack(side=LEFT)

        #file textbox
        self.txtModule = Entry(top_frame, background='white')
        self.txtModule.bind('<Return>', self.run_lint)
        self.txtModule.pack(side=LEFT, expand=True, fill=X)

        #results box
        rightscrollbar = Scrollbar(res_frame)
        rightscrollbar.pack(side=RIGHT, fill=Y)
        bottomscrollbar = Scrollbar(res_frame, orient=HORIZONTAL)
        bottomscrollbar.pack(side=BOTTOM, fill=X)
        self.results = Listbox(res_frame,
                               yscrollcommand=rightscrollbar.set,
                               xscrollcommand=bottomscrollbar.set,
                               bg="white",
                               font="Courier")
        self.results.pack(expand=True, fill=BOTH, side=BOTTOM)
        rightscrollbar.config(command=self.results.yview)
        bottomscrollbar.config(command=self.results.xview)

        #buttons
        Button(top_frame, text='Open', command=self.file_open).pack(side=LEFT)
        Button(top_frame,
               text='Open Package',
               command=(lambda: self.file_open(package=True))).pack(side=LEFT)

        self.btnRun = Button(top_frame, text='Run', command=self.run_lint)
        self.btnRun.pack(side=LEFT)
        Button(btn_frame, text='Quit', command=self.quit).pack(side=BOTTOM)

        #radio buttons
        self.information_box = IntVar()
        self.convention_box = IntVar()
        self.refactor_box = IntVar()
        self.warning_box = IntVar()
        self.error_box = IntVar()
        self.fatal_box = IntVar()
        i = Checkbutton(check_frame,
                        text="Information",
                        fg=COLORS['(I)'],
                        variable=self.information_box,
                        command=self.refresh_msg_window)
        c = Checkbutton(check_frame,
                        text="Convention",
                        fg=COLORS['(C)'],
                        variable=self.convention_box,
                        command=self.refresh_msg_window)
        r = Checkbutton(check_frame,
                        text="Refactor",
                        fg=COLORS['(R)'],
                        variable=self.refactor_box,
                        command=self.refresh_msg_window)
        w = Checkbutton(check_frame,
                        text="Warning",
                        fg=COLORS['(W)'],
                        variable=self.warning_box,
                        command=self.refresh_msg_window)
        e = Checkbutton(check_frame,
                        text="Error",
                        fg=COLORS['(E)'],
                        variable=self.error_box,
                        command=self.refresh_msg_window)
        f = Checkbutton(check_frame,
                        text="Fatal",
                        fg=COLORS['(F)'],
                        variable=self.fatal_box,
                        command=self.refresh_msg_window)
        i.select()
        c.select()
        r.select()
        w.select()
        e.select()
        f.select()
        i.pack(side=LEFT)
        c.pack(side=LEFT)
        r.pack(side=LEFT)
        w.pack(side=LEFT)
        e.pack(side=LEFT)
        f.pack(side=LEFT)

        #check boxes
        self.box = StringVar()
        # XXX should be generated
        report = Radiobutton(radio_frame,
                             text="Report",
                             variable=self.box,
                             value="Report",
                             command=self.refresh_results_window)
        rawMet = Radiobutton(radio_frame,
                             text="Raw metrics",
                             variable=self.box,
                             value="Raw metrics",
                             command=self.refresh_results_window)
        dup = Radiobutton(radio_frame,
                          text="Duplication",
                          variable=self.box,
                          value="Duplication",
                          command=self.refresh_results_window)
        ext = Radiobutton(radio_frame,
                          text="External dependencies",
                          variable=self.box,
                          value="External dependencies",
                          command=self.refresh_results_window)
        stat = Radiobutton(radio_frame,
                           text="Statistics by type",
                           variable=self.box,
                           value="Statistics by type",
                           command=self.refresh_results_window)
        msgCat = Radiobutton(radio_frame,
                             text="Messages by category",
                             variable=self.box,
                             value="Messages by category",
                             command=self.refresh_results_window)
        msg = Radiobutton(radio_frame,
                          text="Messages",
                          variable=self.box,
                          value="Messages",
                          command=self.refresh_results_window)
        sourceFile = Radiobutton(radio_frame,
                                 text="Source File",
                                 variable=self.box,
                                 value="Source File",
                                 command=self.refresh_results_window)
        report.select()
        report.grid(column=0, row=0, sticky=W)
        rawMet.grid(column=1, row=0, sticky=W)
        dup.grid(column=2, row=0, sticky=W)
        msg.grid(column=3, row=0, sticky=W)
        stat.grid(column=0, row=1, sticky=W)
        msgCat.grid(column=1, row=1, sticky=W)
        ext.grid(column=2, row=1, sticky=W)
        sourceFile.grid(column=3, row=1, sticky=W)

        #dictionary for check boxes and associated error term
        self.msg_type_dict = {
            'I': lambda: self.information_box.get() == 1,
            'C': lambda: self.convention_box.get() == 1,
            'R': lambda: self.refactor_box.get() == 1,
            'E': lambda: self.error_box.get() == 1,
            'W': lambda: self.warning_box.get() == 1,
            'F': lambda: self.fatal_box.get() == 1
        }
        self.txtModule.focus_set()
Example #44
0
    def create_other_buttons(self):
        "Fill frame with buttons tied to other options."
        f = self.make_frame("Direction")

        btn = Radiobutton(f,
                          anchor="w",
                          variable=self.engine.backvar,
                          value=1,
                          text="Up")
        btn.pack(side="left", fill="both")
        if self.engine.isback():
            btn.select()

        btn = Radiobutton(f,
                          anchor="w",
                          variable=self.engine.backvar,
                          value=0,
                          text="Down")
        btn.pack(side="left", fill="both")
        if not self.engine.isback():
            btn.select()
Example #45
0
    def __init__(self, maestro):
        # Atributo de conteo'''
        self.botonClics = 0
        self.bandDATA = 3
        self.operacion=""
        self.cliente = ''
        self.Producto = ''
        self.alturaDATA = 0
        self.anchoDATA = 0
        self.largoDATA = 0
        self.Datos = []
        for i in range (7):
            self.Datos.append('')
            
        self.consoleSQL = PSQLmerma1()
        #gg = Tkk.Notebook(maestro)
        self.top = Toplevel(maestro)
        self.top.title('Introduce medidas de la caja')
        self.top.update_idletasks()
#        w = self.top.winfo_screenwidth()
#        h = self.top.winfo_screenheight()
#        size = tuple(int(_) for _ in self.top.geometry().split('+')[0].split('x'))
#        x = w/2 - size[0]/2
#        y = h/2 - size[1]/2
#        print size + (x, y)
#        
        self.top.geometry("+150+60")
        #self.top.iconbitmap('/home/pi/Desktop/ProgGUI/GUI/resources/ICO/IconoBCT.ico')
        
        #MARCO3 ESEL LINEZO DONDE SE DIBUJAN LAS PESTAÑAS
        self.marco3 = TTK.Notebook(self.top)

        # CREAMOS EL MARCO PARA CADA UNA DE LAS PESTAÑAS
        self.page1 = TTK.Frame(self.marco3)
        self.page2 = TTK.Frame(self.marco3)
        self.page3 = TTK.Frame(self.marco3)
        self.page4 = TTK.Frame(self.marco3)
        self.page5 = TTK.Frame(self.marco3)
       
        # AGREGAMOS EL MARCO A LAS PESTAÑAS Y SU NOMBRE
        self.marco3.add(self.page1, text='Dimensiones de la caja')
        self.marco3.add(self.page2, text='Descripción de la caja')
        self.marco3.add(self.page3, text='Descripción de la prueba')
        self.marco3.add(self.page4, text='Datos del cliente')
        self.marco3.add(self.page5, text='Resumen de datos')
        self.marco3.grid()
        
        # AGREGAGOS CONTENIDO A PESTAÑA 1
        self.IMGcaja = PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/caja.png')
        self.IMGancho= PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/anchoSelect.png')
        self.IMGlargo= PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/largoSelect.png')
        self.IMGalto = PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/altoSelect.png')
        
        self.cajaLB = Label(self.page1, image = self.IMGcaja)
        self.cajaLB.grid(row = 0, column = 4, rowspan = 5, columnspan = 3)
        
        self.txtLB = 'Seleccione un botón e ingrese \n las medidas en cm'
        self.LB = Label(self.page1, font =('Helvetica', 15), text = self.txtLB)
        self.LB.grid(row = 0, column = 0, columnspan = 4)
        
        self.CBdata = Text(self.page1, state="disabled", width=40, height=2, font=("Helvetica",15))
        self.CBdata.grid(row = 1, column = 0, columnspan = 4)
        
        self.anchoL = Label(self.page1, 
                            font =('Helvetica', 15), 
                            text = "")
        self.anchoL.grid(row =4, column = 4, sticky = 's')
        self.BTNancho = Button(self.page1, width=5, height=1, font=("Helvetica",15), text = 'Ancho', command =lambda: self.selectCB('an'))
        self.BTNancho.grid(row = 5, column = 4)
        self.largoL = Label(self.page1, 
                            font =('Helvetica', 15), 
                            text = "")
        self.largoL.grid(row =4, column = 5, sticky = 's')
        self.BTNlargo = Button(self.page1, width=5, height=1, font=("Helvetica",15), text = 'Largo', command =lambda: self.selectCB('la'))
        self.BTNlargo.grid(row = 5, column = 5)
        self.altoL  = Label(self.page1, 
                            font =('Helvetica', 15), 
                            text = "")
        self.altoL.grid(row =4, column = 6, sticky = 's')
        self.BTNalto = Button(self.page1, width=5, height=1, font=("Helvetica",15), text = 'Alto', command =lambda: self.selectCB('al'))
        self.BTNalto.grid(row = 5, column = 6)
        
        boton1 = self.crearBoton(1)
        boton2 = self.crearBoton(2)
        boton3 = self.crearBoton(3)
        boton4 = self.crearBoton(4)
        boton5 = self.crearBoton(5)
        boton6 = self.crearBoton(6)
        boton7 = self.crearBoton(7)
        boton8 = self.crearBoton(8)
        boton9 = self.crearBoton(9)
        boton0 = self.crearBoton(0,ancho=7)
        botonErase = self.crearBoton(u"\u232B",escribir=False)
        botonErase['background'] = "red"
        botonErase.grid(row = 2, column = 3)
        botonEnter = self.crearBoton(u"\u21B5",escribir=False)
        botonEnter['background'] = "green"
        botonEnter.grid(row = 3, column = 3)
        botondot = self.crearBoton('.')
        
        #Ubicación de los botones
        botones=[boton7, boton8, boton9,
                 boton4, boton5, boton6,
                 boton1, boton2, boton3,
                 boton0]
        contador=0
        for fila in range(2,5):
            for columna in range(3):
                botones[contador].grid(row=fila,column=columna)
                contador+=1
        #Ubicar el último botón al final
        botones[contador].grid(row=5,column=0,columnspan=2)
        botondot.grid(row = 5, column = 2)
        
        # AGREGAGOS CONTENIDO A PESTAÑA 2
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Seleccione:')\
              .grid(row = 0, column = 0,columnspan = 5)
              
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Estilo de caja')\
              .grid(row = 1, column = 0)
              
        self.listCaja = Combobox(self.page2,
                                 state="readonly",
                                 values = ["Caja troquelada", "Caja est" + u"\xe1" + "ndar"],
                                 font =('Helvetica', 15))
        self.listCaja.grid(row = 2, column = 0)
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 2, column = 1)
        
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Tipo de flauta')\
              .grid(row = 1, column = 2)
        self.listFlauta = Combobox(self.page2,
                                   state="readonly",
                                   values = ["Corrugado sencillo B", "Corrugado sencillo C", "Corrugado sencillo E", "Doble corrugado BC", "Doble corrugado EB"],
                                   font =('Helvetica', 15))
        self.listFlauta.grid(row = 2, column = 2)
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 2, column = 3)
              
              
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Dirección de la flauta')\
              .grid(row = 1, column = 4)
        self.listFlautaD= Combobox(self.page2,
                                   state="readonly",
                                   values = ["Horizontal", "Vertical"],
                                   font =('Helvetica', 15))
        self.listFlautaD.grid(row = 2, column = 4)
                                   
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 3, column = 0, columnspan = 3)
        
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Grado del material')\
              .grid(row = 4, column = 0)
        self.listGradoM= Combobox(self.page2,
                                   state="readonly",
                                   values = ["No aplica", "20 ECT", "21 ECT", "23 ECT", "26 ECT", "29 ECT", "32 ECT", "44 ECT", "48 ECT", "50 ECT", "61 ECT", "71 ECT"],
                                   font =('Helvetica', 15))
        self.listGradoM.grid(row = 5, column = 0)
                                   
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Tipo de unión')\
              .grid(row = 4, column = 2)
        self.listUnion= Combobox(self.page2,
                                   state="readonly",
                                   values = ["Pegado", "Grapado", "Armado automático"],
                                   font =('Helvetica', 15))
        self.listUnion.grid(row = 5, column = 2)
        
        # AGREGAMOS CONTEIDO A PAGE3
        Label(self.page3, 
              font =('Helvetica', 15), 
              text = 'Método de cierre')\
              .grid(row = 0, column = 0)
        self.listCierre= Combobox(self.page3,
                                   state="readonly",
                                   values = ["Conforme a la TAPPI T 804", "Otro", "No aplica"],
                                   font =('Helvetica', 15))
        self.listCierre.grid(row = 1, column = 0)
                                   
        Label(self.page3, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 0, column = 1)
              
        Label(self.page3, 
              font =('Helvetica', 15), 
              text = 'Orientación de la prueba')\
              .grid(row = 0, column = 2)
        self.listOrientaC= Combobox(self.page3,
                                   state="readonly",
                                   values = ["Arriba a abajo", "Extremo a extremo", "Lado a lado"],
                                   font =('Helvetica', 15))
        self.listOrientaC.grid(row = 1, column = 2)
        
        self.IMGbct = Image.open(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/CajaBIedit.png')
        
        self.cajaBCT = Label(self.page3, image = self.IMGbct)
        self.cajaBCT.grid(row = 2, column = 0, columnspan = 3)
        
        # AGREGAMOS CONTENIDO A PAGE 4
        self.txtLB = 'Ingresar datos o buscar por número de pedido'
        self.state = TTK.Label(self.page4, font =('Helvetica', 15), text = self.txtLB)
        self.state.grid(row = 0, column = 0, columnspan = 12)
        
        boton1 = self.crearBotonP4(1)
        boton2 = self.crearBotonP4(2)
        boton3 = self.crearBotonP4(3)
        boton4 = self.crearBotonP4(4)
        boton5 = self.crearBotonP4(5)
        boton6 = self.crearBotonP4(6)
        boton7 = self.crearBotonP4(7)
        boton8 = self.crearBotonP4(8)
        boton9 = self.crearBotonP4(9)
        boton0 = self.crearBotonP4(0)
        
        botonQ = self.crearBotonP4('Q')
        botonW = self.crearBotonP4('W')
        botonE = self.crearBotonP4('E')
        botonR = self.crearBotonP4('R')
        botonT = self.crearBotonP4('T')
        botonY = self.crearBotonP4('Y')
        botonU = self.crearBotonP4('U')
        botonI = self.crearBotonP4('I')
        botonO = self.crearBotonP4('O')
        botonP = self.crearBotonP4('P')
        botonA = self.crearBotonP4('A')
        botonS = self.crearBotonP4('S')
        botonD = self.crearBotonP4('D')
        botonF = self.crearBotonP4('F')
        botonG = self.crearBotonP4('G')
        botonH = self.crearBotonP4('H')
        botonJ = self.crearBotonP4('J')
        botonK = self.crearBotonP4('K')
        botonL = self.crearBotonP4('L')
        botonNN= self.crearBotonP4('Ñ')
        botonZ = self.crearBotonP4('Z')
        botonX = self.crearBotonP4('X')
        botonC = self.crearBotonP4('C')
        botonV = self.crearBotonP4('V')
        botonB = self.crearBotonP4('B')
        botonN = self.crearBotonP4('N')
        botonM = self.crearBotonP4('M')
        botondot = self.crearBotonP4('.')
        botonguion = self.crearBotonP4('-')
        botonguionb = self.crearBotonP4(',')
        botonErase = self.crearBotonP4(u"\u232B",escribir=False)
        botonErase['background'] = "red"
        botonErase.grid(row = 3, column = 11)
        botonEnter = self.crearBotonP4(u"\u21B5",escribir=False,alto=2)
        botonEnter['background'] = "green"
        botonEnter.grid(row = 1, column = 11, rowspan = 2, sticky = 's')
        botonSpace = Button(self.page4, text=u"\u2423", width=5, height=1, font=("Helvetica",15), command=lambda:self.clickP4(' ',True))
        botonSpace.grid(row = 4, column = 11)
        
        #Ubicación de los botones
        botones= [boton1, boton2, boton3, boton4, boton5, boton6, boton7, boton8, boton9, boton0,
                  botonQ, botonW, botonE, botonR, botonT, botonY, botonU, botonI, botonO, botonP, 
                  botonA, botonS, botonD, botonF, botonG, botonH, botonJ, botonK, botonL, botonNN, 
                  botonZ, botonX, botonC, botonV, botonB, botonN, botonM, botondot, botonguion, botonguionb]
        contador=0
        for fila in range(1,5):
            for columna in range(10):
                botones[contador].grid(row=fila,column=columna)
                contador+=1
        
        self.ChkSe = IntVar()
        self.RBCliente = Radiobutton(self.page4, text = 'Cliente',font =('Helvetica', 15), variable = self.ChkSe, value = 1)
        self.RBCliente.grid(row = 5, column = 2, columnspan = 2, sticky = 'w')
        
        self.RBProducto = Radiobutton(self.page4, text = 'Producto',font =('Helvetica', 15), variable = self.ChkSe, value = 2)
        self.RBProducto.grid(row = 5, column = 4, columnspan = 2, sticky = 'w')
        
        self.RBBuscar = Radiobutton(self.page4, text = 'Buscar por pedido',font =('Helvetica', 15), variable = self.ChkSe, value = 3)
        self.RBBuscar.grid(row = 5, column = 6, columnspan = 3, sticky = 'w')
        
        self.CBdata2 = Text(self.page4, state="disabled", width=40, height=1, font=("Helvetica",15))
        self.CBdata2.grid(row = 6, column = 0, columnspan = 12)
                
        self.clienteL = TTK.Label(self.page4, font =('Helvetica', 15), text = 'Cliente:')
        self.clienteL.grid(row = 7, column = 0, columnspan = 11, sticky = 'w')
        
        self.ProductoL = TTK.Label(self.page4, font =('Helvetica', 15), text = 'Producto:')
        self.ProductoL.grid(row = 8, column = 0, columnspan = 11, sticky = 'w')
        
        # AGREGAMOS CONTENIDO A PAGE 5
        Label(self.page5, 
              font =('Helvetica', 15), 
              text = '*                                                                                                                                                *').grid(row = 0,
#              text = '123456789_123456789_123456789_123465789_123456789_123456789_123456789_123456789_12',
              #text = '____________________________').grid(row = 0,
                                                                     column = 0,
                                                                     columnspan = 3)
        Label(self.page5, 
              font =('Helvetica', 15),
              text = '_________________________________________').grid(row = 0,
                                                                     column = 0,)
        
        Label(self.page5, 
              font =('Helvetica', 15),
              text = '_________________________________________').grid(row = 0,
                                                                     column = 1)
#        Label(self.page5, 
#              font =('Helvetica', 15),
#              text = '___________________________').grid(row = 0,
#                                                                     column = 2)
        Label(self.page5, 
              font =('Helvetica', 15), 
              text = 'Verifique los datos ingresado:').grid(row = 0,
                                                                     column = 0,
                                                                     columnspan = 2)
        self.StxtCliente = StringVar(value = '*')
        self.txtCliente = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Cliente:')
        self.txtCliente.grid(row = 1, column = 0, sticky = 'w')
        self.txtClienteL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtCliente)
        self.txtClienteL.place(x = 79, y = 28)
        
        self.StxtProducto = StringVar(value = '*')
        self.txtProducto = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Producto: ')
        self.txtProducto.grid(row = 2, column = 0, columnspan = 2, sticky = "w")
        self.txtProductoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtProducto)
        self.txtProductoL.place(x = 99, y = 56)
        
        self.StxtLargo = StringVar(value = '*')
        self.txtLargo = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Largo:')
        self.txtLargo.grid(row = 3, column = 0, sticky = "w")
        self.txtLargoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtLargo)
        self.txtLargoL.place(x= 69, y = 84)
        
        self.StxtAlto = StringVar(value = '*')
        self.txtAlto = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Alto:')
        self.txtAlto.place(x = 310, y = 84)
        self.txtAltoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtAlto)
        self.txtAltoL.place(x = 363, y = 84)
        
        self.StxtAncho = StringVar(value = '*')
        self.txtAncho = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Ancho: ')
        self.txtAncho.place(x= 590, y = 84)
        self.txtAnchoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtAncho)
        self.txtAnchoL.place(x= 666, y = 84)
        
        self.StxtStlCj = StringVar(value = '*')
        self.txtStlCj = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Estilo caja:')
        self.txtStlCj.grid(row = 4, column = 0, sticky = "w")
        self.txtStlCjL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtStlCj)
        self.txtStlCjL.place(x= 110, y = 112)
        
        self.StxtTpFlt = StringVar(value = '*')
        self.txtTpFlt = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Tipo de flauta:')
        self.txtTpFlt.grid(row = 4, column = 1, sticky = "w")
        self.txtTpFltL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtTpFlt)
        self.txtTpFltL.place(x= 594, y = 112)
        
        self.StxtDrccnFlt = StringVar(value = '*')
        self.txtDrccnFlt = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Dirección de la flauta: ')
        self.txtDrccnFlt.grid(row = 5, column = 0, sticky = "w")
        self.txtDrccnFltL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtDrccnFlt)
        self.txtDrccnFltL.place(x= 216, y = 140)
        
        self.StxtGrdMtrl = StringVar(value = '*')
        self.txtGrdMtrl = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Grado del material: ')
        self.txtGrdMtrl.grid(row = 5, column = 1, sticky = "w")
        self.txtGrdMtrlL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtGrdMtrl)
        self.txtGrdMtrlL.place(x= 640, y = 140)
        
        
        self.StxtTpUnn = StringVar(value = '*')
        self.txtTpUnn = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Tipo de unión: ')
        self.txtTpUnn.grid(row = 6, column = 0, sticky = "w")
        self.txtTpUnnL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtTpUnn)
        self.txtTpUnnL.place(x= 138, y = 168)
        
        self.StxtMtdCrr = StringVar(value = '*')
        self.txtMtdCrr = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Método de cierre: ')
        self.txtMtdCrr.grid(row = 6, column = 1, sticky = "w")
        self.txtMtdCrrL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtMtdCrr)
        self.txtMtdCrrL.place(x= 623, y = 168)
        
        self.StxtOrntcn = StringVar(value = '*')
        self.txtOrntcn = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Orientación de la prueba: ')
        self.txtOrntcn.grid(row = 7, column = 0, sticky = "w")
        self.txtOrntcnL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtOrntcn)
        self.txtOrntcnL.place(x= 243, y = 197)
        
        cc = Button(self.page5, font = ('Helvetica', 15, "bold"), text = 'Cerrar', bg = "red", command = self.cerrarB)#.place(x = 20, y = 20)
        cc.grid(row = 8, column = 0, columnspan = 2)
        
        # OBTENER LO QUE CONTIENEN CADA LISTA
        self.listCaja.bind("<<ComboboxSelected>>", self.getList)
        self.listCierre.bind("<<ComboboxSelected>>", self.getList)
        self.listFlauta.bind("<<ComboboxSelected>>", self.getList)
        self.listFlautaD.bind("<<ComboboxSelected>>", self.getList)
        self.listGradoM.bind("<<ComboboxSelected>>", self.getList)
        self.listOrientaC.bind("<<ComboboxSelected>>", self.getList)
        self.listUnion.bind("<<ComboboxSelected>>", self.getList)
        
        self.top.protocol("WM_DELETE_WINDOW", self.cerrar)
Example #46
0
File: gui.py Project: imcj/pybbs
    def init_gui(self):
        """init helper"""
        #setting up frames
        top_frame = Frame(self.root)
        mid_frame = Frame(self.root)
        radio_frame = Frame(self.root)
        res_frame = Frame(self.root)
        msg_frame = Frame(self.root)
        check_frame = Frame(self.root)
        history_frame = Frame(self.root)
        btn_frame = Frame(self.root)
        rating_frame = Frame(self.root)
        top_frame.pack(side=TOP, fill=X)
        mid_frame.pack(side=TOP, fill=X)
        history_frame.pack(side=TOP, fill=BOTH, expand=True)
        radio_frame.pack(side=TOP, fill=BOTH, expand=True)
        rating_frame.pack(side=TOP, fill=BOTH, expand=True)
        res_frame.pack(side=TOP, fill=BOTH, expand=True)
        check_frame.pack(side=TOP, fill=BOTH, expand=True)
        msg_frame.pack(side=TOP, fill=BOTH, expand=True)
        btn_frame.pack(side=TOP, fill=X)

        #Message ListBox
        rightscrollbar = Scrollbar(msg_frame)
        rightscrollbar.pack(side=RIGHT, fill=Y)
        bottomscrollbar = Scrollbar(msg_frame, orient=HORIZONTAL)
        bottomscrollbar.pack(side=BOTTOM, fill=X)
        self.lbMessages = Listbox(msg_frame,
                  yscrollcommand=rightscrollbar.set,
                  xscrollcommand=bottomscrollbar.set,
                  bg="white")
        self.lbMessages.pack(expand=True, fill=BOTH)
        rightscrollbar.config(command=self.lbMessages.yview)
        bottomscrollbar.config(command=self.lbMessages.xview)

        #History ListBoxes
        rightscrollbar2 = Scrollbar(history_frame)
        rightscrollbar2.pack(side=RIGHT, fill=Y)
        bottomscrollbar2 = Scrollbar(history_frame, orient=HORIZONTAL)
        bottomscrollbar2.pack(side=BOTTOM, fill=X)
        self.showhistory = Listbox(history_frame,
                    yscrollcommand=rightscrollbar2.set,
                    xscrollcommand=bottomscrollbar2.set,
                    bg="white")
        self.showhistory.pack(expand=True, fill=BOTH)
        rightscrollbar2.config(command=self.showhistory.yview)
        bottomscrollbar2.config(command=self.showhistory.xview)
        self.showhistory.bind('<Double-Button-1>', self.select_recent_file)
        self.set_history_window()

        #status bar
        self.status = Label(self.root, text="", bd=1, relief=SUNKEN, anchor=W)
        self.status.pack(side=BOTTOM, fill=X)

        #labels
        self.lblRatingLabel = Label(rating_frame, text='Rating:')
        self.lblRatingLabel.pack(side=LEFT)
        self.lblRating = Label(rating_frame, textvariable=self.rating)
        self.lblRating.pack(side=LEFT)
        Label(mid_frame, text='Recently Used:').pack(side=LEFT)
        Label(top_frame, text='Module or package').pack(side=LEFT)

        #file textbox
        self.txtModule = Entry(top_frame, background='white')
        self.txtModule.bind('<Return>', self.run_lint)
        self.txtModule.pack(side=LEFT, expand=True, fill=X)

        #results box
        rightscrollbar = Scrollbar(res_frame)
        rightscrollbar.pack(side=RIGHT, fill=Y)
        bottomscrollbar = Scrollbar(res_frame, orient=HORIZONTAL)
        bottomscrollbar.pack(side=BOTTOM, fill=X)
        self.results = Listbox(res_frame,
                  yscrollcommand=rightscrollbar.set,
                  xscrollcommand=bottomscrollbar.set,
                  bg="white", font="Courier")
        self.results.pack(expand=True, fill=BOTH, side=BOTTOM)
        rightscrollbar.config(command=self.results.yview)
        bottomscrollbar.config(command=self.results.xview)

        #buttons
        Button(top_frame, text='Open', command=self.file_open).pack(side=LEFT)
        Button(top_frame, text='Open Package', command=(lambda : self.file_open(package=True))).pack(side=LEFT)

        self.btnRun = Button(top_frame, text='Run', command=self.run_lint)
        self.btnRun.pack(side=LEFT)
        Button(btn_frame, text='Quit', command=self.quit).pack(side=BOTTOM)

        #radio buttons
        self.information_box = IntVar()
        self.convention_box = IntVar()
        self.refactor_box = IntVar()
        self.warning_box = IntVar()
        self.error_box = IntVar()
        self.fatal_box = IntVar()
        i = Checkbutton(check_frame, text="Information", fg=COLORS['(I)'], variable=self.information_box, command=self.refresh_msg_window)
        c = Checkbutton(check_frame, text="Convention", fg=COLORS['(C)'], variable=self.convention_box, command=self.refresh_msg_window)
        r = Checkbutton(check_frame, text="Refactor", fg=COLORS['(R)'], variable=self.refactor_box, command=self.refresh_msg_window)
        w = Checkbutton(check_frame, text="Warning", fg=COLORS['(W)'], variable=self.warning_box, command=self.refresh_msg_window)
        e = Checkbutton(check_frame, text="Error", fg=COLORS['(E)'], variable=self.error_box, command=self.refresh_msg_window)
        f = Checkbutton(check_frame, text="Fatal", fg=COLORS['(F)'], variable=self.fatal_box, command=self.refresh_msg_window)
        i.select()
        c.select()
        r.select()
        w.select()
        e.select()
        f.select()
        i.pack(side=LEFT)
        c.pack(side=LEFT)
        r.pack(side=LEFT)
        w.pack(side=LEFT)
        e.pack(side=LEFT)
        f.pack(side=LEFT)

        #check boxes
        self.box = StringVar()
        # XXX should be generated
        report = Radiobutton(radio_frame, text="Report", variable=self.box, value="Report", command=self.refresh_results_window)
        rawMet = Radiobutton(radio_frame, text="Raw metrics", variable=self.box, value="Raw metrics", command=self.refresh_results_window)
        dup = Radiobutton(radio_frame, text="Duplication", variable=self.box, value="Duplication", command=self.refresh_results_window)
        ext = Radiobutton(radio_frame, text="External dependencies", variable=self.box, value="External dependencies", command=self.refresh_results_window)
        stat = Radiobutton(radio_frame, text="Statistics by type", variable=self.box, value="Statistics by type", command=self.refresh_results_window)
        msgCat = Radiobutton(radio_frame, text="Messages by category", variable=self.box, value="Messages by category", command=self.refresh_results_window)
        msg = Radiobutton(radio_frame, text="Messages", variable=self.box, value="Messages", command=self.refresh_results_window)
        report.select()
        report.grid(column=0, row=0, sticky=W)
        rawMet.grid(column=1, row=0, sticky=W)
        dup.grid(column=2, row=0, sticky=W)
        msg.grid(column=3, row=0, sticky=E)
        stat.grid(column=0, row=1, sticky=W)
        msgCat.grid(column=1, row=1, sticky=W)
        ext.grid(column=2, row=1, columnspan=2, sticky=W)

        #dictionary for check boxes and associated error term
        self.msg_type_dict = {
            'I' : lambda : self.information_box.get() == 1,
            'C' : lambda : self.convention_box.get() == 1,
            'R' : lambda : self.refactor_box.get() == 1,
            'E' : lambda : self.error_box.get() == 1,
            'W' : lambda : self.warning_box.get() == 1,
            'F' : lambda : self.fatal_box.get() == 1
        }
        self.txtModule.focus_set()
Example #47
0
    def __init__(self, parent, root):
        Toplevel.__init__(self, root)

        self.title = 'Extract Columns'
        self.protocol('WM_DELETE_WINDOW', self.free)
        self.transient(root)
        self.wm_iconbitmap(ICO)

        self.shared_data = ExtractionList()
        self.shared_data.attach(parent)

        w = self.winfo_screenwidth()
        h = self.winfo_screenheight()
        x = w / 2 - 400
        y = h / 2
        self.geometry('+%d+%d' % (x, y))

        window_frame = Frame(self)
        window_frame.pack(fill=BOTH, expand=True)
        top_window_frame = Frame(window_frame)
        top_window_frame.pack(side=TOP, fill=X, expand=False)
        Label(top_window_frame, text='Columns: ').pack(side=LEFT,
                                                       padx=10,
                                                       pady=5)
        bottom_window_frame = Frame(window_frame,
                                    highlightthickness=1,
                                    highlightbackground='grey')
        bottom_window_frame.pack(side=TOP, fill=BOTH, expand=False, padx=10)
        self.column_map = dict()
        i = j = 0
        for title in parent.column_titles:
            self.column_map[title] = IntVar()
            Checkbutton(bottom_window_frame, text=title, variable=self.column_map[title]).\
                grid(row=i, column=j, sticky='w')
            j += 1
            if j > 2:
                i += 1
                j = 0

        bottom_filetype_frame = Frame(window_frame,
                                      highlightthickness=1,
                                      highlightbackground='grey')
        bottom_filetype_frame.pack(side=TOP,
                                   expand=False,
                                   padx=10,
                                   pady=10,
                                   anchor='w')

        self.filetype_var = IntVar()
        Radiobutton(bottom_filetype_frame, text='*.txt', variable=self.filetype_var, value=TXT).\
            pack(side=LEFT)
        Radiobutton(bottom_filetype_frame, text='*.csv', variable=self.filetype_var, value=CSV).\
            pack(side=LEFT)

        bottom_button_frame = Frame(window_frame)
        bottom_button_frame.pack(side=TOP,
                                 fill=BOTH,
                                 expand=False,
                                 padx=10,
                                 pady=15)
        Button(bottom_button_frame,
               text='Extract to File',
               command=self.extract).pack(side=TOP)
Example #48
0
class DATAin:
    def __init__(self, maestro):
        # Atributo de conteo'''
        self.botonClics = 0
        self.bandDATA = 3
        self.operacion=""
        self.cliente = ''
        self.Producto = ''
        self.alturaDATA = 0
        self.anchoDATA = 0
        self.largoDATA = 0
        self.Datos = []
        for i in range (7):
            self.Datos.append('')
            
        self.consoleSQL = PSQLmerma1()
        #gg = Tkk.Notebook(maestro)
        self.top = Toplevel(maestro)
        self.top.title('Introduce medidas de la caja')
        self.top.update_idletasks()
#        w = self.top.winfo_screenwidth()
#        h = self.top.winfo_screenheight()
#        size = tuple(int(_) for _ in self.top.geometry().split('+')[0].split('x'))
#        x = w/2 - size[0]/2
#        y = h/2 - size[1]/2
#        print size + (x, y)
#        
        self.top.geometry("+150+60")
        #self.top.iconbitmap('/home/pi/Desktop/ProgGUI/GUI/resources/ICO/IconoBCT.ico')
        
        #MARCO3 ESEL LINEZO DONDE SE DIBUJAN LAS PESTAÑAS
        self.marco3 = TTK.Notebook(self.top)

        # CREAMOS EL MARCO PARA CADA UNA DE LAS PESTAÑAS
        self.page1 = TTK.Frame(self.marco3)
        self.page2 = TTK.Frame(self.marco3)
        self.page3 = TTK.Frame(self.marco3)
        self.page4 = TTK.Frame(self.marco3)
        self.page5 = TTK.Frame(self.marco3)
       
        # AGREGAMOS EL MARCO A LAS PESTAÑAS Y SU NOMBRE
        self.marco3.add(self.page1, text='Dimensiones de la caja')
        self.marco3.add(self.page2, text='Descripción de la caja')
        self.marco3.add(self.page3, text='Descripción de la prueba')
        self.marco3.add(self.page4, text='Datos del cliente')
        self.marco3.add(self.page5, text='Resumen de datos')
        self.marco3.grid()
        
        # AGREGAGOS CONTENIDO A PESTAÑA 1
        self.IMGcaja = PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/caja.png')
        self.IMGancho= PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/anchoSelect.png')
        self.IMGlargo= PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/largoSelect.png')
        self.IMGalto = PhotoImage(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/altoSelect.png')
        
        self.cajaLB = Label(self.page1, image = self.IMGcaja)
        self.cajaLB.grid(row = 0, column = 4, rowspan = 5, columnspan = 3)
        
        self.txtLB = 'Seleccione un botón e ingrese \n las medidas en cm'
        self.LB = Label(self.page1, font =('Helvetica', 15), text = self.txtLB)
        self.LB.grid(row = 0, column = 0, columnspan = 4)
        
        self.CBdata = Text(self.page1, state="disabled", width=40, height=2, font=("Helvetica",15))
        self.CBdata.grid(row = 1, column = 0, columnspan = 4)
        
        self.anchoL = Label(self.page1, 
                            font =('Helvetica', 15), 
                            text = "")
        self.anchoL.grid(row =4, column = 4, sticky = 's')
        self.BTNancho = Button(self.page1, width=5, height=1, font=("Helvetica",15), text = 'Ancho', command =lambda: self.selectCB('an'))
        self.BTNancho.grid(row = 5, column = 4)
        self.largoL = Label(self.page1, 
                            font =('Helvetica', 15), 
                            text = "")
        self.largoL.grid(row =4, column = 5, sticky = 's')
        self.BTNlargo = Button(self.page1, width=5, height=1, font=("Helvetica",15), text = 'Largo', command =lambda: self.selectCB('la'))
        self.BTNlargo.grid(row = 5, column = 5)
        self.altoL  = Label(self.page1, 
                            font =('Helvetica', 15), 
                            text = "")
        self.altoL.grid(row =4, column = 6, sticky = 's')
        self.BTNalto = Button(self.page1, width=5, height=1, font=("Helvetica",15), text = 'Alto', command =lambda: self.selectCB('al'))
        self.BTNalto.grid(row = 5, column = 6)
        
        boton1 = self.crearBoton(1)
        boton2 = self.crearBoton(2)
        boton3 = self.crearBoton(3)
        boton4 = self.crearBoton(4)
        boton5 = self.crearBoton(5)
        boton6 = self.crearBoton(6)
        boton7 = self.crearBoton(7)
        boton8 = self.crearBoton(8)
        boton9 = self.crearBoton(9)
        boton0 = self.crearBoton(0,ancho=7)
        botonErase = self.crearBoton(u"\u232B",escribir=False)
        botonErase['background'] = "red"
        botonErase.grid(row = 2, column = 3)
        botonEnter = self.crearBoton(u"\u21B5",escribir=False)
        botonEnter['background'] = "green"
        botonEnter.grid(row = 3, column = 3)
        botondot = self.crearBoton('.')
        
        #Ubicación de los botones
        botones=[boton7, boton8, boton9,
                 boton4, boton5, boton6,
                 boton1, boton2, boton3,
                 boton0]
        contador=0
        for fila in range(2,5):
            for columna in range(3):
                botones[contador].grid(row=fila,column=columna)
                contador+=1
        #Ubicar el último botón al final
        botones[contador].grid(row=5,column=0,columnspan=2)
        botondot.grid(row = 5, column = 2)
        
        # AGREGAGOS CONTENIDO A PESTAÑA 2
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Seleccione:')\
              .grid(row = 0, column = 0,columnspan = 5)
              
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Estilo de caja')\
              .grid(row = 1, column = 0)
              
        self.listCaja = Combobox(self.page2,
                                 state="readonly",
                                 values = ["Caja troquelada", "Caja est" + u"\xe1" + "ndar"],
                                 font =('Helvetica', 15))
        self.listCaja.grid(row = 2, column = 0)
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 2, column = 1)
        
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Tipo de flauta')\
              .grid(row = 1, column = 2)
        self.listFlauta = Combobox(self.page2,
                                   state="readonly",
                                   values = ["Corrugado sencillo B", "Corrugado sencillo C", "Corrugado sencillo E", "Doble corrugado BC", "Doble corrugado EB"],
                                   font =('Helvetica', 15))
        self.listFlauta.grid(row = 2, column = 2)
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 2, column = 3)
              
              
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Dirección de la flauta')\
              .grid(row = 1, column = 4)
        self.listFlautaD= Combobox(self.page2,
                                   state="readonly",
                                   values = ["Horizontal", "Vertical"],
                                   font =('Helvetica', 15))
        self.listFlautaD.grid(row = 2, column = 4)
                                   
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 3, column = 0, columnspan = 3)
        
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Grado del material')\
              .grid(row = 4, column = 0)
        self.listGradoM= Combobox(self.page2,
                                   state="readonly",
                                   values = ["No aplica", "20 ECT", "21 ECT", "23 ECT", "26 ECT", "29 ECT", "32 ECT", "44 ECT", "48 ECT", "50 ECT", "61 ECT", "71 ECT"],
                                   font =('Helvetica', 15))
        self.listGradoM.grid(row = 5, column = 0)
                                   
        Label(self.page2, 
              font =('Helvetica', 15), 
              text = 'Tipo de unión')\
              .grid(row = 4, column = 2)
        self.listUnion= Combobox(self.page2,
                                   state="readonly",
                                   values = ["Pegado", "Grapado", "Armado automático"],
                                   font =('Helvetica', 15))
        self.listUnion.grid(row = 5, column = 2)
        
        # AGREGAMOS CONTEIDO A PAGE3
        Label(self.page3, 
              font =('Helvetica', 15), 
              text = 'Método de cierre')\
              .grid(row = 0, column = 0)
        self.listCierre= Combobox(self.page3,
                                   state="readonly",
                                   values = ["Conforme a la TAPPI T 804", "Otro", "No aplica"],
                                   font =('Helvetica', 15))
        self.listCierre.grid(row = 1, column = 0)
                                   
        Label(self.page3, 
              font =('Helvetica', 15), 
              text = '             ')\
              .grid(row = 0, column = 1)
              
        Label(self.page3, 
              font =('Helvetica', 15), 
              text = 'Orientación de la prueba')\
              .grid(row = 0, column = 2)
        self.listOrientaC= Combobox(self.page3,
                                   state="readonly",
                                   values = ["Arriba a abajo", "Extremo a extremo", "Lado a lado"],
                                   font =('Helvetica', 15))
        self.listOrientaC.grid(row = 1, column = 2)
        
        self.IMGbct = Image.open(file = '/home/pi/Desktop/InterfazG-BCT/resources/img/cajaDATA/CajaBIedit.png')
        
        self.cajaBCT = Label(self.page3, image = self.IMGbct)
        self.cajaBCT.grid(row = 2, column = 0, columnspan = 3)
        
        # AGREGAMOS CONTENIDO A PAGE 4
        self.txtLB = 'Ingresar datos o buscar por número de pedido'
        self.state = TTK.Label(self.page4, font =('Helvetica', 15), text = self.txtLB)
        self.state.grid(row = 0, column = 0, columnspan = 12)
        
        boton1 = self.crearBotonP4(1)
        boton2 = self.crearBotonP4(2)
        boton3 = self.crearBotonP4(3)
        boton4 = self.crearBotonP4(4)
        boton5 = self.crearBotonP4(5)
        boton6 = self.crearBotonP4(6)
        boton7 = self.crearBotonP4(7)
        boton8 = self.crearBotonP4(8)
        boton9 = self.crearBotonP4(9)
        boton0 = self.crearBotonP4(0)
        
        botonQ = self.crearBotonP4('Q')
        botonW = self.crearBotonP4('W')
        botonE = self.crearBotonP4('E')
        botonR = self.crearBotonP4('R')
        botonT = self.crearBotonP4('T')
        botonY = self.crearBotonP4('Y')
        botonU = self.crearBotonP4('U')
        botonI = self.crearBotonP4('I')
        botonO = self.crearBotonP4('O')
        botonP = self.crearBotonP4('P')
        botonA = self.crearBotonP4('A')
        botonS = self.crearBotonP4('S')
        botonD = self.crearBotonP4('D')
        botonF = self.crearBotonP4('F')
        botonG = self.crearBotonP4('G')
        botonH = self.crearBotonP4('H')
        botonJ = self.crearBotonP4('J')
        botonK = self.crearBotonP4('K')
        botonL = self.crearBotonP4('L')
        botonNN= self.crearBotonP4('Ñ')
        botonZ = self.crearBotonP4('Z')
        botonX = self.crearBotonP4('X')
        botonC = self.crearBotonP4('C')
        botonV = self.crearBotonP4('V')
        botonB = self.crearBotonP4('B')
        botonN = self.crearBotonP4('N')
        botonM = self.crearBotonP4('M')
        botondot = self.crearBotonP4('.')
        botonguion = self.crearBotonP4('-')
        botonguionb = self.crearBotonP4(',')
        botonErase = self.crearBotonP4(u"\u232B",escribir=False)
        botonErase['background'] = "red"
        botonErase.grid(row = 3, column = 11)
        botonEnter = self.crearBotonP4(u"\u21B5",escribir=False,alto=2)
        botonEnter['background'] = "green"
        botonEnter.grid(row = 1, column = 11, rowspan = 2, sticky = 's')
        botonSpace = Button(self.page4, text=u"\u2423", width=5, height=1, font=("Helvetica",15), command=lambda:self.clickP4(' ',True))
        botonSpace.grid(row = 4, column = 11)
        
        #Ubicación de los botones
        botones= [boton1, boton2, boton3, boton4, boton5, boton6, boton7, boton8, boton9, boton0,
                  botonQ, botonW, botonE, botonR, botonT, botonY, botonU, botonI, botonO, botonP, 
                  botonA, botonS, botonD, botonF, botonG, botonH, botonJ, botonK, botonL, botonNN, 
                  botonZ, botonX, botonC, botonV, botonB, botonN, botonM, botondot, botonguion, botonguionb]
        contador=0
        for fila in range(1,5):
            for columna in range(10):
                botones[contador].grid(row=fila,column=columna)
                contador+=1
        
        self.ChkSe = IntVar()
        self.RBCliente = Radiobutton(self.page4, text = 'Cliente',font =('Helvetica', 15), variable = self.ChkSe, value = 1)
        self.RBCliente.grid(row = 5, column = 2, columnspan = 2, sticky = 'w')
        
        self.RBProducto = Radiobutton(self.page4, text = 'Producto',font =('Helvetica', 15), variable = self.ChkSe, value = 2)
        self.RBProducto.grid(row = 5, column = 4, columnspan = 2, sticky = 'w')
        
        self.RBBuscar = Radiobutton(self.page4, text = 'Buscar por pedido',font =('Helvetica', 15), variable = self.ChkSe, value = 3)
        self.RBBuscar.grid(row = 5, column = 6, columnspan = 3, sticky = 'w')
        
        self.CBdata2 = Text(self.page4, state="disabled", width=40, height=1, font=("Helvetica",15))
        self.CBdata2.grid(row = 6, column = 0, columnspan = 12)
                
        self.clienteL = TTK.Label(self.page4, font =('Helvetica', 15), text = 'Cliente:')
        self.clienteL.grid(row = 7, column = 0, columnspan = 11, sticky = 'w')
        
        self.ProductoL = TTK.Label(self.page4, font =('Helvetica', 15), text = 'Producto:')
        self.ProductoL.grid(row = 8, column = 0, columnspan = 11, sticky = 'w')
        
        # AGREGAMOS CONTENIDO A PAGE 5
        Label(self.page5, 
              font =('Helvetica', 15), 
              text = '*                                                                                                                                                *').grid(row = 0,
#              text = '123456789_123456789_123456789_123465789_123456789_123456789_123456789_123456789_12',
              #text = '____________________________').grid(row = 0,
                                                                     column = 0,
                                                                     columnspan = 3)
        Label(self.page5, 
              font =('Helvetica', 15),
              text = '_________________________________________').grid(row = 0,
                                                                     column = 0,)
        
        Label(self.page5, 
              font =('Helvetica', 15),
              text = '_________________________________________').grid(row = 0,
                                                                     column = 1)
#        Label(self.page5, 
#              font =('Helvetica', 15),
#              text = '___________________________').grid(row = 0,
#                                                                     column = 2)
        Label(self.page5, 
              font =('Helvetica', 15), 
              text = 'Verifique los datos ingresado:').grid(row = 0,
                                                                     column = 0,
                                                                     columnspan = 2)
        self.StxtCliente = StringVar(value = '*')
        self.txtCliente = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Cliente:')
        self.txtCliente.grid(row = 1, column = 0, sticky = 'w')
        self.txtClienteL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtCliente)
        self.txtClienteL.place(x = 79, y = 28)
        
        self.StxtProducto = StringVar(value = '*')
        self.txtProducto = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Producto: ')
        self.txtProducto.grid(row = 2, column = 0, columnspan = 2, sticky = "w")
        self.txtProductoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtProducto)
        self.txtProductoL.place(x = 99, y = 56)
        
        self.StxtLargo = StringVar(value = '*')
        self.txtLargo = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Largo:')
        self.txtLargo.grid(row = 3, column = 0, sticky = "w")
        self.txtLargoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtLargo)
        self.txtLargoL.place(x= 69, y = 84)
        
        self.StxtAlto = StringVar(value = '*')
        self.txtAlto = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Alto:')
        self.txtAlto.place(x = 310, y = 84)
        self.txtAltoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtAlto)
        self.txtAltoL.place(x = 363, y = 84)
        
        self.StxtAncho = StringVar(value = '*')
        self.txtAncho = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Ancho: ')
        self.txtAncho.place(x= 590, y = 84)
        self.txtAnchoL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtAncho)
        self.txtAnchoL.place(x= 666, y = 84)
        
        self.StxtStlCj = StringVar(value = '*')
        self.txtStlCj = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Estilo caja:')
        self.txtStlCj.grid(row = 4, column = 0, sticky = "w")
        self.txtStlCjL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtStlCj)
        self.txtStlCjL.place(x= 110, y = 112)
        
        self.StxtTpFlt = StringVar(value = '*')
        self.txtTpFlt = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Tipo de flauta:')
        self.txtTpFlt.grid(row = 4, column = 1, sticky = "w")
        self.txtTpFltL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtTpFlt)
        self.txtTpFltL.place(x= 594, y = 112)
        
        self.StxtDrccnFlt = StringVar(value = '*')
        self.txtDrccnFlt = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Dirección de la flauta: ')
        self.txtDrccnFlt.grid(row = 5, column = 0, sticky = "w")
        self.txtDrccnFltL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtDrccnFlt)
        self.txtDrccnFltL.place(x= 216, y = 140)
        
        self.StxtGrdMtrl = StringVar(value = '*')
        self.txtGrdMtrl = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Grado del material: ')
        self.txtGrdMtrl.grid(row = 5, column = 1, sticky = "w")
        self.txtGrdMtrlL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtGrdMtrl)
        self.txtGrdMtrlL.place(x= 640, y = 140)
        
        
        self.StxtTpUnn = StringVar(value = '*')
        self.txtTpUnn = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Tipo de unión: ')
        self.txtTpUnn.grid(row = 6, column = 0, sticky = "w")
        self.txtTpUnnL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtTpUnn)
        self.txtTpUnnL.place(x= 138, y = 168)
        
        self.StxtMtdCrr = StringVar(value = '*')
        self.txtMtdCrr = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Método de cierre: ')
        self.txtMtdCrr.grid(row = 6, column = 1, sticky = "w")
        self.txtMtdCrrL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtMtdCrr)
        self.txtMtdCrrL.place(x= 623, y = 168)
        
        self.StxtOrntcn = StringVar(value = '*')
        self.txtOrntcn = Label(self.page5, font = ('Helvetica', 15, 'italic'), text = '*Orientación de la prueba: ')
        self.txtOrntcn.grid(row = 7, column = 0, sticky = "w")
        self.txtOrntcnL = Label(self.page5, font = ('Helvetica', 15), textvariable = self.StxtOrntcn)
        self.txtOrntcnL.place(x= 243, y = 197)
        
        cc = Button(self.page5, font = ('Helvetica', 15, "bold"), text = 'Cerrar', bg = "red", command = self.cerrarB)#.place(x = 20, y = 20)
        cc.grid(row = 8, column = 0, columnspan = 2)
        
        # OBTENER LO QUE CONTIENEN CADA LISTA
        self.listCaja.bind("<<ComboboxSelected>>", self.getList)
        self.listCierre.bind("<<ComboboxSelected>>", self.getList)
        self.listFlauta.bind("<<ComboboxSelected>>", self.getList)
        self.listFlautaD.bind("<<ComboboxSelected>>", self.getList)
        self.listGradoM.bind("<<ComboboxSelected>>", self.getList)
        self.listOrientaC.bind("<<ComboboxSelected>>", self.getList)
        self.listUnion.bind("<<ComboboxSelected>>", self.getList)
        
        self.top.protocol("WM_DELETE_WINDOW", self.cerrar)
        
    def motion(self, event):
        self.posy.set(event.y)
        self.posx.set(event.x)
        
    def selectCB(self,selecc):
        if selecc == 'al':
            self.LB['text'] = 'Usted selecciono alto'
            self.cajaLB['image'] = self.IMGalto
            self.bandDATA = 0
        elif selecc == 'an':
            self.LB['text'] = 'Usted selecciono ancho'
            self.cajaLB['image'] = self.IMGancho
            self.bandDATA = 1
        elif selecc == 'la':
            self.LB['text'] = 'Usted selecciono largo'
            self.cajaLB['image'] = self.IMGlargo
            self.bandDATA = 2
        
    def crearBoton(self, valor, escribir=True, ancho=5, alto=1):
        return Button(self.page1, text=valor, width=ancho, height=alto, font=("Helvetica",15), command=lambda:self.click(valor,escribir))
        
    def crearBotonP4(self, valor, escribir=True, ancho=5, alto=1):
        return Button(self.page4, text=valor, width=ancho, height=alto, font=("Helvetica",15), command=lambda:self.clickP4(valor,escribir))
        
    def conteo(self):
        self.botonClics += 1
        self.btnCLK['text'] = 'Clics totales = ' + str(self.botonClics)
        
        
    def click(self, texto, escribir):
        if not escribir:
            if texto==u"\u21B5" and self.operacion!="" and self.bandDATA != 3:
                if self.bandDATA == 0:
                    try:
                        self.alturaDATA = float(self.operacion)
                        self.LB['text'] = 'Usted ingreso ' + str(self.alturaDATA) + 'cm en altura'
                        self.altoL['text'] = str(self.alturaDATA) + 'cm'
                        self.StxtAlto.set(str(self.alturaDATA) + 'cm')
                        self.changeTXT(self.StxtAlto, str(self.alturaDATA) + 'cm', self.txtAlto, 'Alto:')
                    except ValueError:
                        self.LB['text'] = 'Atención \n El dato ingresado no es un número válido,\n favor de verificar'
                        
                elif self.bandDATA == 1:
                    try:
                        self.anchoDATA = float(self.operacion)
                        self.LB['text'] = 'Usted ingreso ' + str(self.anchoDATA) + 'cm en ancho'
                        self.changeTXT(self.StxtAncho, str(self.anchoDATA) + 'cm', self.txtAncho, 'Ancho:')
                        self.anchoL['text'] = str(self.anchoDATA) + 'cm'
                    except ValueError:
                        self.LB['text'] = 'Atención \n El dato ingresado no es un número válido,\n favor de verificar'
                elif self.bandDATA == 2:
                    try:
                        self.largoDATA = float(self.operacion)
                        self.LB['text'] = 'Usted ingreso ' + str(self.largoDATA ) + 'cm en largo'
                        self.changeTXT(self.StxtLargo, str(self.largoDATA ) + 'cm', self.txtLargo, 'Largo:')
                        self.largoL['text'] = str(self.largoDATA ) + 'cm'
                    except ValueError:
                        self.LB['text'] = 'Atención \n El dato ingresado no es un número válido,\n favor de verificar'
                print 'Hola desde borrar'
                self.operacion = ''
                self.limpiarPantalla()
            elif texto==u"\u232B":
                self.operacion=""
                self.limpiarPantalla()
        #Mostrar texto
        else:
            self.operacion+=str(texto)
            self.mostrarEnPantalla(texto)
        return
    
    def clickP4(self, texto, escribir):
        self.ChkSel = int(self.ChkSe.get())
        print self.ChkSel
        if not escribir:
            if texto==u"\u21B5" and self.operacion!="" and self.ChkSel != 0:
                print 'gg'
                if self.ChkSel == 1:
                    self.cliente = self.operacion
                    self.clienteL['text'] = 'Cliente: ' + str(self.cliente)
                    self.changeTXT(self.StxtCliente, str(self.cliente), self.txtCliente, 'Cliente:')
                elif self.ChkSel == 2:
                    self.Producto = self.operacion
                    self.ProductoL['text'] = 'Producto: ' + str(self.Producto)
                    self.changeTXT(self.StxtProducto, str(self.Producto), self.txtProducto, 'Producto:')
                elif self.ChkSel == 3:
                    self.top.iconify()
                    self.consoleSQL.consulta('pedido', str(self.operacion))
                    try:
                        self.cliente = self.consoleSQL.cliente
                        self.clienteL['text'] = 'Cliente: ' + str(self.cliente)
                        self.changeTXT(self.StxtCliente, str(self.cliente), self.txtCliente, 'Cliente:')
                        self.Producto = self.consoleSQL.producto
                        self.ProductoL['text'] = 'Producto: ' + str(self.Producto)
                        self.changeTXT(self.StxtProducto, str(self.Producto), self.txtProducto, 'Producto:')
                    except:
                        tkMessageBox.showerror('Atención','No se encontró el pedido favor de verificar')
                self.operacion = ''
                self.limpiarPantalla(2)
            elif texto==u"\u232B":
                self.operacion=""
                self.limpiarPantalla(2)
            elif self.ChkSel == 0:
                self.top.iconify()
                tkMessageBox.showerror("Atención", 'Debe seleccionar una opción')
        #Mostrar texto
        else:
            self.operacion+=str(texto)
            self.mostrarEnPantalla(texto, 2)
        self.top.deiconify()
        return
    
    def changeTXT(self, StringVarTXT, setStr, LabelTXT, txtLabel):
        StringVarTXT.set(setStr)
        LabelTXT['text'] = txtLabel
        LabelTXT['font'] = ('Helvetica', 15, "bold")
        
    def limpiarPantalla(self, cb = 1):
        if cb ==2:
            self.CBdata2.configure(state="normal")
            self.CBdata2.delete("1.0", END)
            self.CBdata2.configure(state="disabled")
        else:
            self.CBdata.configure(state="normal")
            self.CBdata.delete("1.0", END)
            self.CBdata.configure(state="disabled")
        return
    

    def mostrarEnPantalla(self, valor, cb = 1):
        if cb == 2:
            self.CBdata2.configure(state="normal")
            self.CBdata2.insert(END, valor)
            self.CBdata2.configure(state="disabled")
        else:
            self.CBdata.configure(state="normal")
            self.CBdata.insert(END, valor)
            self.CBdata.configure(state="disabled")
        return
    
    def getList(self, event):
        self.CheckList(self.listCaja, 0, self.StxtStlCj, 'Estilo caja: ', self.txtStlCj)
        self.CheckList(self.listFlauta, 1, self.StxtTpFlt, 'Tipo de flauta: ', self.txtTpFlt)
        self.CheckList(self.listFlautaD, 2, self.StxtDrccnFlt, 'Dirección de  la flauta: ', self.txtDrccnFlt)
        self.CheckList(self.listGradoM, 3, self.StxtGrdMtrl, 'Grado del material: ', self.txtGrdMtrl)
        self.CheckList(self.listUnion, 4, self.StxtTpUnn, 'Tipo de unión: ', self.txtTpUnn)
        self.CheckList(self.listCierre, 5, self.StxtMtdCrr, 'Método de cierre: ', self.txtMtdCrr)
        self.CheckList(self.listOrientaC, 6, self.StxtOrntcn, 'Orientación de la prueba: ', self.txtOrntcn)
        #hola
        
    def CheckList(self, lista, num_list, StrVarL, txt, labelTXT,):
        gg = lista.get()
        print gg
        if gg != '':
            self.Datos[num_list] = lista.get()
            if num_list == 0:
                if self.Datos[0] == (u'Caja est\xe1ndar'):
                    self.Datos[0] = str('Caja estándar')
            elif num_list == 4:
                if self.Datos[4] == (u'Armado autom\xe1tico'):
                    self.Datos[4] = ('Armado automático')
            StrVarL.set(self.Datos[num_list])
            labelTXT['text'] = txt
            labelTXT['font'] = ('Helvetica', 15, "bold")
            
        
    def cerrar(self):
        self.top.iconify()
        tkMessageBox.showinfo("Atención", "Si desea salir, debe hacerlo desde el botón ubicado en la pestaña de Resumen de datos.")
        self.top.deiconify()
        
    def cerrarB(self):
        self.top.iconify()
        respuesta=tkMessageBox.askyesno("Atención", "Usted esta a punto de salir, ¿Los datos ingresados son los correctos?")
        if respuesta==True:
            self.top.destroy()
        try:
            self.top.deiconify()
        except:
            print "Ventana cerrada"
            
#ventana = Tk()
#final = DATAin(ventana)
#ventana.mainloop()
class PAGUI(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)
        self.parent = parent
        self.initUI()

    def initUI(self):
        self.parent.title("Parameter Analyzer Control")
        self.style = Style()
        self.style.theme_use("clam")
        self.pack(fill=BOTH, expand=True)

        self.columnconfigure(1, weight=1)
        self.columnconfigure(3, pad=7)
        # self.rowconfigure(3, weight=1)
        # self.rowconfigure(5, pad=7)

        #set up instance variables
        self.directory = StringVar()
        self.fname = StringVar()
        self.fname_final = StringVar()
        self.device = StringVar()
        self.chip = StringVar()
        self.run = StringVar()

        self.toplabel = Label(self,
                              text="Dummy label at the top of the widget",
                              justify="center")
        self.bottomlabel = Label(
            self,
            text="for help/info see github.com/leobrowning92/pa-control",
            justify="center",
            font="arial 11 italic")

        self.directory_btn = Button(self,
                                    text="Directory",
                                    command=self.askdirectory)

        self.filename_btn = Button(self, text="Filename", command=self.askfile)

        # self.exit_btn = Button(self, text="Exit", command=self.quit)
        # self.exit_btn.grid(row=5, column=0, padx=5)

        self.update_btn = Button(self, text="Update", command=self.runUpdate)

        self.iterdevice_btn = Button(self,
                                     text="Iterate [device]",
                                     command=self.newDevice)

        self.iterchip_btn = Button(self,
                                   text="Iterate [chip]",
                                   command=self.newChip)
        self.iterrun_btn = Button(self,
                                  text="Iterate [run]",
                                  command=self.newRun)

        self.chip.set("001")
        self.chipnum_entry = Entry(self, textvariable=self.chip, width=5)

        self.device.set("01")
        self.devicenum_entry = Entry(self, textvariable=self.device, width=5)

        self.run.set("001")
        self.runnum_entry = Entry(self, textvariable=self.run, width=5)

        self.directory_entry = Entry(self, textvariable=self.directory)

        self.fname.set(
            'Chip[chip]_[device]_run[run]_somenotes_[INFO]_[time].csv')
        self.fname_final.set(
            make_fname_final(self.fname.get(), self.chip.get(),
                             self.device.get(), self.run.get()))

        self.fname_entry = Entry(self, textvariable=self.fname)

        self.fname_final_label = Label(self,
                                       textvariable=self.fname_final,
                                       justify="center",
                                       font="arial 11 italic")

        # this button runs pulldata with parameter set by
        # self.datatype, which stores the value of self.radbtn
        self.pulldata_btn = Button(self,
                                   text="Pull Data",
                                   command=self.pulldata)

        self.datarun_btn = Button(self,
                                  text="Run Data sweep",
                                  command=self.datarun)

        #datatype=1 => diode, datatype=2 => FET
        self.datatype = IntVar()
        self.datatype1_radiobutton = Radiobutton(self,
                                                 text='Diode (VF, IF)',
                                                 variable=self.datatype,
                                                 value=1)
        self.datatype2_radiobutton = Radiobutton(self,
                                                 text='FET (VG, VDS, ID, IG)',
                                                 variable=self.datatype,
                                                 value=2)

        #grid alignments of all widgets
        self.toplabel.grid(column=0, columnspan=3, sticky=W, pady=4, padx=5)

        self.directory_btn.grid(row=1, column=0)
        self.directory_entry.grid(row=1,
                                  column=1,
                                  columnspan=2,
                                  padx=5,
                                  sticky=E + W)

        self.filename_btn.grid(row=2, column=0)
        self.fname_entry.grid(row=2,
                              column=1,
                              columnspan=2,
                              padx=5,
                              sticky=E + W)
        self.fname_final_label.grid(row=3,
                                    column=1,
                                    columnspan=2,
                                    sticky=N + E + W,
                                    pady=4,
                                    padx=5)

        self.iterchip_btn.grid(row=4, column=0, sticky=N)
        self.chipnum_entry.grid(row=4, column=1, padx=5, sticky=W)

        self.iterdevice_btn.grid(row=5, column=0, sticky=N)
        self.devicenum_entry.grid(row=5, column=1, padx=5, sticky=W)

        self.iterrun_btn.grid(row=6, column=0, sticky=N)
        self.runnum_entry.grid(row=6, column=1, padx=5, sticky=W)

        self.update_btn.grid(row=7, column=0, padx=5)
        self.pulldata_btn.grid(row=7, column=3, padx=5, sticky=E)
        self.datarun_btn.grid(row=6, column=3, padx=5, sticky=E)

        self.datatype1_radiobutton.grid(row=7,
                                        column=1,
                                        padx=5,
                                        sticky=N + E + S)
        self.datatype2_radiobutton.grid(row=7,
                                        column=2,
                                        padx=5,
                                        sticky=N + W + S)
        self.bottomlabel.grid(row=8,
                              column=0,
                              columnspan=3,
                              sticky=W,
                              pady=4,
                              padx=5)

#action funcctions for the various buttons

    def newChip(self):
        if self.fname.get() == '':
            self.askfile()
        else:
            try:
                self.chip.set(str((int(self.chip.get()) + 1)).zfill(3))
                self.device.set(str(1).zfill(2))
            except Exception as e:
                print(e)
            self.runUpdate()

    def newRun(self):
        if self.fname.get() == '':
            self.askfile()
        else:
            try:
                self.run.set(str((int(self.run.get()) + 1)).zfill(3))
            except Exception as e:
                print(e)
            self.runUpdate()

    def newDevice(self):
        if self.fname.get() == '':
            self.askfile()
        else:
            try:
                self.device.set(str((int(self.device.get()) + 1)).zfill(2))
            except Exception as e:
                print(e)
            self.runUpdate()

    def runUpdate(self):
        self.fname_final.set(
            make_fname_final(self.fname.get(), self.chip.get(),
                             self.device.get(), self.run.get()))

    def askdirectory(self):
        """Returns a selected directoryname."""
        self.directory.set(tkFileDialog.askdirectory())

    def askfile(self):
        fullpath = tkFileDialog.askopenfilename()
        if "/" in fullpath:
            i = fullpath.rfind("/")
        if "\\" in fullpath:
            i = fullpath.rfind("\\")
        # self.fname_final.set(fullpath[i + 1:])
        self.fname.set(fullpath[i + 1:])

    def pulldata(self):
        self.runUpdate()
        if self.datatype.get() == 1:
            download_data(path=self.directory.get(),
                          filename=self.fname_final.get(),
                          values=['VF', 'IF'])
        elif self.datatype.get() == 2:
            download_data(path=self.directory.get(),
                          filename=self.fname_final.get(),
                          values=['VG', 'VDS', 'ID', 'IG'])

    def datarun(self):
        self.runUpdate()
        if self.datatype.get() == 1:
            print("oh no we havent written a script for that yet!")
        elif self.datatype.get() == 2:
            run_FET_series(self.fname_final.get(), self.directory.get())
    def initUI(self):
        self.parent.title("Parameter Analyzer Control")
        self.style = Style()
        self.style.theme_use("clam")
        self.pack(fill=BOTH, expand=True)

        self.columnconfigure(1, weight=1)
        self.columnconfigure(3, pad=7)
        # self.rowconfigure(3, weight=1)
        # self.rowconfigure(5, pad=7)

        #set up instance variables
        self.directory = StringVar()
        self.fname = StringVar()
        self.fname_final = StringVar()
        self.device = StringVar()
        self.chip = StringVar()
        self.run = StringVar()

        self.toplabel = Label(self,
                              text="Dummy label at the top of the widget",
                              justify="center")
        self.bottomlabel = Label(
            self,
            text="for help/info see github.com/leobrowning92/pa-control",
            justify="center",
            font="arial 11 italic")

        self.directory_btn = Button(self,
                                    text="Directory",
                                    command=self.askdirectory)

        self.filename_btn = Button(self, text="Filename", command=self.askfile)

        # self.exit_btn = Button(self, text="Exit", command=self.quit)
        # self.exit_btn.grid(row=5, column=0, padx=5)

        self.update_btn = Button(self, text="Update", command=self.runUpdate)

        self.iterdevice_btn = Button(self,
                                     text="Iterate [device]",
                                     command=self.newDevice)

        self.iterchip_btn = Button(self,
                                   text="Iterate [chip]",
                                   command=self.newChip)
        self.iterrun_btn = Button(self,
                                  text="Iterate [run]",
                                  command=self.newRun)

        self.chip.set("001")
        self.chipnum_entry = Entry(self, textvariable=self.chip, width=5)

        self.device.set("01")
        self.devicenum_entry = Entry(self, textvariable=self.device, width=5)

        self.run.set("001")
        self.runnum_entry = Entry(self, textvariable=self.run, width=5)

        self.directory_entry = Entry(self, textvariable=self.directory)

        self.fname.set(
            'Chip[chip]_[device]_run[run]_somenotes_[INFO]_[time].csv')
        self.fname_final.set(
            make_fname_final(self.fname.get(), self.chip.get(),
                             self.device.get(), self.run.get()))

        self.fname_entry = Entry(self, textvariable=self.fname)

        self.fname_final_label = Label(self,
                                       textvariable=self.fname_final,
                                       justify="center",
                                       font="arial 11 italic")

        # this button runs pulldata with parameter set by
        # self.datatype, which stores the value of self.radbtn
        self.pulldata_btn = Button(self,
                                   text="Pull Data",
                                   command=self.pulldata)

        self.datarun_btn = Button(self,
                                  text="Run Data sweep",
                                  command=self.datarun)

        #datatype=1 => diode, datatype=2 => FET
        self.datatype = IntVar()
        self.datatype1_radiobutton = Radiobutton(self,
                                                 text='Diode (VF, IF)',
                                                 variable=self.datatype,
                                                 value=1)
        self.datatype2_radiobutton = Radiobutton(self,
                                                 text='FET (VG, VDS, ID, IG)',
                                                 variable=self.datatype,
                                                 value=2)

        #grid alignments of all widgets
        self.toplabel.grid(column=0, columnspan=3, sticky=W, pady=4, padx=5)

        self.directory_btn.grid(row=1, column=0)
        self.directory_entry.grid(row=1,
                                  column=1,
                                  columnspan=2,
                                  padx=5,
                                  sticky=E + W)

        self.filename_btn.grid(row=2, column=0)
        self.fname_entry.grid(row=2,
                              column=1,
                              columnspan=2,
                              padx=5,
                              sticky=E + W)
        self.fname_final_label.grid(row=3,
                                    column=1,
                                    columnspan=2,
                                    sticky=N + E + W,
                                    pady=4,
                                    padx=5)

        self.iterchip_btn.grid(row=4, column=0, sticky=N)
        self.chipnum_entry.grid(row=4, column=1, padx=5, sticky=W)

        self.iterdevice_btn.grid(row=5, column=0, sticky=N)
        self.devicenum_entry.grid(row=5, column=1, padx=5, sticky=W)

        self.iterrun_btn.grid(row=6, column=0, sticky=N)
        self.runnum_entry.grid(row=6, column=1, padx=5, sticky=W)

        self.update_btn.grid(row=7, column=0, padx=5)
        self.pulldata_btn.grid(row=7, column=3, padx=5, sticky=E)
        self.datarun_btn.grid(row=6, column=3, padx=5, sticky=E)

        self.datatype1_radiobutton.grid(row=7,
                                        column=1,
                                        padx=5,
                                        sticky=N + E + S)
        self.datatype2_radiobutton.grid(row=7,
                                        column=2,
                                        padx=5,
                                        sticky=N + W + S)
        self.bottomlabel.grid(row=8,
                              column=0,
                              columnspan=3,
                              sticky=W,
                              pady=4,
                              padx=5)
Example #51
0
    def build_devices_arch(self):

        #8bits
        name_checked = self.main.configIDE.config("Board", "board_8",
                                                  "Pinguino 2550")
        arch_8 = filter(lambda board: board.arch == 8,
                        self.main.pinguinoAPI._boards_)
        arch_8.sort()

        frame_left = Frame(self.frame_8b)
        frame_left.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right = Frame(self.frame_8b)
        frame_right.pack(expand=True, fill=BOTH, side=RIGHT)

        parent = frame_left  #left
        for board in arch_8:
            if arch_8.index(board) == (len(arch_8) / 2) + 1:
                parent = frame_right  #rigth

            radio = Radiobutton(
                parent,
                text=board.name,
                anchor="w",
                width=10,
                value=board.name,
                variable=self.dev8_var,
                command=lambda: self.set_board_name(board.name, "8"))
            radio.pack(expand=True, fill=X, side=TOP)

            #radio = QtGui.QRadioButton(self.board_config.groupBox_devices_8)
            #self.board_config.gridLayout_device_8.addWidget(radio, count, side, 1, 1)
            #radio.setText(board.name)
            #radio.setToolTip(board.proc)

            if name_checked == board.name: radio.select()
            #self.connect(radio, QtCore.SIGNAL("clicked()"), self.set_board_name(board.name, "8"))

        #32bits
        name_checked = self.main.configIDE.config("Board", "board_32",
                                                  "PIC32 Pinguino OTG")
        arch_32 = filter(lambda board: board.arch == 32,
                         self.main.pinguinoAPI._boards_)
        arch_32.sort()

        frame_left0 = Frame(self.frame_32b)
        frame_left0.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right0 = Frame(self.frame_32b)
        frame_right0.pack(expand=True, fill=BOTH, side=RIGHT)

        parent = frame_left0  #left
        for board in arch_32:
            if arch_32.index(board) == (len(arch_32) / 2) + 1:
                parent = frame_right0  #rigth

            radio = Radiobutton(
                parent,
                text=board.name,
                anchor="w",
                width=10,
                value=board.name,
                variable=self.dev32_var,
                command=lambda: self.set_board_name(board.name, "32"))
            radio.pack(expand=True, fill=X, side=TOP)

            #radio = QtGui.QRadioButton(self.board_config.groupBox_devices_32)
            #self.board_config.gridLayout_device_32.addWidget(radio, count, side, 1, 1)
            #radio.setText(board.name)
            #radio.setToolTip(board.proc)

            if name_checked == board.name: radio.select()
Example #52
0
    def initUI(self):
        self.parent.title("Parameter Analyzer Control")
        self.style = Style()
        self.style.theme_use("clam")
        self.pack(fill=BOTH, expand=True)

        self.columnconfigure(1, weight=1)
        self.columnconfigure(3, pad=7)
        # self.rowconfigure(3, weight=1)
        # self.rowconfigure(5, pad=7)

        #set up instance variables
        self.directory = StringVar()
        self.fname = StringVar()
        self.fname_final=StringVar()
        self.device = StringVar()
        self.chip = StringVar()
        self.run = StringVar()


        self.toplabel = Label(self, text="Dummy label at the top of the widget",justify="center")
        self.bottomlabel = Label(self, text="for help/info see github.com/leobrowning92/pa-control",justify="center",font="arial 11 italic")


        self.directory_btn = Button(self, text="Directory", command=self.askdirectory)

        self.filename_btn = Button(self, text="Filename", command=self.askfile)

        # self.exit_btn = Button(self, text="Exit", command=self.quit)
        # self.exit_btn.grid(row=5, column=0, padx=5)

        self.update_btn = Button(self, text="Update", command=self.runUpdate)

        self.iterdevice_btn = Button(self, text="Iterate [device]", command=self.newDevice)

        self.iterchip_btn = Button(self, text="Iterate [chip]", command=self.newChip)
        self.iterrun_btn = Button(self, text="Iterate [run]", command=self.newRun)

        self.chip.set("001")
        self.chipnum_entry = Entry(self, textvariable=self.chip,width=5)

        self.device.set("01")
        self.devicenum_entry = Entry(self, textvariable=self.device,width=5)

        self.run.set("001")
        self.runnum_entry = Entry(self, textvariable=self.run,width=5)

        self.directory_entry = Entry(self, textvariable=self.directory)

        self.fname.set('Chip[chip]_[device]_run[run]_somenotes_[INFO]_[time].csv')
        self.fname_final.set(make_fname_final(self.fname.get(),
                            self.chip.get(),self.device.get(),self.run.get()))

        self.fname_entry = Entry(self, textvariable=self.fname)

        self.fname_final_label = Label(self, textvariable=self.fname_final,
                          justify="center", font="arial 11 italic")


        # this button runs pulldata with parameter set by
        # self.datatype, which stores the value of self.radbtn
        self.pulldata_btn = Button(self, text="Pull Data", command=self.pulldata)

        self.datarun_btn = Button(self, text="Run Data sweep", command=self.datarun)


        #datatype=1 => diode, datatype=2 => FET
        self.datatype = IntVar()
        self.datatype1_radiobutton = Radiobutton(
            self, text='Diode (VF, IF)',
            variable=self.datatype, value=1)
        self.datatype2_radiobutton = Radiobutton(
            self, text='FET (VG, VDS, ID, IG)',
            variable=self.datatype, value=2)

        #grid alignments of all widgets
        self.toplabel.grid(column=0,columnspan=3, sticky=W, pady=4, padx=5)

        self.directory_btn.grid(row=1, column=0)
        self.directory_entry.grid(row=1, column=1, columnspan=2,
                         padx=5, sticky=E + W)

        self.filename_btn.grid(row=2, column=0)
        self.fname_entry.grid(row=2, column=1, columnspan=2,
                         padx=5, sticky=E + W)
        self.fname_final_label.grid(row=3,column=1,  columnspan=2,
                       sticky=N + E + W, pady=4, padx=5)

        self.iterchip_btn.grid(row=4, column=0, sticky=N)
        self.chipnum_entry.grid(row=4, column=1,padx=5, sticky=W)

        self.iterdevice_btn.grid(row=5, column=0, sticky=N)
        self.devicenum_entry.grid(row=5, column=1,padx=5, sticky=W)

        self.iterrun_btn.grid(row=6, column=0, sticky=N)
        self.runnum_entry.grid(row=6, column=1,padx=5, sticky=W)

        self.update_btn.grid(row=7, column=0, padx=5)
        self.pulldata_btn.grid(row=7, column=3, padx=5,sticky=E)
        self.datarun_btn.grid(row=6, column=3, padx=5,sticky=E)

        self.datatype1_radiobutton.grid(row=7,column=1,padx=5,sticky=N + E + S)
        self.datatype2_radiobutton.grid(row=7,column=2,padx=5,sticky=N + W + S)
        self.bottomlabel.grid(row=8,column=0,columnspan=3, sticky=W, pady=4, padx=5)
Example #53
0
class BoardConfig(Frame):
    def __init__(self, master=None, main=None):
        Frame.__init__(self, master)

        self.parent = master
        self.main = main

        self.parent.geometry("336x424")
        self.parent.title(os.getenv("NAME") + " - Board Config")
        self.master.configure(padx=10, pady=10)

        self.intvar = IntVar()

        #Arch
        self.arch_var = IntVar()
        lf_arch = LabelFrame(self.parent, text="Architecture")
        lf_arch.pack(fill=X, expand=True, side=TOP)

        frame_arch = Frame(lf_arch)
        frame_arch.pack(fill=X, expand=True, side=TOP)

        frame_left1 = Frame(frame_arch)
        frame_left1.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right1 = Frame(frame_arch)
        frame_right1.pack(expand=True, fill=BOTH, side=RIGHT)

        self.radioButton_arch_8 = Radiobutton(frame_left1,
                                              text="8-bit ",
                                              anchor="w",
                                              width=10,
                                              value=8,
                                              variable=self.arch_var,
                                              command=self.update_mode)
        self.radioButton_arch_8.pack(fill=X, side=TOP)

        self.radioButton_arch_32 = Radiobutton(frame_right1,
                                               text="32-bit",
                                               anchor="w",
                                               width=10,
                                               value=32,
                                               variable=self.arch_var,
                                               command=self.update_mode)
        self.radioButton_arch_32.pack(fill=X, side=TOP)

        #Mode
        self.mode_var = StringVar()
        lf_mode = LabelFrame(self.parent, text="Programming mode")
        lf_mode.pack(fill=X, expand=True, side=TOP)

        frame_mode = Frame(lf_mode)
        frame_mode.pack(fill=X, expand=True, side=TOP)

        frame_left2 = Frame(frame_mode)
        frame_left2.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right2 = Frame(frame_mode)
        frame_right2.pack(expand=True, fill=BOTH, side=RIGHT)

        self.radioButton_mode_icsp = Radiobutton(frame_left2,
                                                 text="ICSP",
                                                 anchor="w",
                                                 width=10,
                                                 value="icsp",
                                                 variable=self.mode_var,
                                                 command=self.update_mode)
        self.radioButton_mode_icsp.pack(side=TOP, fill=X)

        self.radioButton_mode_bootloader = Radiobutton(
            frame_right2,
            text="Bootloader",
            anchor="w",
            width=10,
            value="bootloader",
            variable=self.mode_var,
            command=self.update_mode)
        self.radioButton_mode_bootloader.pack(side=TOP, fill=X)

        #Bootloader
        self.boot_var = StringVar()
        self.lf_boot = LabelFrame(self.parent, text="Bootloader")
        self.lf_boot.pack(fill=X, expand=True, side=TOP)

        frame_boot = Frame(self.lf_boot)
        frame_boot.pack(fill=X, expand=True, side=TOP)

        frame_left3 = Frame(frame_boot)
        frame_left3.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right3 = Frame(frame_boot)
        frame_right3.pack(expand=True, fill=BOTH, side=RIGHT)

        self.radioButton_bootloader_v1_v2 = Radiobutton(frame_left3,
                                                        text="v1.x or v2.x",
                                                        anchor="w",
                                                        width=10,
                                                        value="v1_v2",
                                                        variable=self.boot_var)
        self.radioButton_bootloader_v1_v2.pack(fill=X, side=TOP, expand=True)
        self.radioButton_bootloader_v4 = Radiobutton(frame_right3,
                                                     text="v4.x",
                                                     anchor="w",
                                                     width=10,
                                                     value="v4",
                                                     variable=self.boot_var)
        self.radioButton_bootloader_v4.pack(fill=X, side=TOP, expand=True)

        #Devices 8bit
        self.dev8_var = StringVar()
        self.lf_dev8 = LabelFrame(self.parent, text="Devices")
        self.lf_dev8.pack(fill=X, expand=True, side=TOP)

        self.frame_8b = Frame(self.lf_dev8)
        self.frame_8b.pack(fill=X, expand=True, side=TOP)

        #Devices 32bit
        self.dev32_var = StringVar()
        self.lf_dev32 = LabelFrame(self.parent, text="Devices")
        self.lf_dev32.pack(fill=X, expand=True, side=TOP)

        self.frame_32b = Frame(self.lf_dev32)
        self.frame_32b.pack(fill=X, expand=True, side=TOP)

        frame_buttons = Frame(self.parent)
        Button(frame_buttons, text="Accept",
               command=self.accept_config).pack(fill=X,
                                                expand=True,
                                                side=RIGHT)
        Button(frame_buttons, text="Cancel",
               command=self.quit).pack(fill=X, expand=True, side=LEFT)
        frame_buttons.pack(fill=X, expand=True, side=BOTTOM)

        frame_advance = Frame(self.parent)
        self.advanceoptions = Button(frame_advance,
                                     text="Advance options",
                                     command=self.advance)
        self.advanceoptions.pack(fill=X, expand=True, side=BOTTOM)
        frame_advance.pack(fill=X, expand=True, side=BOTTOM)

        frame_warning = Frame(self.parent)
        self.label_warning = Label(frame_warning,
                                   fg="red",
                                   text="warning!",
                                   anchor="w")
        self.label_warning.pack(fill=X, expand=True, side=BOTTOM)
        frame_warning.pack(fill=X, expand=True, side=BOTTOM)

        self.build_devices_arch()
        self.load_config()
        self.init_groups()

    #----------------------------------------------------------------------
    def quit(self):

        self.master.destroy()

    #----------------------------------------------------------------------
    def build_devices_arch(self):

        #8bits
        name_checked = self.main.configIDE.config("Board", "board_8",
                                                  "Pinguino 2550")
        arch_8 = filter(lambda board: board.arch == 8,
                        self.main.pinguinoAPI._boards_)
        arch_8.sort()

        frame_left = Frame(self.frame_8b)
        frame_left.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right = Frame(self.frame_8b)
        frame_right.pack(expand=True, fill=BOTH, side=RIGHT)

        parent = frame_left  #left
        for board in arch_8:
            if arch_8.index(board) == (len(arch_8) / 2) + 1:
                parent = frame_right  #rigth

            radio = Radiobutton(
                parent,
                text=board.name,
                anchor="w",
                width=10,
                value=board.name,
                variable=self.dev8_var,
                command=lambda: self.set_board_name(board.name, "8"))
            radio.pack(expand=True, fill=X, side=TOP)

            #radio = QtGui.QRadioButton(self.board_config.groupBox_devices_8)
            #self.board_config.gridLayout_device_8.addWidget(radio, count, side, 1, 1)
            #radio.setText(board.name)
            #radio.setToolTip(board.proc)

            if name_checked == board.name: radio.select()
            #self.connect(radio, QtCore.SIGNAL("clicked()"), self.set_board_name(board.name, "8"))

        #32bits
        name_checked = self.main.configIDE.config("Board", "board_32",
                                                  "PIC32 Pinguino OTG")
        arch_32 = filter(lambda board: board.arch == 32,
                         self.main.pinguinoAPI._boards_)
        arch_32.sort()

        frame_left0 = Frame(self.frame_32b)
        frame_left0.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right0 = Frame(self.frame_32b)
        frame_right0.pack(expand=True, fill=BOTH, side=RIGHT)

        parent = frame_left0  #left
        for board in arch_32:
            if arch_32.index(board) == (len(arch_32) / 2) + 1:
                parent = frame_right0  #rigth

            radio = Radiobutton(
                parent,
                text=board.name,
                anchor="w",
                width=10,
                value=board.name,
                variable=self.dev32_var,
                command=lambda: self.set_board_name(board.name, "32"))
            radio.pack(expand=True, fill=X, side=TOP)

            #radio = QtGui.QRadioButton(self.board_config.groupBox_devices_32)
            #self.board_config.gridLayout_device_32.addWidget(radio, count, side, 1, 1)
            #radio.setText(board.name)
            #radio.setToolTip(board.proc)

            if name_checked == board.name: radio.select()
            #self.connect(radio, QtCore.SIGNAL("clicked()"), self.set_board_name(board.name, "32"))

    #----------------------------------------------------------------------
    def load_config(self):

        self.main.configIDE.load_config()

        arch = self.main.configIDE.config("Board", "arch", 8)
        getattr(self.radioButton_arch_8, "select" if
                (arch == 8) else "deselect")()
        getattr(self.radioButton_arch_32, "select" if
                (arch == 32) else "deselect")()

        if arch == 32:
            self.advanceoptions.pack(fill=X, expand=True, side=BOTTOM)
        else:
            self.advanceoptions.forget()

        mode = self.main.configIDE.config("Board", "mode", "bootloader")
        getattr(self.radioButton_mode_bootloader, "select" if
                (mode == "bootloader") else "deselect")()
        getattr(self.radioButton_mode_icsp, "select" if
                (mode == "icsp") else "deselect")()

        bootloader = self.main.configIDE.config("Board", "bootloader", "v1_v2")
        getattr(self.radioButton_bootloader_v1_v2, "select" if
                (bootloader == "v1_v2") else "deselect")()
        getattr(self.radioButton_bootloader_v4, "select" if
                (bootloader == "v4") else "deselect")()

        self.update_mode()

    #----------------------------------------------------------------------
    def update_mode(self):

        mode_boot = self.mode_var.get() == "bootloader"
        arch_8 = self.arch_var.get() == 8

        if mode_boot and arch_8:
            self.lf_boot.pack(fill=X, expand=True, side=TOP)
        else:
            self.lf_boot.forget()
        self.init_groups()

        if not mode_boot:
            self.label_warning.configure(
                text="WARNING!! this mode can overwite the bootloader code.")
        else:
            self.label_warning.configure(text="")

    #----------------------------------------------------------------------
    def set_board_name(self, name, arch):
        def dummy():
            self.main.configIDE.set("Board", "board_" + arch, name)

        return dummy

    #----------------------------------------------------------------------
    def init_groups(self):

        self.lf_dev32.forget()
        self.lf_dev8.forget()

        if self.arch_var.get() == 8:
            self.lf_dev8.pack(fill=X, expand=True, side=TOP)
            self.advanceoptions.forget()

        else:
            self.lf_dev32.pack(fill=X, expand=True, side=TOP)
            self.advanceoptions.pack(fill=X, expand=True, side=BOTTOM)

    #----------------------------------------------------------------------
    def save_config(self):

        #if self.board_config.radioButton_arch_8.isChecked(): arch = 8
        #else: arch = 32
        self.main.configIDE.set("Board", "arch", self.arch_var.get())

        #if self.board_config.radioButton_mode_bootloader.isChecked(): mode = "bootloader"
        #else: mode = "icsp"
        self.main.configIDE.set("Board", "mode", self.mode_var.get())

        #if self.board_config.radioButton_bootloader_v1_v2.isChecked(): bootloader = "v1_v2"
        #else: bootloader = "v4"
        self.main.configIDE.set("Board", "bootloader", self.boot_var.get())

        name = self.main.configIDE.config("Board",
                                          "board_" + str(self.arch_var.get()),
                                          None)
        self.main.configIDE.set("Board", "board", name)

    #----------------------------------------------------------------------
    def accept_config(self):

        self.save_config()
        self.main.configIDE.save_config()
        self.main.statusbar_ide(self.main.get_status_board())
        self.close_advance()
        self.quit()

    #----------------------------------------------------------------------
    def advance(self):

        root = Toplevel()
        self.frame_advance = BoardConfigAdvance(master=root, main=self.main)
        self.frame_advance.mainloop()

    #----------------------------------------------------------------------
    def close_advance(self):

        try:
            assert self.frame_advance
        except:
            return
        self.frame_advance.quit()
Example #54
0
    def __init__(self, master=None, main=None):
        Frame.__init__(self, master)

        self.parent = master
        self.main = main

        self.parent.geometry("336x424")
        self.parent.title(os.getenv("NAME") + " - Board Config")
        self.master.configure(padx=10, pady=10)

        self.intvar = IntVar()

        #Arch
        self.arch_var = IntVar()
        lf_arch = LabelFrame(self.parent, text="Architecture")
        lf_arch.pack(fill=X, expand=True, side=TOP)

        frame_arch = Frame(lf_arch)
        frame_arch.pack(fill=X, expand=True, side=TOP)

        frame_left1 = Frame(frame_arch)
        frame_left1.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right1 = Frame(frame_arch)
        frame_right1.pack(expand=True, fill=BOTH, side=RIGHT)

        self.radioButton_arch_8 = Radiobutton(frame_left1,
                                              text="8-bit ",
                                              anchor="w",
                                              width=10,
                                              value=8,
                                              variable=self.arch_var,
                                              command=self.update_mode)
        self.radioButton_arch_8.pack(fill=X, side=TOP)

        self.radioButton_arch_32 = Radiobutton(frame_right1,
                                               text="32-bit",
                                               anchor="w",
                                               width=10,
                                               value=32,
                                               variable=self.arch_var,
                                               command=self.update_mode)
        self.radioButton_arch_32.pack(fill=X, side=TOP)

        #Mode
        self.mode_var = StringVar()
        lf_mode = LabelFrame(self.parent, text="Programming mode")
        lf_mode.pack(fill=X, expand=True, side=TOP)

        frame_mode = Frame(lf_mode)
        frame_mode.pack(fill=X, expand=True, side=TOP)

        frame_left2 = Frame(frame_mode)
        frame_left2.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right2 = Frame(frame_mode)
        frame_right2.pack(expand=True, fill=BOTH, side=RIGHT)

        self.radioButton_mode_icsp = Radiobutton(frame_left2,
                                                 text="ICSP",
                                                 anchor="w",
                                                 width=10,
                                                 value="icsp",
                                                 variable=self.mode_var,
                                                 command=self.update_mode)
        self.radioButton_mode_icsp.pack(side=TOP, fill=X)

        self.radioButton_mode_bootloader = Radiobutton(
            frame_right2,
            text="Bootloader",
            anchor="w",
            width=10,
            value="bootloader",
            variable=self.mode_var,
            command=self.update_mode)
        self.radioButton_mode_bootloader.pack(side=TOP, fill=X)

        #Bootloader
        self.boot_var = StringVar()
        self.lf_boot = LabelFrame(self.parent, text="Bootloader")
        self.lf_boot.pack(fill=X, expand=True, side=TOP)

        frame_boot = Frame(self.lf_boot)
        frame_boot.pack(fill=X, expand=True, side=TOP)

        frame_left3 = Frame(frame_boot)
        frame_left3.pack(expand=True, fill=BOTH, side=LEFT)

        frame_right3 = Frame(frame_boot)
        frame_right3.pack(expand=True, fill=BOTH, side=RIGHT)

        self.radioButton_bootloader_v1_v2 = Radiobutton(frame_left3,
                                                        text="v1.x or v2.x",
                                                        anchor="w",
                                                        width=10,
                                                        value="v1_v2",
                                                        variable=self.boot_var)
        self.radioButton_bootloader_v1_v2.pack(fill=X, side=TOP, expand=True)
        self.radioButton_bootloader_v4 = Radiobutton(frame_right3,
                                                     text="v4.x",
                                                     anchor="w",
                                                     width=10,
                                                     value="v4",
                                                     variable=self.boot_var)
        self.radioButton_bootloader_v4.pack(fill=X, side=TOP, expand=True)

        #Devices 8bit
        self.dev8_var = StringVar()
        self.lf_dev8 = LabelFrame(self.parent, text="Devices")
        self.lf_dev8.pack(fill=X, expand=True, side=TOP)

        self.frame_8b = Frame(self.lf_dev8)
        self.frame_8b.pack(fill=X, expand=True, side=TOP)

        #Devices 32bit
        self.dev32_var = StringVar()
        self.lf_dev32 = LabelFrame(self.parent, text="Devices")
        self.lf_dev32.pack(fill=X, expand=True, side=TOP)

        self.frame_32b = Frame(self.lf_dev32)
        self.frame_32b.pack(fill=X, expand=True, side=TOP)

        frame_buttons = Frame(self.parent)
        Button(frame_buttons, text="Accept",
               command=self.accept_config).pack(fill=X,
                                                expand=True,
                                                side=RIGHT)
        Button(frame_buttons, text="Cancel",
               command=self.quit).pack(fill=X, expand=True, side=LEFT)
        frame_buttons.pack(fill=X, expand=True, side=BOTTOM)

        frame_advance = Frame(self.parent)
        self.advanceoptions = Button(frame_advance,
                                     text="Advance options",
                                     command=self.advance)
        self.advanceoptions.pack(fill=X, expand=True, side=BOTTOM)
        frame_advance.pack(fill=X, expand=True, side=BOTTOM)

        frame_warning = Frame(self.parent)
        self.label_warning = Label(frame_warning,
                                   fg="red",
                                   text="warning!",
                                   anchor="w")
        self.label_warning.pack(fill=X, expand=True, side=BOTTOM)
        frame_warning.pack(fill=X, expand=True, side=BOTTOM)

        self.build_devices_arch()
        self.load_config()
        self.init_groups()
Example #55
0
    def endGUI():
        global choice
        choice = v.get()
        # print(choice)
        root.quit()
        root.destroy()
        # exit()
        # close_window()
        # root.destroy()

    def quitGUI():
        root.quit()
        root.destroy()
        sys.exit('aborted!')

    RB1 = Radiobutton(root, text='PVM', variable=v, value='PVM').pack(anchor=W)
    RB2 = Radiobutton(root, text='PV', variable=v, value='PV').pack(anchor=W)
    RB3 = Radiobutton(root, text='PUV', variable=v, value='PUV').pack(anchor=W)
    okButton = Button(root, text='OK', command=endGUI).pack(anchor=S)
    cancelButton = Button(root, text="Cancel", command=quitGUI).pack(anchor=W)
    choice = v.get()

    root.mainloop()
    # exit()
    # root.update()
    # print(choice)
elif len(set(pyrolist)) == 1:
    # global choice
    # print(pyrolist[0])
    choice = pyrolist[0]
Example #56
0
class Game:
    """
    This is our Game - everything important is handled here
    """
    def __init__(self, parent):
        self.parent = parent
        self.level = 1

        # create a board
        self.board = Board(self.parent, 100, "#ECECEC")  # hex color gray
        self.board.draw_board()

        # create players
        self.player1 = Player("Human")
        self.player2 = Player("Computer")

        self.level_var = IntVar()

        # setting the player to Human as the Human starts
        self.player = self.player1

        self.initialize_controls()
        self.layout()

    def initialize_controls(self, rest=False):
        label_text = StringVar()
        label_text.set("It is a %s's turn" % self.player.name)
        self.board.canvas.bind('<Button-1>', self.move)

        self.label = Label(self.board.container, textvariable=label_text)
        self.level1 = Radiobutton(self.board.container,
                                  text="Easy",
                                  variable=self.level_var,
                                  value=1,
                                  command=self.update_level)
        self.level2 = Radiobutton(self.board.container,
                                  text="Medium",
                                  variable=self.level_var,
                                  value=2,
                                  command=self.update_level)
        self.level3 = Radiobutton(self.board.container,
                                  text="Hard",
                                  variable=self.level_var,
                                  value=3,
                                  command=self.update_level)
        self.reset_button = Button(self.board.container,
                                   text="Reset",
                                   width=25,
                                   command=self.restart)

    def layout(self):
        # register buttons to board's container
        self.label.grid()
        self.level1.grid(row=0, column=1, sticky=W)
        self.level2.grid(row=1, column=1, sticky=W)
        self.level3.grid(row=2, column=1, sticky=W)
        self.level_var.set(self.level)
        self.reset_button.grid(row=4, sticky=E)

    def update_level(self):
        self.level = self.level_var.get()

    def restart(self):
        ''' Restart the game from the very beginning, reinitialize everything '''
        self.board.container.destroy()
        self.player1.clean_moves()
        self.player2.clean_moves()

        self.board = Board(self.parent, 100, "#ECECEC")
        self.board.draw_board()
        self.player = self.player1
        self.initialize_controls(rest=True)
        self.layout()

    def move(self, event):
        """
        This method is called when the button is clicked
        :param event: this is a mouse click with coordinates
        """

        if self.player.name == "Computer":
            self.computers_move()
        else:
            self.humans_move(event)

    def computers_move(self):

        xy_key = self.make_a_move(self.level)

        if xy_key is None:
            # something went wrong
            # need to handle it correctly
            self.result("We can't make a move any more!", "error")
            return

        x, y = self.board.translate_cells_dict_key_to_text_coords(xy_key)
        self.board.canvas.create_text(x, y, text="O", font=("Purisa", 60))

        # update the unused cells dictionary
        self.player.add_move(self.board.unused_cells_dict[xy_key])
        self.board.update_unused_cells_dict(xy_key)

        if self.check_if_won():
            return

        self.player = self.player1

    def humans_move(self, event):
        """
        This function handles
        :param event: this is a click event
        """

        if len(self.board.get_unused_cells_dict()) == 0:
            self.result("The game is over! Click Reset button", "info")
            return

        # a little logic to get the top left corner coords to draw the text
        floor_x, floor_y = self.board.get_floor_coord(event.x, event.y)
        xy_key = self.board.convert_coord_to_key(floor_x, floor_y)

        if not self.board.check_if_key_available(xy_key):
            self.result(
                "This cell is already busy - please, make another move",
                "warning")
            return

        x, y = self.board.translate_cells_dict_key_to_text_coords(xy_key)
        self.board.canvas.create_text(x, y, text="X", font=("Purisa", 60))

        # update the unused cells dictionary
        self.player.add_move(self.board.unused_cells_dict[xy_key])
        self.board.update_unused_cells_dict(xy_key)

        if self.check_if_won():
            return

        self.player = self.player2

        # imitate a button click for a computer move
        # with the event = None
        self.move(None)

    def make_a_move(self, level):
        """
        Here we make a move according to the computer intelligence level
        """

        unused_cells = self.board.get_unused_cells_dict()
        # if there's no more unused cells left
        # we can't move
        if len(unused_cells) == 0:
            return None

        cell_key = ""

        cells_list = unused_cells.keys()
        if level == 1:
            cell_key = choice(cells_list)
        if level == 3:
            # if it is the first move
            if len(unused_cells) == 8:
                corner_values = [1, 3, 7, 9]
                # if the first move was made in the corner
                if any(x in corner_values for x in self.player1.moves):
                    return "11"
                # else if the center field is taken
                elif "11" not in unused_cells.keys():
                    tmp_unused_cells = []
                    for key, value in unused_cells.iteritems():
                        if value in corner_values:
                            tmp_unused_cells.append(key)
                    return choice(tmp_unused_cells)
        if level == 2 or level == 3:
            # check if there's any pair where we can win
            tmp_cell_key_computer = self.check_twos(self.player2)
            if tmp_cell_key_computer == []:
                # if there's no such pair we need to prevent human from winning
                tmp_cell_key_human = self.check_twos(self.player1)
                if tmp_cell_key_human == []:
                    cell_key = choice(cells_list)
                else:
                    cell_key = choice(tmp_cell_key_human)
            else:
                cell_key = choice(tmp_cell_key_computer)

        return cell_key

    def check_twos(self, player):
        result_list = []
        for item in self.board.winning_combos:
            tmp_twos_dict = [[item[1], item[2]], [item[0], item[2]],
                             [item[0], item[1]]]
            if tmp_twos_dict[0][0] in player.moves and tmp_twos_dict[0][
                    1] in player.moves:
                result_list.append(item[0])
            if tmp_twos_dict[1][0] in player.moves and tmp_twos_dict[1][
                    1] in player.moves:
                result_list.append(item[1])
            if tmp_twos_dict[2][0] in player.moves and tmp_twos_dict[2][
                    1] in player.moves:
                result_list.append(item[2])
        result_keys = self.board.convert_vals_to_keys(result_list)
        return result_keys

    def check_if_won(self):
        ''' Here we define if the current user wins the game or is t a tie '''

        # if we did not do the 3 moves yet we could not have won
        if len(self.player.moves) < 3:
            return False

        for combo in self.board.winning_combos:
            if combo[0] in self.player.moves and \
               combo[1] in self.player.moves and \
               combo[2] in self.player.moves:
                self.result("%s wins!" % self.player.name, "info")
                self.board.unused_cells_dict = {}
                return True

        if len(self.board.get_unused_cells_dict()) == 0:
            self.result("It's a TIE!!!!", "info")
            return True

    def result(self, text, show_opt):
        ''' This function is gonna show the message box above the board '''
        if show_opt == "info":
            tkMessageBox.showinfo(title="Congraulations!", message=text)
        elif show_opt == "warning":
            tkMessageBox.showwarning(title="Warning!", message=text)
        elif show_opt == "error":
            tkMessageBox.showerror(title="Error!!!", message=text)
Example #57
0
    def add_radio_button(self, text, index):

        maptype = self.maptypes[index]
        Radiobutton(self.radiogroup, text=maptype, variable=self.radiovar, value=index,
                command=lambda:self.usemap(maptype)).grid(row=0, column=index)
Example #58
-1
    def __init__(self, parent):

        top = self.top = Toplevel(parent)

        Label(top, text="Pick your color").pack()
        
        self.v = 0;

        rb1 = Radiobutton(top, text="Yellow",value=YELLOW,command=self.sari)
        rb1.pack()
        rb1.select()
        rb2 = Radiobutton(top, text="Green",value=GREEN,command=self.yesil)

        rb2.pack()
        rb2.deselect()
        
        b = Button(top, text="OK", command=self.ok)
        b.pack(pady=5)
Example #59
-5
    def create_other_buttons(self):
        f = self.make_frame("Direction")

        btn = Radiobutton(f, variable=self.engine.backvar, value=1, text="Up")
        btn.pack(side="left")
        if self.engine.isback():
            btn.invoke()

        btn = Radiobutton(f, variable=self.engine.backvar, value=0, text="Down")
        btn.pack(side="left")
        if not self.engine.isback():
            btn.invoke()