Example #1
0
 def left_side(self, master):
     self.nombre = Entry(master,
                         justify=CENTER,
                         bd=3,
                         font=('Ravie', 11),
                         textvariable=self.NameVar)
     self.nombre.pack(side=TOP, fill=X)
     self.nombre.bind("<Key>", self.Enter)
     self.texto = Entry(master,
                        justify=CENTER,
                        bd=3,
                        font=('Ravie', 11),
                        textvariable=self.TextVar)
     self.texto.pack(side=TOP, fill=X)
     self.texto.bind("<Key>", self.Enter)
     self.tag = Entry(master,
                      justify=CENTER,
                      bd=3,
                      font=('Ravie', 11),
                      textvariable=self.TagsVar)
     self.tag.pack(side=TOP, fill=X)
     self.tag.bind("<Key>", self.Enter)
     self.tree = Treeview(master)
     self.tree.pack(side=LEFT, expand=YES, fill=BOTH)
     self.tree.bind("<Double-1>", self.OnDoubleClick)
Example #2
0
    def initUI(self):

        self.entries_found = []

        self.parent.title("Search your command cards")
        self.style = Style()
        self.style.theme_use("default")
        self.pack()

        self.input_title = Label(self, text="Enter your command below")
        self.input_title.grid(row=0, columnspan=2)
        self.input_box = Entry(self, width=90)
        self.input_box.grid(row=1, column=0)
        self.input_box.focus()
        self.input_box.bind("<Key>", self.onUpdateSearch)
        self.search_btn = Button(self, text="Search", command=self.onSearch)
        self.search_btn.grid(row=1, column=1)
        self.output_box = Treeview(self, columns=("Example"))
        ysb = Scrollbar(self, orient='vertical', command=self.output_box.yview)
        xsb = Scrollbar(self,
                        orient='horizontal',
                        command=self.output_box.xview)
        self.output_box.configure(yscroll=ysb.set, xscroll=xsb.set)
        self.output_box.heading('Example', text='Example', anchor='w')
        self.output_box.column("#0", minwidth=0, width=0, stretch=NO)
        self.output_box.column("Example", minwidth=0, width=785)
        self.output_box.bind("<Button-1>", self.OnEntryClick)
        self.output_box.grid(row=3, columnspan=2)
        self.selected_box = Text(self, width=110, height=19)
        self.selected_box.grid(row=4, columnspan=2)
        self.gotoadd_btn = Button(self,
                                  text="Go to Add",
                                  command=self.onGoToAdd)
        self.gotoadd_btn.grid(row=5)
Example #3
0
    def __init__(self, parent):
        Frame.__init__(self, parent)

        self.tree = Treeview(self)

        self.tree["columns"] = ("item1", "item2")
        self.tree.heading("item1", text="Column 1")
        self.tree.heading("item2", text="Column 2")

        self.tree.insert("", 0, text="Item 1", values=("Value 1", "Value 2"))

        row2 = self.tree.insert("", 1, "row2", text="Item 2")
        self.tree.insert(row2,
                         "end",
                         "item1",
                         text="Item 1",
                         values=("3", "7"))
        self.tree.insert(row2,
                         "end",
                         "item2",
                         text="Item 2",
                         values=("2", "5"))

        self.tree.pack(expand=1, fill="both")

        self.delete = Button(self, text="Delete Row", command=self.on_delete)
        self.delete.pack(side="bottom")
Example #4
0
    def create_file_treeview(self):
        self.fileTreeView = Treeview(self.main_window)
        self.fileTreeYScrollbar = Scrollbar(self.main_window,
                                            orient='vertical',
                                            command=self.fileTreeView.yview)
        self.fileTreeXScrollbar = Scrollbar(self.main_window,
                                            orient='horizontal',
                                            command=self.fileTreeView.xview)
        self.fileTreeView.configure(yscroll=self.fileTreeYScrollbar.set,
                                    xscroll=self.fileTreeXScrollbar.set)

        self.fileTreeView.grid(row=self.fileTreeRow,
                               column=self.fileTreeCol,
                               sticky=NS,
                               rowspan=3)
        self.fileTreeYScrollbar.grid(row=self.fileTreeRow,
                                     column=self.fileTreeScrollbarCol,
                                     sticky=NS,
                                     rowspan=3)
        self.fileTreeXScrollbar.grid(row=self.horizontalScrollbarRow,
                                     column=self.fileTreeCol,
                                     sticky=EW)

        self.fileTreeView.tag_configure('red', background=self.redColor)
        self.fileTreeView.tag_configure('green', background=self.greenColor)
        self.fileTreeView.tag_configure('yellow', background=self.yellowColor)
        self.fileTreeView.tag_configure('purpleLight',
                                        background=self.purpleLight)

        # hide it until needed
        self.fileTreeView.grid_remove()
        self.fileTreeYScrollbar.grid_remove()
        self.fileTreeXScrollbar.grid_remove()
Example #5
0
def start_browse_teams():
    global root
    root = Tk()
    root.title("Browse Teams")
    root.minsize(width=500, height=500)

    browse_teams_tree = Treeview(root)
    browse_teams_tree["columns"] = ("1", "2", "3", "4", "5")
    browse_teams_tree.column("1", width=100)
    browse_teams_tree.column("2", width=100)
    browse_teams_tree.column("3", width=100)
    browse_teams_tree.column("4", width=100)
    browse_teams_tree.column("5", width=100)
    browse_teams_tree.heading("1", text="Team ID")
    browse_teams_tree.heading("2", text="Camp ID")
    browse_teams_tree.heading("3", text="Team Name")
    browse_teams_tree.heading("4", text="Max Number of Members")
    browse_teams_tree.heading("5", text="Number of Members")

    index = 0
    for team_id in Team.get_all_ids():
        current_team = Team.select_team(team_id[0])
        browse_teams_tree.insert('', index, text= "row" + str(index + 1), values = (team_id[0], current_team[0], current_team[1], current_team[2], current_team[3]))
        index += 1

    browse_teams_tree.pack()

    exit_browse_teams_bt = Button(root, text="Exit", width=30, command = exit_browse_teams_bt_handler)
    exit_browse_teams_bt.pack(expand=True)
    root.mainloop()
    def __draw_scores(self):
        self.score_list = Treeview(self, columns=('name', 'score'))
        self.score_list['show'] = 'headings'
        self.score_list.heading('name', text='Name')
        self.score_list.column('name', width=80, anchor=CENTER)
        self.score_list.heading('score', text='Score')
        self.score_list.column('score', width=80, anchor=CENTER)

        self.score_list.grid(row=1, column=1, padx=(0, 20))
def start_browse_campers():
    global root
    root = Tk()
    root.title("Browse Campers")
    root.minsize(width=500, height=500)

    browse_camps_tree = Treeview(root)
    browse_camps_tree["columns"] = ("Camper ID", "First Name", "Last Name",
                                    "Date of Birth", "Gender", "Address",
                                    "Camps IDs", "Bunkhouses IDs", "Teams IDs")
    browse_camps_tree.column("Camper ID", width=100)
    browse_camps_tree.column("First Name", width=100)
    browse_camps_tree.column("Last Name", width=100)
    browse_camps_tree.column("Date of Birth", width=100)
    browse_camps_tree.column("Gender", width=100)
    browse_camps_tree.column("Address", width=100)
    browse_camps_tree.column("Camps IDs", width=100)
    browse_camps_tree.column("Bunkhouses IDs", width=100)
    browse_camps_tree.column("Teams IDs", width=100)
    browse_camps_tree.heading("Camper ID", text="Camper ID")
    browse_camps_tree.heading("First Name", text="First Name")
    browse_camps_tree.heading("Last Name", text="Last Name")
    browse_camps_tree.heading("Date of Birth", text="Date of Birth")
    browse_camps_tree.heading("Gender", text="Gender")
    browse_camps_tree.heading("Address", text="Address")
    browse_camps_tree.heading("Camps IDs", text="Camps IDs")
    browse_camps_tree.heading("Bunkhouses IDs", text="Bunkhouses IDs")
    browse_camps_tree.heading("Teams IDs", text="Teams IDs")

    index = 0
    for camper_id in Camper.get_all_ids():
        current_camper = Camper(camper_id[0])
        data = current_camper.select_camper()
        data2 = Bunkhouse.select_camp_team_bunkhouse(camper_id[0])
        browse_camps_tree.insert('',
                                 index,
                                 text="row" + str(index + 1),
                                 values=(camper_id, data[0], data[1], data[2],
                                         data[3], data[4], data2[0][:-2],
                                         data2[2][:-2], data2[1][:-2]))
        index += 1

    browse_camps_tree.pack()

    exit_browse_camp_bt = Button(root,
                                 text="Exit",
                                 width=30,
                                 command=exit_browse_camp_bt_handler)
    exit_browse_camp_bt.pack(expand=True)
    root.mainloop()
Example #8
0
 def __init__(self, master, headers, data, name=None):
     Frame.__init__(self, master, name=name)
     #: column headers
     self.headers = headers
     #: table data
     self.data = data
     #: :class:`~ttk.Treeview` that only shows "headings" not "tree columns"
     self.tree = Treeview(self,
                          columns=self.headers,
                          show="headings",
                          name='tabletree')
     #: vertical scrollbar
     self.yscroll = Scrollbar(self,
                              orient="vertical",
                              command=self.tree.yview,
                              name='table_yscroll')
     #: horizontal scrollbar
     self.xscroll = Scrollbar(self,
                              orient="horizontal",
                              command=self.tree.xview,
                              name='table_xscroll')
     self.tree['yscrollcommand'] = self.yscroll.set  # bind to scrollbars
     self.tree['xscrollcommand'] = self.xscroll.set
     # position widgets and set resize behavior
     self.tree.grid(column=0, row=0, sticky=(N + E + W + S))
     self.yscroll.grid(column=1, row=0, sticky=(N + S))
     self.xscroll.grid(column=0, row=1, sticky=(E + W))
     self.grid_columnconfigure(0, weight=1)
     self.grid_rowconfigure(0, weight=1)
     # build tree
     for col in self.headers:
         # NOTE: Use col as column identifiers, crafty!
         # NOTE: Also change col to title case using str.title()
         # NOTE: make lambda behave nicely in a loop using default arg!
         callback = lambda c=col: self.sortby(c, False)
         self.tree.heading(col, text=col.title(), command=callback)
         # adjust the column's width to the header string
         self.tree.column(col, width=tkFont.Font().measure(col.title()))
     # insert a new top-level treeview item by suing an empty string
     for item in self.data:
         self.tree.insert('', END, values=item)
         # adjust column's width if necessary to fit each value
         for idx, val in enumerate(item):
             col_width = tkFont.Font().measure(val)
             # option can be specified at least 3 ways: as (a) width=None,
             # (b) option='width' or (c) 'width', where 'width' can be any
             # valid column option.
             if self.tree.column(self.headers[idx], 'width') < col_width:
                 self.tree.column(self.headers[idx], width=col_width)
Example #9
0
 def mostra_historic(self):
     popup = Toplevel()
     agenda_historic = Treeview(
         popup,
         columns=["nom", "tel", "email", "path", "accio", "data"],
         show="headings")
     agenda_historic.heading("nom", text="Nom")
     agenda_historic.heading("tel", text="Telefon")
     agenda_historic.heading("email", text="Email")
     agenda_historic.heading("path", text="Path")
     agenda_historic.heading("accio", text="Acció")
     agenda_historic.heading("data", text="Data")
     agenda_historic.column("nom",
                            minwidth=0,
                            width=150,
                            stretch=True,
                            anchor="c")
     agenda_historic.column("tel",
                            minwidth=0,
                            width=100,
                            stretch=True,
                            anchor="c")
     agenda_historic.column("email",
                            minwidth=0,
                            width=150,
                            stretch=True,
                            anchor="c")
     agenda_historic.column("path",
                            minwidth=0,
                            width=200,
                            stretch=True,
                            anchor="c")
     agenda_historic.column("accio",
                            minwidth=0,
                            width=100,
                            stretch=True,
                            anchor="c")
     agenda_historic.column("data",
                            minwidth=0,
                            width=150,
                            stretch=True,
                            anchor="c")
     agenda_historic.grid(row=0, column=0, padx=5, pady=5)
     self.cursor.execute("select * from HISTORIC ORDER BY data DESC;")
     dades = self.cursor.fetchall()
     for data_usuari in dades:
         agenda_historic.insert('', 'end', values=data_usuari)
Example #10
0
 def __init__(self, root, frame, num, logit, all_values, list_styles_names):
     Treeview.__init__(self, root)
     self.root = root
     self.num = num
     self.frame = frame
     self.name = "MOXA-%s" % str(self.num)
     self.tree = Treeview(frame, style=list_styles_names[num])
     self.tree["columns"] = ("one", "two", "three")
     self.tree.heading("#0", text="")
     self.tree.column("#0", minwidth=0, width=5, stretch=NO)
     self.tree.heading("one", text="Port")
     self.tree.column("one", minwidth=0, width=30, stretch=NO)
     self.tree.column("two", minwidth=0, width=name_column, stretch=NO)
     self.tree.heading("three", text="State")
     self.tree.column("three", minwidth=0, width=state_column, stretch=YES)
     self.tree['height'] = 32
     self.tree.tag_configure('green',
                             background='gray7',
                             foreground='green2')
     self.tree.tag_configure('red',
                             background='gray7',
                             foreground='tomato2')
     self.tree.tag_configure('blue',
                             background='gray7',
                             foreground='RoyalBlue')
     self.tree.tag_configure('yellow',
                             background='gray7',
                             foreground='yellow')
     self.tree.tag_configure('ready',
                             background='gray7',
                             foreground='white')
     self.tree.tag_configure(
         'focus',
         background='yellow',
     )
     self.tree.bind("<Motion>", self.mycallback)
     self.last_focus = None
     self.tree.pack(side=LEFT)
     self.logit = logit
     self.moxa = all_values[self.num][0]
     self.wraplength = 180
     for key in self.moxa.keys():
         self.tree.insert("",
                          "end",
                          values=(str(key), self.moxa[key], "<><><>"),
                          tags=("green", ))
Example #11
0
    def initUI(self):
        self.columnconfigure(0, weight=0)
        self.columnconfigure(1, weight=0)
        self.columnconfigure(2, weight=1)
        self.columnconfigure(3, weight=1)

        self.rowconfigure(0, weight=1)

        self.commandFrame = Frame(self, background="white")
        self.commandFrame.grid(row=0, column=0, columnspan=5, sticky=W+E)
        self.commandFrame.columnconfigure(1, weight=1)

        self.btnCommand = Button(self.commandFrame, text="Run")
        self.btnCommand.grid(row=0, column=0)

        self.strCommand = StringVar()
        self.entCommand = Entry(self.commandFrame, textvariable=self.strCommand)
        self.entCommand.grid(row=0, column=1, sticky=W+E)
        
        self.lstMacro = Listbox(self)
        self.lstMacro.grid(row=1, column=0, sticky=N+S+W+E)
        
        self.treeview = Treeview(self, columns=("Angle"), displaycolumns="#all", selectmode="browse")
        self.treeview.grid(row=1, column=1, columnspan=4, sticky=N+S+W+E)
        self.treeScrollbar = Scrollbar(self)
        self.treeScrollbar.grid(row=1, column=5, sticky=N+S)
        self.treeview.config(yscrollcommand=self.treeScrollbar.set)
        self.treeScrollbar.config(command=self.treeview.yview)

        self.btnFrame = Frame(self, background="white")
        self.btnFrame.grid(row=2, column=0, columnspan=5, sticky=W+E)

        self.btnRun = Button(self.btnFrame, text="Run", command=self.runMacro)
        self.btnRun.grid(row=0, column=0)
        
        self.btnStop = Button(self.btnFrame, text="Stop")
        self.btnStop.grid(row=0, column=1)

        self.btnSaveMacro = Button(self.btnFrame, text="Save Macro", command=self.saveMacro)
        self.btnSaveMacro.grid(row=0, column=2)

        self.btnDeleteMacro = Button(self.btnFrame, text="Delete Macro")
        self.btnDeleteMacro.grid(row=0, column=3)

        self.btnDeleteState = Button(self.btnFrame, text="Delete State")
        self.btnDeleteState.grid(row=0, column=4)
Example #12
0
    def CreateUI(self):
        tv = Treeview(self)
        tv['columns'] = ('no_of_coin', 's_id', 'm_s_id')
        tv.heading("#0", text='Date', anchor='c')
        tv.column("#0", anchor="c")
        tv.heading('no_of_coin', text='No Of Coin')
        tv.column('no_of_coin', anchor='center', width=100)
        tv.heading('s_id', text='Service ID')
        tv.column('s_id', anchor='center', width=100)
        tv.heading('m_s_id', text='Miner ID')
        tv.column('m_s_id', anchor='center', width=100)
        tv.grid(sticky=(N, S, W, E))
        self.treeview = tv
        self.grid_rowconfigure(0, weight=1)
        self.grid_columnconfigure(0, weight=1)

        btn = Button(self, text=('Back'), command=self.back, width=10, background='red')
        btn.grid(sticky=(S + E))
Example #13
0
def start_query_browse():
    global root
    root = Tk()
    root.title("Browse Camps, Bunkhouse and Teams")
    root.minsize(width=500, height=500)

    browse_query_tree = Treeview(root)
    browse_query_tree["columns"] = ("1", "2", "3", "4", "5", "6", "7", "8",
                                    "9")
    browse_query_tree.column("1", width=100)
    browse_query_tree.column("2", width=100)
    browse_query_tree.column("3", width=100)
    browse_query_tree.column("4", width=100)
    browse_query_tree.column("5", width=100)
    browse_query_tree.column("6", width=100)
    browse_query_tree.column("7", width=100)
    browse_query_tree.column("8", width=100)
    browse_query_tree.column("9", width=100)
    browse_query_tree.heading("1", text="Bunkhouses IDs")
    browse_query_tree.heading("2", text="Camps IDs")
    browse_query_tree.heading("3", text="Camp Start Date")
    browse_query_tree.heading("4", text="Camp End Date")
    browse_query_tree.heading("5", text="Camper ID")
    browse_query_tree.heading("6", text="First Name")
    browse_query_tree.heading("7", text="Last Name")
    browse_query_tree.heading("8", text="Gender")
    browse_query_tree.heading("9", text="Teams IDs")

    index = 0
    for row_data in Bunkhouse.get_all_query_data():
        browse_query_tree.insert('',
                                 index,
                                 text="row" + str(index + 1),
                                 values=(row_data[0], row_data[1], row_data[2],
                                         row_data[3], row_data[4], row_data[5],
                                         row_data[6], row_data[7],
                                         row_data[8]))
        index += 1

    browse_query_tree.pack()

    exit_bt = Button(root, text="Exit", width=30, command=exit_bt_handler)
    exit_bt.pack(expand=True)
    root.mainloop()
Example #14
0
    def modelConfigFrame(self, parent):
        """
    Create and place next under parent a frame containing the current model configuration.
    """
        #Create container
        frame = Frame(parent)
        #Create treeView for model configuration
        self.modelTree = Treeview(parent, columns=('size', 'modified'))
        self.populateModelTree()
        self.modelTree.grid(row=1)

        #Bind right-click (<Button-3>) on tree items for contextual menus
        def treeContextualMenu(event):
            itemId = self.modelTree.identify_row(event.y)
            if itemId:
                self.modelTree.selection_set(itemId)
                item = self.modelTree.selection()
                ctxMenu = Menu(self.window, tearoff=0)
                ctxMenu.add_separator()
                if item[0][:4] == "tag:":
                    tag = item[0][4:]
                    ctxMenu.add_command(
                        label="Add samples (from a csv file)",
                        command=lambda: self.addSampleFileToModelDir(tag))
                    ctxMenu.add_separator()
                    ctxMenu.add_command(
                        label="Visualize feature map w.r.t loaded model",
                        command=lambda: self.testOnLoadedModel(
                            join(configs["model_data_dir"], tag), True))
                elif item[0][:5] == "file:":
                    filename = item[0][5:]
                    ctxMenu.add_command(
                        label="Test on loaded model",
                        command=lambda: self.testOnLoadedModel(
                            join(configs["model_data_dir"], filename), False))
                    ctxMenu.add_separator()
                    ctxMenu.add_command(
                        label="Delete",
                        command=lambda: self.deleteModelFile(filename))
                ctxMenu.add_separator()
                ctxMenu.tk_popup(event.x_root, event.y_root)

        self.modelTree.bind("<Button-3>", treeContextualMenu)
        return frame
Example #15
0
 def createui(self):
     image = Image.open('header.png')
     photo = ImageTk.PhotoImage(image)
     lbl = Label(self, image=photo)
     lbl.image = photo
     lbl.grid(row=0, column=0, columnspan=2, sticky='ns')
     self.treeview = Treeview(self)
     self.treeview['columns'] = ['title']
     self.treeview.heading("#0", text='Repeticiones', anchor='center')
     self.treeview.column("#0", anchor="center", width=90)
     self.treeview.heading('title', text='Titulo', anchor='w')
     self.treeview.column('title', anchor='w', width=700)
     self.treeview.grid(sticky=(N, S, W, E))
     self.treeview.bind("<Double-1>", self.openlink)
     ysb = Scrollbar(self, width=18, orient='vertical', command=self.treeview.yview)
     ysb.grid(row=1, column=1, sticky='ns')
     self.treeview.configure(yscroll=ysb.set)
     self.grid_rowconfigure(1, weight=1)
     self.grid_columnconfigure(0, weight=1)
Example #16
0
def start_browse_camps():
    global root
    root = Tk()
    root.title("Browse Camps")
    root.minsize(width=500, height=500)

    browse_camps_tree = Treeview(root)
    browse_camps_tree["columns"] = ("Camp ID", "Start Date", "End Date",
                                    "Number of Bunckhouses", "Number of Teams",
                                    "Cost")
    browse_camps_tree.column("Camp ID", width=100)
    browse_camps_tree.column("Start Date", width=100)
    browse_camps_tree.column("End Date", width=100)
    browse_camps_tree.column("Number of Bunckhouses", width=100)
    browse_camps_tree.column("Number of Teams", width=100)
    browse_camps_tree.column("Cost", width=100)
    browse_camps_tree.heading("Camp ID", text="Camp ID")
    browse_camps_tree.heading("Start Date", text="Start Date")
    browse_camps_tree.heading("End Date", text="End Date")
    browse_camps_tree.heading("Number of Bunckhouses",
                              text="Number of Bunckhouses")
    browse_camps_tree.heading("Number of Teams", text="Number of Teams")
    browse_camps_tree.heading("Cost", text="Cost")

    index = 0
    for camp_id in Camp.get_all_ids():
        current_camp = Camp(camp_id[0])
        data = current_camp.select_camp()
        browse_camps_tree.insert('',
                                 index,
                                 text="row" + str(index + 1),
                                 values=(camp_id, data[0], data[1], data[2],
                                         data[3], data[4]))
        index += 1

    browse_camps_tree.pack()

    exit_browse_camp_bt = Button(root,
                                 text="Exit",
                                 width=30,
                                 command=exit_browse_camp_bt_handler)
    exit_browse_camp_bt.pack(expand=True)
    root.mainloop()
Example #17
0
def start_browse_payments():
    global root
    root = Tk()
    root.title("Browse Payments")
    root.minsize(width=500, height=500)

    browse_payments_tree = Treeview(root)
    browse_payments_tree["columns"] = ("1", "2", "3", "4", "5", "6")
    browse_payments_tree.column("1", width=100)
    browse_payments_tree.column("2", width=100)
    browse_payments_tree.column("3", width=100)
    browse_payments_tree.column("4", width=100)
    browse_payments_tree.column("5", width=100)
    browse_payments_tree.column("6", width=100)
    browse_payments_tree.heading("1", text="Payment ID")
    browse_payments_tree.heading("2", text="Camper ID")
    browse_payments_tree.heading("3", text="Camp ID")
    browse_payments_tree.heading("4", text="Date of Payment")
    browse_payments_tree.heading("5", text="Amount Paid")
    browse_payments_tree.heading("6", text="Camp Start Date")

    index = 0
    for payment_id in Payment.get_all_ids():
        current_payment = Payment(payment_id[0])
        data = current_payment.select_payment()
        mycamp = Camp(data[1])
        camp_start = mycamp.select_camp()[0]
        browse_payments_tree.insert('',
                                    index,
                                    text="row" + str(index + 1),
                                    values=(payment_id, data[0], data[1],
                                            data[2], data[3], camp_start))
        index += 1

    browse_payments_tree.pack()

    exit_payments_camp_bt = Button(root,
                                   text="Exit",
                                   width=30,
                                   command=exit_browse_payment_bt_handler)
    exit_payments_camp_bt.pack(expand=True)
    root.mainloop()
Example #18
0
def make_tree( mainframe, directory ):
    logging.debug( "Creating a new tree" )
    tree = Treeview( mainframe, columns=( 'ins', 'outs' ) )

    logging.debug( "Packing the tree into the GUI. Adding columns and headings" )

    tree.grid( column=2, row=4 )
    tree.heading( "#0", text="Block" )
    tree.heading( 'ins', text='Inputs' )
    tree.heading( 'outs', text="Outputs" )

    # Set the width and alignment of the two columns
    tree.column( 'ins', width=60, anchor='center' )
    tree.column( 'outs', width=60, anchor='center' )

    logging.debug( "Filling the tree with directory: %s" % directory )
    codefiles = fill_tree( tree, directory )
    logging.debug( "Done filling tree" )

    return tree, codefiles
Example #19
0
    def __init__(self, datasource=None):
        self.__main_window = Tk()
        self.__main_window.minsize(800, 600)
        self.__main_window.iconbitmap("resources/quill.ico")
        self.__main_window.wm_title("Notebook Demo")
        self.__add_menu()

        cols = ("Last Name", "First Name", "Phone", "Birthday")
        tv = Treeview(self.__main_window, columns=cols, show="headings")
        self.__table = tv
        for col in cols:
            tv.heading(col, text=col)
        tv.grid(row=0, sticky=Tkinter.N + Tkinter.S + Tkinter.E + Tkinter.W)
        Tkinter.Grid.columnconfigure(self.__main_window, 0, weight=1)
        Tkinter.Grid.rowconfigure(self.__main_window, 0, weight=1)
        Tkinter.Grid.columnconfigure(self.__main_window, 1, minsize=100)
        self.__add_buttons()
        # To be able to use this UI from another app and as autonomous app
        # Also, I just hate an idea of creating storage in UI
        if datasource is None:
            self.__datasource = DataStorage()
        else:
            self.__datasource = datasource
    def __initUI(self):
        """
        Initialize UI with a list and required entry fields and submit buttons."""

        self.parent.title('Multiplayer Game')
        self.pack(fill=BOTH, expand=1)

        self.lobby_list = Treeview(self, columns=('room', 'players'))
        self.lobby_list['show'] = 'headings'
        self.lobby_list.heading('room', text='Room ID')
        self.lobby_list.column('room', width=250, anchor=CENTER)
        self.lobby_list.heading('players', text='Players')
        self.lobby_list.column('players', width=100, anchor=CENTER)
        self.lobby_list.grid(row=1,
                             column=0,
                             columnspan=2,
                             rowspan=2,
                             padx=20,
                             pady=(10, 0))

        self.connect_lobby = Button(self,
                                    text='Joining Sudoku\n Solving Session',
                                    command=self.__connect_lobby)
        self.connect_lobby.grid(row=3, column=1, pady=(0, 10))

        Label(self,
              text='Creating new Sudoku\n solving session:').grid(row=4,
                                                                  column=0)

        self.max_players = Entry(self)
        self.max_players.grid(row=4, column=1)

        self.create_game = Button(self,
                                  text='Join new game',
                                  command=self.__create_game)
        self.create_game.grid(row=5, column=1)
    def __init__(self,
                 master,
                 columns,
                 data=None,
                 command=None,
                 sort=True,
                 select_mode=None,
                 heading_anchor=CENTER,
                 cell_anchor=W,
                 style=None,
                 height=None,
                 padding=None,
                 adjust_heading_to_content=False,
                 stripped_rows=None,
                 selection_background=None,
                 selection_foreground=None,
                 field_background=None,
                 heading_font=None,
                 heading_background=None,
                 heading_foreground=None,
                 cell_pady=2,
                 cell_background=None,
                 cell_foreground=None,
                 cell_font=None,
                 headers=True):

        self._stripped_rows = stripped_rows

        self._columns = columns

        self._number_of_rows = 0
        self._number_of_columns = len(columns)

        self.row = self.List_Of_Rows(self)
        self.column = self.List_Of_Columns(self)

        s = Style()

        if style is None:
            style_name = "Multicolumn_Listbox%s.Treeview" % self._style_index
            self._style_index += 1
        else:
            style_name = style

        style_map = {}
        if selection_background is not None:
            style_map["background"] = [('selected', selection_background)]

        if selection_foreground is not None:
            style_map["foeground"] = [('selected', selection_foreground)]

        if style_map:
            s.map(style_name, **style_map)

        style_config = {}
        if cell_background is not None:
            style_config["background"] = cell_background

        if cell_foreground is not None:
            style_config["foreground"] = cell_foreground

        if cell_font is None:
            font_name = s.lookup(style_name, "font")
            cell_font = nametofont(font_name)
        else:
            if not isinstance(cell_font, Font):
                if isinstance(cell_font, basestring):
                    cell_font = nametofont(cell_font)
                else:
                    if len(font) == 1:
                        cell_font = Font(family=cell_font[0])
                    elif len(font) == 2:
                        cell_font = Font(family=cell_font[0],
                                         size=cell_font[1])

                    elif len(font) == 3:
                        cell_font = Font(family=cell_font[0],
                                         size=cell_font[1],
                                         weight=cell_font[2])
                    else:
                        raise ValueError(
                            "Not possible more than 3 values for font")

            style_config["font"] = cell_font

        self._cell_font = cell_font

        self._rowheight = cell_font.metrics("linespace") + cell_pady
        style_config["rowheight"] = self._rowheight

        if field_background is not None:
            style_config["fieldbackground"] = field_background

        s.configure(style_name, **style_config)

        heading_style_config = {}
        if heading_font is not None:
            heading_style_config["font"] = heading_font
        if heading_background is not None:
            heading_style_config["background"] = heading_background
        if heading_foreground is not None:
            heading_style_config["foreground"] = heading_foreground

        heading_style_name = style_name + ".Heading"
        s.configure(heading_style_name, **heading_style_config)

        treeview_kwargs = {"style": style_name}

        if height is not None:
            treeview_kwargs["height"] = height

        if padding is not None:
            treeview_kwargs["padding"] = padding

        if headers:
            treeview_kwargs["show"] = "headings"
        else:
            treeview_kwargs["show"] = ""

        if select_mode is not None:
            treeview_kwargs["selectmode"] = select_mode

        self.interior = Treeview(master, columns=columns, **treeview_kwargs)

        if command is not None:
            self._command = command
            self.interior.bind("<<TreeviewSelect>>", self._on_select)

        for i in range(0, self._number_of_columns):

            if sort:
                self.interior.heading(
                    i,
                    text=columns[i],
                    anchor=heading_anchor,
                    command=lambda col=i: self.sort_by(col, descending=False))
            else:
                self.interior.heading(i,
                                      text=columns[i],
                                      anchor=heading_anchor)

            if adjust_heading_to_content:
                self.interior.column(i, width=Font().measure(columns[i]))

            self.interior.column(i, anchor=cell_anchor)

        if data is not None:
            for row in data:
                self.insert_row(row)
Example #22
0
    def Continue(self):
        self.master.withdraw()
        self.main = Toplevel(self.master)
        self.main.geometry("%dx%d+%d+%d" % (1038-206, 
                               694,
                               int((500.0/2560.0)*screen_resolution[0]), 
                               int((60.0/1440.0)*screen_resolution[1])))
        self.main.minsize(376,227)                      
        self.interior = PanedWindow(self.main,sashwidth=5)
        self.interior.pack(fill=BOTH, expand=1)

        self.elements_frame = Frame(self.interior, height=1038, width=212,relief=RIDGE,borderwidth=0)
        self.interior.add(self.elements_frame) 
        self.interior.paneconfig(self.elements_frame,minsize=130)
        self.graph_frame = Frame(self.interior)
        self.interior.add(self.graph_frame)
        self.interior.paneconfig(self.graph_frame,minsize=130)

        self.main.bind("<ButtonRelease-1>",self.pan_update)
        self.main.bind("<ButtonRelease-3>",self.pan_update)
        self.main.bind("<Button-3>",self.right_menu)
        
        self.edit_frame = Frame(self.graph_frame)
        self.edit_frame.pack(side=TOP,fill=X,padx=10)
        self.canvas = FigureCanvasTkAgg(self.Fig, master=self.graph_frame)
        self.canvas.show()
        self.canvas.get_tk_widget().pack(fill=BOTH,expand=1)
        self.nav_frame = Frame(self.edit_frame)
        self.nav_frame.pack(side=LEFT,anchor=W)
        self.toolbar = NavigationToolbar(self.canvas, self.nav_frame)
        
        self.main.protocol('WM_DELETE_WINDOW',self.master.destroy) 
        self.elements = Treeview(self.elements_frame,columns=("values","xlocations","ylocations"),selectmode=BROWSE)
        self.elements.heading("#0",text="Components")
        self.elements.heading("values",text="Str")
        self.elements.heading("xlocations",text="X")
        self.elements.heading("ylocations",text="Y")
        self.elements.column("#0",width=90,anchor=CENTER)
        self.elements.column("values",width=45,anchor=CENTER)
        self.elements.column("xlocations",width=26,anchor=CENTER)
        self.elements.column("ylocations",width=26,anchor=CENTER)
        self.elements.pack(fill=BOTH,expand=1)
        
        self.as_button_frame = Frame(self.elements_frame)
        self.add_button = Button(self.as_button_frame,text = '+',width=2,command=self.add)       
        self.sub_button = Button(self.as_button_frame,text = '-',width=2,command=self.subtract) 
        self.options_button = Button(self.as_button_frame,text='Options',command=self.options)
        self.as_button_frame.pack(side=BOTTOM,anchor=W)
        self.options_button.pack(side=RIGHT)
        self.sub_button.pack(side=RIGHT,anchor=W)
        self.add_button.pack(side=LEFT,anchor=W)
        self.addsub_menu = Menu(self.as_button_frame,tearoff=0)
        self.addsub_menu.add_command(command=self.add_source,label='Source')
        self.addsub_menu.add_command(command=self.add_vortex,label='Vortex')
        self.addsub_menu.add_command(command=self.add_uniform,label='Uniform')
        self.addsub_menu.add_command(command=self.add_doublet,label='Doublet')
        self.addsub_menu.add_command(command=self.add_corner,label='Corner')
        

        #if self.listbox.get(self.listbox.curselection()) == 'Default':
        if self.radio_var.get() == 'Default':
            self.active_components = []
            self.active_calls = {} 
            pass
        #elif self.listbox.get(self.listbox.curselection()) == 'Maelstrom':
        elif self.radio_var.get() == 'Maelstrom':
            self.elements.insert("",0,"M",text="Maelstrom",open=TRUE)
            self.active_components = ['M']
            self.elements.insert("M",0,iid='s%s'%self.active_numbers['s'],text="Source",values=("%s"%1,0,0))
            self.elements.insert("M",0,iid='v%s'%self.active_numbers['v'],text="Vortex",values=("%s"%1,0,0))
            self.active_calls = {'s%s'%self.active_numbers['s']:("s",self.elements.item('s%s'%self.active_numbers['s'],"values")),
                                 'v%s'%self.active_numbers['v']:("v",self.elements.item('v%s'%self.active_numbers['v'],"values"))}
            self.active_numbers['s'] += 1
            self.active_numbers['v'] += 1
        elif self.radio_var.get() == 'Rankine Half-Body':
            self.elements.insert("",0,"RHF",text="Rankine Half-Body",open=TRUE)
            self.active_components = ['RHF']
            self.elements.insert("RHF",0,iid='s%s'%self.active_numbers['s'],text="Source",values=("%s"%10,0,0))
            self.elements.insert("RHF",0,iid='u%s'%self.active_numbers['u'],text="Uniform",values=("%s"%1,1,0))
            self.active_calls = {'s%s'%self.active_numbers['s']:("s",self.elements.item('s%s'%self.active_numbers['s'],"values")),
                                 'u%s'%self.active_numbers['u']:("u",self.elements.item('u%s'%self.active_numbers['u'],"values"))}
            self.active_numbers['s'] += 1
            self.active_numbers['u'] += 1
        elif self.radio_var.get() == 'Rankine Oval':
            self.elements.insert("",0,"RO",text="Rankine Oval",open=TRUE)
            self.active_components = ['RO']
            self.elements.insert("RO",0,iid='s%s'%self.active_numbers['s'],text="Source",values=("%s"%10,-2,0))
            self.elements.insert("RO",0,iid='s%s'%(self.active_numbers['s']+1),text="Source",values=("%s"%-10,2,0))
            self.elements.insert("RO",0,iid='u%s'%self.active_numbers['u'],text="Uniform",values=("%s"%1,1,0))
            self.active_calls = {'s%s'%self.active_numbers['s']:("s",self.elements.item('s%s'%self.active_numbers['s'],"values")),
                                 's%s'%(self.active_numbers['s']+1):("s",self.elements.item('s%s'%(self.active_numbers['s']+1),"values")),
                                 'u%s'%self.active_numbers['u']:("u",self.elements.item('u%s'%self.active_numbers['u'],"values"))}
            self.active_numbers['s'] += 2
            self.active_numbers['u'] += 1       
        elif self.radio_var.get() == 'Cylinder':
            self.elements.insert("",0,'D+U',text="Cylinder",open=TRUE)
            self.active_components = ['D+U']
            self.elements.insert('D+U',0,iid='d%s'%self.active_numbers['d'],text="Doublet",values=("%s"%25,0,0))
            self.elements.insert('D+U',0,iid='u%s'%self.active_numbers['u'],text="Uniform",values=("%s"%1,1,0))
            self.active_calls = {'d%s'%self.active_numbers['d']:("d",self.elements.item('d%s'%self.active_numbers['d'],"values")),
                                 'u%s'%self.active_numbers['u']:("u",self.elements.item('u%s'%self.active_numbers['u'],"values"))}
            self.active_numbers['d'] += 1
            self.active_numbers['u'] += 1
        elif self.radio_var.get() == 'Stagnation & Vortex':
            self.elements.insert("",0,'S+V',text="Stag+Vort",open=TRUE)
            self.active_components = ['S+V']
            self.elements.insert('S+V',0,iid='n%s'%self.active_numbers['n'],text="C (n,A)",values=("%s,%s"%(2,1),0,0))
            self.elements.insert('S+V',0,iid='v%s'%self.active_numbers['v'],text="Vortex",values=("%s"%25,0,0))
            self.active_calls = {'n%s'%self.active_numbers['n']:("n",self.elements.item('n%s'%self.active_numbers['n'],"values")),
                                 'v%s'%self.active_numbers['v']:("v",self.elements.item('v%s'%self.active_numbers['v'],"values"))}
            self.active_numbers['n'] += 1
            self.active_numbers['v'] += 1
        self.elements.bind("<Double-Button-1>",self.edit)
        self.elements.bind('<<TreeviewSelect>>',self.treeview_select)
        self.main.bind("<Return>",self.edit_return)
        self.main.bind("<Escape>",self.edit_return)

        
        self.rightc_menu = Menu(self.graph_frame,tearoff=0)
        self.add_menu = Menu(self.rightc_menu,tearoff=0)
        self.rightc_menu.add_cascade(label="Add",menu=self.add_menu)
        self.add_menu.add_command(command=self.addm_source,label='Source')
        self.add_menu.add_command(command=self.addm_vortex,label='Vortex')
        self.add_menu.add_command(command=self.addm_uniform,label='Uniform')
        self.add_menu.add_command(command=self.addm_doublet,label='Doublet')
        self.add_menu.add_command(command=self.addm_corner,label='Corner')
Example #23
0
    def __init__(self, root, cursor, db):
        self.frame = Frame(root)
        self.frame.configure(background='white')
        self.list_toplevel = {}
        self.cursor = cursor
        self.db = db
        self.child_toplevel = None
        self.frame.pack()
        image = Image.open("photo.jpg")
        image = image.resize((250, 250), Image.ANTIALIAS)
        photo = ImageTk.PhotoImage(image)
        label = Label(self.frame, image=photo)
        label.grid(row=0, column=0, sticky=W)
        label.image = photo  # keep a reference!
        nou_registre = LabelFrame(self.frame,
                                  text="Nou registre",
                                  fg="Blue",
                                  padx=5,
                                  pady=5)
        nou_registre.configure(background='white')
        nou_registre.grid(row=0, column=1, padx=15, sticky=W)

        text_nom = Label(nou_registre, text="Nom:", fg="Blue")
        text_nom.configure(background='white')
        text_nom.grid(row=0, column=0)
        self.entry_nom = Entry(nou_registre)
        self.entry_nom.grid(row=0, column=1, sticky=W)

        text_telefon = Label(nou_registre, text="Telèfon: ", fg="Blue")
        text_telefon.configure(background='white')
        text_telefon.grid(row=1, column=0)
        self.entry_telefon = Entry(nou_registre)
        self.entry_telefon.grid(row=1, column=1)

        text_email = Label(nou_registre, text="Email: ", fg="Blue")
        text_email.configure(background='white')
        text_email.grid(row=2, column=0)
        self.entry_email = Entry(nou_registre)
        self.entry_email.grid(row=2, column=1)

        button_afegir_contacte = Button(nou_registre,
                                        text="Afegir contacte",
                                        fg="Blue",
                                        command=self.afegeix_contacte)
        button_afegir_contacte.grid(row=3, column=1, sticky=E)

        button_mostra_historic = Button(nou_registre,
                                        text="Mostra historic",
                                        fg="Blue",
                                        command=self.mostra_historic)
        button_mostra_historic.grid(row=4, column=0, sticky=W)

        mostrar_contactes = Button(self.frame,
                                   text="Mostrar contactes",
                                   fg="Blue",
                                   command=self.insert_contacts_treeview)
        mostrar_contactes.grid(sticky=W, row=3)

        self.missatge_error_confirmacio = StringVar()

        self.label_error_confirmacio = Label(
            self.frame, textvariable=self.missatge_error_confirmacio, fg="Red")
        self.label_error_confirmacio.configure(background='white')
        self.label_error_confirmacio.grid(sticky=W, row=3, column=1)

        self.agenda_contactes = Treeview(self.frame,
                                         columns=["nom", "tel"],
                                         show="headings")
        self.agenda_contactes.heading("nom", text="Nom")
        self.agenda_contactes.heading("tel", text="Telefon")
        self.agenda_contactes.column("nom",
                                     minwidth=0,
                                     width=200,
                                     stretch=NO,
                                     anchor="c")
        self.agenda_contactes.column("tel",
                                     minwidth=0,
                                     width=200,
                                     stretch=NO,
                                     anchor="c")
        self.agenda_contactes.grid(row=4, column=0, padx=0, columnspan=2)

        self.insert_contacts_treeview()
        elimina_seleccionat = Button(self.frame,
                                     text="Eliminar seleccionat",
                                     command=self.elimina_contacte,
                                     fg="Blue")
        elimina_seleccionat.grid(row=5, column=0, sticky=W)

        self.modificar_seleccionat = Button(self.frame,
                                            text="Modificar seleccionat",
                                            fg="Blue",
                                            command=self.modifica_contacte)
        self.modificar_seleccionat.grid(row=5, column=1, sticky=W)
        sortir = Button(self.frame,
                        text="Sortir",
                        fg="Blue",
                        command=self.frame.quit)
        sortir.grid(row=5, column=2, sticky=E)
Example #24
0
        def __init__(self, parent, controller):
                Frame.__init__(self, parent)

		lupa = PhotoImage(file='img/lupa.png')
		
		#VARIABLES
		tcontrato = ['Vivienda', 'Comercial']
		aplica = StringVar()
		
		#WIDGETS
		
		#========================= HEADER ===========================
		
		self.header = Label(self, text="RECIBO DE CAJA", font="bold")
		self.header.pack(pady=20, side=TOP)
		
		#========================== WRAPPER ==========================
		
		self.wrapper = Frame (self)
		self.wrapper.pack(side=TOP, fill=Y)
		#self.wrapper.pack(side=LEFT, fill=Y)#Este ubica el forma a la IZA
		
		#================ NOTEBOOK =============>
		
		self.nb = Notebook(self.wrapper)
		
		#-----------------------> TAB 1
		
		self.tab1 = Frame (self.nb)
		self.tab1.pack()
		
		self.f0 = Frame(self.tab1)#-------------------------------------
		self.f0.pack(pady=5,fill=X)

		self.R1 = Radiobutton(self.f0, text="Arrendatario", variable=aplica, value='Arrendatario')
		self.R1.pack(padx=20,side=LEFT)
		self.R2 = Radiobutton (self.f0, text="Propietario", variable=aplica, value='Propietario')
		self.R2.pack(padx=20,side=LEFT)
		self.R3 = Radiobutton (self.f0, text="Tercero", variable=aplica, value='Tercero')
		self.R3.pack(padx=20,side=LEFT)
		
		self.f1 = Frame(self.tab1)#-------------------------------------
		self.f1.pack(pady=5,fill=X)
		
		self.cc = Label(self.f1, text='CC/Nit: ')
		self.cc.pack(side=LEFT)
		self.ccE = Entry(self.f1)
		self.ccE.pack(side=LEFT)
		
		self.b1 = Button(self.f1, text='Buscar', image=lupa)
		self.b1.image=lupa
		self.b1.pack(side=LEFT)

		self.f2 = Frame(self.tab1)
		self.f2.pack(pady=5,fill=X)#------------------------------------
		
		self.nombre = Label(self.f2, text='Nombre:')
		self.nombre.pack(side=LEFT)
		self.nombrE = Entry(self.f2, width=5, state=DISABLED)
		self.nombrE.pack(side=LEFT, fill=X, expand=1)
		
		self.f3 = Frame(self.tab1)
		self.f3.pack(pady=5,fill=X)#------------------------------------
		
		self.inmueble = Label(self.f3, text='Inmueble:')
		self.inmueble.pack(side=LEFT)
		
		self.inmuebleCbx = Combobox(self.f3, values=NONE, width=10)
		self.inmuebleCbx.set('')
		self.inmuebleCbx.pack(side=LEFT, fill=X, expand=1)
		
		self.b2 = Button(self.f3, text='Agregar', image=lupa)
		self.b2.image=lupa
		self.b2.pack(side=LEFT)
		
		self.f4 = Frame(self.tab1)
		self.f4.pack(pady=5,fill=X)#------------------------------------
		
		self.fpago = Label(self.f4, text='Forma de Pago:')
		self.fpago.pack(side=LEFT)
		
		self.fpagoCbx = Combobox(self.f4, values=NONE, width=10)
		self.fpagoCbx.set('')
		self.fpagoCbx.pack(side=LEFT)
		
		self.b3 = Button(self.f4, text='Crear novedad', state=DISABLED)
		self.b3.pack(side=LEFT)

		#========================== TREEVIEW ===========================
		
		self.f5 = Frame(self.tab1)
		self.f5.pack(pady=5,fill=X)#------------------------------------
		
		self.tree = Treeview(self.f5, height=4, show="headings", columns=('col1','col2','col3'))
		self.tree.pack(side=LEFT, fill=X, expand=1)
		self.tree.column('col1', width=20, anchor='center')
		self.tree.column('col2', width=200, anchor='center')
		self.tree.column('col3', width=10, anchor='center')
		
		self.tree.heading('col1', text='CC')
		self.tree.heading('col2', text='Descripción')
		self.tree.heading('col3', text='Valor')
		
		self.scroll = Scrollbar(self.f3,orient=VERTICAL,command=self.tree.yview)
		self.tree.configure(yscrollcommand=self.scroll.set)

		self.f6 = Frame(self.tab1)
		self.f6.pack(pady=5,fill=X)#--------------------

		self.notesL = Label(self.f6, text='Observaciones:')
		self.notesL.pack(side=LEFT)

		self.f7 = Frame(self.tab1)
		self.f7.pack(pady=5,fill=X)#-------------------

		self.notesT = Text(self.f7, height=5)
		self.notesT.pack(fill=X, side=LEFT, expand=1)
		
		#-----------------------> TAB 2
		
		self.tab2 = Frame (self.nb)
		self.tab2.pack()
		
		#-----------------------> TAB 3
		
		self.tab3 = Frame (self.nb)
		self.tab3.pack()
	
		#---------------------------------------------------------------
		
		self.nb.add (self.tab1, text="Datos Generales")
		self.nb.add(self.tab2, text="Referencia de Pago", state=DISABLED)
		self.nb.add(self.tab3, text="Referencias Bancarias", state=DISABLED)
		
		self.nb.pack()
		
		#---------------------------------------------------------------
		
		self.fBtn = Frame(self.wrapper)
		self.fBtn.pack()#-------------------------------
	
		self.queryB = Button(self.fBtn, text='Consultar')
		self.queryB.pack(side=RIGHT)
		self.deleteB = Button(self.fBtn, text='Borrar')
		self.deleteB.pack(side=RIGHT)
		self.updateB = Button(self.fBtn, text='Actualizar')
		self.updateB.pack(side=RIGHT)
		self.addB = Button(self.fBtn, text='Agregar')
		self.addB.pack(side=RIGHT)
		
		#========================= ASIDE ===========================
		"""
Example #25
0
    def __init__(self, parent, controller):
        Frame.__init__(self, parent)

        global docID, nombre, refbanco, tree, busqueda, info, delete
        global e3

        lupa = PhotoImage(file='img/lupa.png')

        docID = StringVar()
        nombre = StringVar()
        refbanco = StringVar()
        busqueda = StringVar()
        info = IntVar()

        #WIDGETS

        #=========================== HEADER ============================

        l0 = Label(self, text="BENEFICIARIOS", font="bold")
        l0.pack(pady=20, side=TOP)

        #=========================== WRAPPER ===========================

        wrapper = Frame(self)
        wrapper.pack(side=TOP, fill=Y)
        #wrapper.pack(side=LEFT, fill=Y) #UBICA EL FORM A LA IZQ

        f1 = Frame(wrapper)
        f1.pack(pady=5, fill=X)  #-----------------------------------

        l1 = Label(f1, text="CC/Nit: ")
        l1.pack(side=LEFT)
        e1 = Entry(f1, textvariable=docID, width=20)
        e1.pack(side=LEFT)
        e1.bind("<KeyRelease>", caps)
        e1.focus_set()

        f2 = Frame(wrapper)
        f2.pack(pady=5, fill=X)  #-----------------------------------

        l2 = Label(f2, text="Nombre: ")
        l2.pack(side=LEFT)
        e2 = Entry(f2, textvariable=nombre, width=60)
        e2.pack(side=LEFT, fill=X, expand=1)
        e2.bind("<KeyRelease>", caps)

        f3 = Frame(wrapper)
        f3.pack(pady=5, fill=X)  #-----------------------------------

        l3 = Label(f3, text="Referencia Bancaria: ")
        l3.pack(side=LEFT)
        e3 = Entry(f3, textvariable=refbanco, width=60)
        e3.pack(side=LEFT, fill=X, expand=1)
        e3.bind("<KeyRelease>", caps)

        f4 = Frame(wrapper)
        f4.pack(pady=5, fill=X)  #-----------------------------------

        b1 = Button(f4,
                    text="Cargar",
                    bg='navy',
                    foreground='white',
                    activebackground='red3',
                    activeforeground='white',
                    command=cargar)
        b1.pack(side=RIGHT)

        b2 = Button(f4,
                    text="Agregar",
                    bg='navy',
                    foreground='white',
                    activebackground='red3',
                    activeforeground='white',
                    command=agregar)
        b2.pack(side=RIGHT)

        #========================== TREEVIEW ===========================

        f5 = Frame(wrapper)
        f5.pack(pady=5, fill=X)  #-----------------------------------

        tree = Treeview(f5, show="headings", columns=('col1', 'col2'))
        tree.pack(side=LEFT, fill=X, expand=1)
        tree.column('col1', width=0, anchor='center')
        tree.column('col2', width=150, anchor='w')

        tree.heading('col1', text='CC/Nit')
        tree.heading('col2', text='Nombre Completo')

        scroll = Scrollbar(f5, orient=VERTICAL, command=tree.yview)
        tree.configure(yscrollcommand=scroll.set)

        f6 = Frame(wrapper)
        f6.pack(pady=5, fill=X)  #-----------------------------------

        delete = Button(f6,
                        text="Eliminar",
                        bg='navy',
                        foreground='white',
                        activebackground='red3',
                        activeforeground='white',
                        command=borrar)
        delete.pack(side=RIGHT)

        e4 = Entry(f6, textvariable=busqueda)
        e4.pack(side=LEFT)
        e4.bind("<KeyRelease>", caps)

        b4 = Button(f6, text='BUSCAR', image=lupa, command=buscar)
        b4.image = lupa
        b4.pack(side=LEFT)

        R1 = Radiobutton(f6, text="CC/nit", variable=info, value=1)
        R1.pack(side=LEFT)
        R2 = Radiobutton(f6, text="Nombre", variable=info, value=2)
        R2.pack(side=LEFT)
        info.set(1)
Example #26
0
  def _add_frames(self):
    # Adding Answer Backup Frame
    f1 = Frame(self)
    f1.grid(column=0, row=0, sticky="NWES")
    for i in range(4):
      f1.grid_rowconfigure(i, weight=0, pad=5)
    f1.grid_rowconfigure(4, weight=1, pad=5)
    for i in range(4):
      f1.grid_columnconfigure(i, weight=1, pad=5)

    Label(f1, anchor='e', text='Answers Count : ').grid(column=0, row=0, sticky='EWNS')
    self.answer_count = StringVar(value=len(self.crawler.answer_list))
    Label(f1, anchor='w', textvariable=self.answer_count).grid(column=1, row=0, sticky='EWNS')
    Label(f1, anchor='e', text='User Name : ').grid(column=2, row=0, sticky='EWNS')
    self.user = StringVar(value='Unknown')
    Label(f1, anchor='w', textvariable=self.user).grid(column=3, row=0, sticky='EWNS')

    tf_col = '#e6e6e6'
    tf = Tkinter.Frame(f1, relief=GROOVE, borderwidth='2p')
    tf.grid(row=1, columnspan=2, column=0, sticky='EWNS')
    Label(tf, text='Quora User Options', bg=tf_col, anchor='c').grid(column=0, row=0, columnspan=2, sticky='EWNS')
    Button(tf, text='Login', command=lambda : self.thread('login'),
      highlightbackground=tf_col).grid(column=0, row=1, sticky='EWNS')
    Button(tf, text='Logout', command=lambda : self.thread('logout'),
      highlightbackground=tf_col).grid(column=1, row=1, sticky='EWNS')
    tf.grid_rowconfigure(0, weight=1, pad=5)
    tf.grid_rowconfigure(1, weight=1, pad=5)
    tf.grid_columnconfigure(0, weight=1, pad=5)
    tf.grid_columnconfigure(1, weight=1, pad=5)

    tf = Frame(f1, relief=GROOVE, borderwidth='2p')
    tf.grid(row=1, columnspan=2, column=2, sticky='EWNS')
    Label(tf, text='Answer List Option', bg=tf_col, anchor='c').grid(column=0, columnspan=2, row=0, sticky='EWNS')
    Button(tf, text='Reset', command=lambda : self.thread('reset'),
      highlightbackground=tf_col).grid(column=0, row=1, sticky='EWNS')
    Button(tf, text='Update', command=lambda : self.thread('update'),
      highlightbackground=tf_col).grid(column=1, row=1, sticky='EWNS')
    tf.grid_rowconfigure(0, weight=1, pad=5)
    tf.grid_rowconfigure(1, weight=1, pad=5)
    tf.grid_columnconfigure(0, weight=1, pad=5)
    tf.grid_columnconfigure(1, weight=1, pad=5)

    # Add Progress Bar
    self.backup_progress = Progressbar(f1, orient="horizontal", length=100, mode="determinate")
    self.backup_progress.grid(row=2, columnspan=4, column=0, sticky='EWNS')

    # Adding Status Pane
    self.backup_status = StringVar(value='Ready')
    Label(f1, textvariable=self.backup_status, anchor='w').grid(row=3, column=0, columnspan=4, sticky='EWNS')

    # Adding The list of all answers
    tree = Treeview(f1, columns=('sno', 'date', 'question'))
    tree.heading('sno', text='S. No')
    tree.heading('date', text='Date')
    tree.heading('question', text='Question')

    tree.column("#0", width=0, stretch=False)
    tree.column('sno', width=40, stretch=False, anchor='center')
    tree.column('date', width=120, stretch=False, anchor='center')
    tree.column('question', stretch=True, anchor='w')
    tree.grid(column=0, columnspan=4, row=4, sticky='EWNS')
    tree.bind("<Double-1>", self.tree_item_click)
    self.answer_tree = tree
    self.populate_tree()

    f2 = Frame(self)
    self.add(f1, text='Answer Backup', underline=7)
    self.add(f2, text='Analytics')
Example #27
0
    def __init__(self,
                 master,
                 xml=None,
                 heading_text=None,
                 heading_anchor=None,
                 padding=None,
                 cursor=None,
                 takefocus=None,
                 style=None):
        Frame.__init__(self, master, class_="XML_Viwer")

        self._vsb = Scrollbar(self, orient=VERTICAL)
        self._hsb = Scrollbar(self, orient=HORIZONTAL)

        kwargs = {}
        kwargs["yscrollcommand"] = lambda f, l: autoscroll(self._vsb, f, l)
        kwargs["xscrollcommand"] = lambda f, l: autoscroll(self._hsb, f, l)

        if style is not None:
            kwargs["style"] = style

        if padding is not None:
            kwargs["padding"] = padding

        if cursor is not None:
            kwargs["cursor"] = cursor

        if takefocus is not None:
            kwargs["takefocus"] = takefocus

        self._treeview = Treeview(self, **kwargs)

        if heading_text is not None:
            if heading_anchor is not None:
                self._treeview.heading("#0",
                                       text=heading_text,
                                       anchor=heading_anchor)
            else:
                self._treeview.heading("#0", text=heading_text)

        self._treeview.bind("<<TreeviewOpen>>", self._on_open)
        self._treeview.bind("<<TreeviewClose>>", self._on_close)

        # Without this line, horizontal scrolling doesn't work properly.
        self._treeview.column("#0", stretch=False)

        self._vsb['command'] = self._treeview.yview
        self._hsb['command'] = self._treeview.xview

        self._treeview.grid(column=0, row=0, sticky=N + S + W + E)
        self._vsb.grid(column=1, row=0, sticky=N + S)
        self._hsb.grid(column=0, row=1, sticky=E + W)

        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(0, weight=1)

        self._element_tree = None
        self._item_ID_to_element = {}

        if xml is not None:
            self.parse_xml(xml)
 def initUI(self):
     self.pack(fill=BOTH, expand=True)
     Grid.columnconfigure(self, 0, weight=1)
     Label(self,
           text='Classroom Finder',
           font=('Arial', 20, 'bold'),
           bg='cyan',
           fg='white').grid(sticky=W + E,
                            columnspan=3)  # classroom finder header
     Label(self, text='Url:').grid(column=0, row=1, pady=10, padx=(50, 0))
     self.urlentry = Entry(self, width=100)  # url entry to get url
     self.urlentry.grid(column=1, row=1, padx=(0, 80))
     self.color_label = Label(
         self, bg='red', width=10)  # color label to make red,yellow,green
     self.color_label.grid(column=0,
                           row=2,
                           sticky=E,
                           columnspan=2,
                           padx=(120),
                           pady=(0, 40))
     self.fetchbtn = Button(self,
                            text='Fetch',
                            height=2,
                            width=10,
                            command=self.dynamic)  # fetch button
     self.fetchbtn.grid(column=1,
                        row=2,
                        sticky=E,
                        padx=(0, 30),
                        pady=(10, 50))
     Label(self,
           text='Filters',
           bg='cyan',
           fg='white',
           font=('Arial', 20, 'bold'),
           width=10).grid(column=0, row=3, padx=10)
     self.frame = Frame(self, borderwidth=3,
                        relief=GROOVE)  # frame to keep filters part
     self.frame.grid(column=0,
                     row=4,
                     columnspan=3,
                     sticky=W + E + S + N,
                     pady=10,
                     padx=10)
     Label(self.frame, text='Where am I?').grid(sticky=W)
     self.where_combo = Combobox(self.frame,
                                 state='readonly')  # where am i combobox
     self.where_combo.grid(column=1, row=0, pady=20)
     self.where_combo.bind(
         '<<ComboboxSelected>>',
         self.change_build)  # to update room button wrt where combo
     Label(self.frame, text='Room').grid(sticky=W)
     self.room_combo = Combobox(self.frame,
                                state='readonly')  # rooms combobox
     self.room_combo.grid(column=1, row=1)
     Label(self.frame, text='Start').grid(sticky=W)
     self.start_combo = Combobox(self.frame, state='readonly',
                                 width=7)  # start time combobox
     self.start_combo.grid(column=1, row=2, pady=20, sticky=W)
     Label(self.frame, text='End').grid(column=2, row=2, sticky=W)
     self.end_combo = Combobox(self.frame, state='readonly',
                               width=7)  # end time combobox
     self.end_combo.grid(column=3, row=2, sticky=W)
     Label(self.frame, text='Day').grid(sticky=W)
     self.day_combo = Combobox(self.frame,
                               state='readonly')  # days combobox
     self.day_combo.grid(column=1, row=3, pady=(0, 20))
     self.search = Button(self.frame,
                          text='Search',
                          width=10,
                          height=2,
                          command=self.add_treeview)  # seach button
     self.search.grid(padx=(0, 50), columnspan=2)
     Label(self.frame, text='Classroom results', bg='gray',
           fg='white').grid(sticky=N + E + W,
                            column=4,
                            row=0,
                            rowspan=5,
                            padx=(55, 0))
     self.scroll = Scrollbar(
         self.frame, orient='vertical')  # vertical scrollbar for treeview
     self.tree = Treeview(self.frame,
                          columns=('', '', '', '', ''),
                          selectmode='extended',
                          show='headings')
     listofcolumn = [
         'Room', 'Traffic', 'Availability %', 'Closeness', 'Overall Score'
     ]  # colums to treeview
     counter = 1
     for column in listofcolumn:
         self.tree.column('#' + str(counter), width=90)  # to resize columns
         self.tree.heading('#' + str(counter), text=column,
                           anchor=CENTER)  # to set headings
         counter += 1
     self.scroll.config(command=self.tree.yview)
     self.tree.config(yscrollcommand=self.scroll.set)
     self.tree.grid(column=4, row=0, rowspan=5, padx=(40, 0), pady=(30, 0))
     self.scroll.grid(column=5,
                      row=0,
                      rowspan=5,
                      sticky=N + S,
                      pady=(30, 0))
     self.urlentry.insert(
         0,
         'https://www.sehir.edu.tr/en/announcements/2018-2019-bahar-donemi-ders-programi'
     )
Example #29
0
        def __init__(self, parent, controller):
                Frame.__init__(self, parent)
		
		global info, tree
		
		#VARIABLES
		info = IntVar()
		
		#WIDGETS
		
		#========================= HEADER ===========================
		
		self.header = Label(self, text="ADMINISTRADOR DE DOCUMENTOS", font="bold")
		self.header.pack(pady=20, side=TOP)
		
		#========================= WRAPPER 1 ===========================
		
		self.wrapper = Frame (self)
		self.wrapper.pack(side=LEFT, fill=Y)

		#======================== DOCUMENTOS DE ========================
		
		self.f0 = Frame(self.wrapper)
		self.f0.pack(pady=5,fill=X)#------------------------------------

		self.lf1 = LabelFrame(self.f0, text="Documentos de")#---------->

		self.f1 = Frame(self.lf1)
		self.f1.pack(pady=5, side=LEFT)
		
		self.pR1 = Radiobutton(self.f1, text="Propietario", variable=info, value=1, command=select)
		self.pR1.grid(row=0, column=0, sticky=W)
		self.aR2 = Radiobutton (self.f1, text="Arrendatario", variable=info, value=2, command=select)
		self.aR2.grid(row=1, column=0, sticky=W)
		self.tR3 = Radiobutton (self.f1, text="Tercero", variable=info, value=3, command=select)
		self.tR3.grid(row=2, column=0, sticky=W)
		
		self.lf1.pack(side=LEFT)#<--------------------------------------
		
		#====================== FECHAS DE BÚSQUEDA =====================
		
		self.lf2 = LabelFrame(self.f0, text="Fechas de búsqueda")#------>

		self.f2 = Frame(self.lf2)
		self.f2.pack(pady=5)#---------------------------
		
		self.deL = Label(self.f2, text='De:')
		self.deL.pack(side=LEFT)
		
		self.deCbx = Combobox(self.f2, width=32)
		self.deCbx.set('')
		self.deCbx.pack(side=LEFT)
		
		self.f3 = Frame(self.lf2)
		self.f3.pack(pady=5)#---------------------------
		
		self.hastaL = Label(self.f3, text='Hasta:')
		self.hastaL.pack(side=LEFT)
		
		self.hastaCbx = Combobox(self.f3, width=30)
		self.hastaCbx.set('')
		self.hastaCbx.pack(side=LEFT)

		self.lf2.pack(side=LEFT, fill=X)#<---------------------------

		#========================= WRAPPER 2 ===========================
		
		self.wrapper2 = Frame (self.wrapper)
		self.wrapper2.pack(pady=5,fill=X)
		
		#========================= BENEFICIARIO ========================
		
		self.box1 = Frame(self.wrapper2)
		self.box1.pack(side=LEFT)
		
		#---------------------------------------------------------------
		
		self.f4 = Frame(self.box1)
		self.f4.pack()
		
		self.l1 = Label(self.f4, text="Beneficiario")
		self.l1.pack()

		tree = Treeview(self.f4, height=7, show="headings", columns=('col1','col2'))
		tree.pack(side=LEFT, fill=X, expand=1)
		tree.column('col1', width=100, anchor='center')
		tree.column('col2', width=180, anchor='center')
		
		tree.heading('col1', text='CC')
		tree.heading('col2', text='Nombres')
		
		self.scroll = Scrollbar(self.f4,orient=VERTICAL,command=tree.yview)
		tree.configure(yscrollcommand=self.scroll.set)

		self.f5 = Frame(self.box1)#----------------------------------
		self.f5.pack()
		
		self.lf3 = LabelFrame(self.f5, text="Factura Propietario")#---->
		
		self.e1 = Entry(self.lf3, width=12).pack(side=LEFT)
		self.anularCk = Checkbutton(self.lf3, text="Anular").pack(side=LEFT)
		self.viewB = Button(self.lf3, text='Visualizar').pack(side=LEFT)
		
		self.lf3.pack(side=LEFT)#<--------------------------------------
		
		#========================== FACTURAS ==========================
		
		self.box2 = Frame(self.wrapper2)
		self.box2.pack(side=LEFT)
		
		#---------------------------------------------------------------
		
		self.f6 = Frame(self.box2)
		self.f6.pack()
		
		self.l2 = Label(self.f6, text="Facturas")
		self.l2.pack()

		self.tree = Treeview(self.f6, height=7, show="headings", columns=('col1','col2'))
		self.tree.pack(side=LEFT, fill=X, expand=1)
		self.tree.column('col1', width=100, anchor='center')
		self.tree.column('col2', width=100, anchor='center')
		
		self.tree.heading('col1', text='Número')
		self.tree.heading('col2', text='Valor')
		
		self.scroll = Scrollbar(self.f6,orient=VERTICAL,command=self.tree.yview)
		self.tree.configure(yscrollcommand=self.scroll.set)
		
		self.f7 = Frame(self.box2)#----------------------------------
		self.f7.pack()
		
		self.lf4 = LabelFrame(self.f7, text="Factura Arrendatario")#---->
		
		self.e1 = Entry(self.lf4, width=12).pack(side=LEFT)
		self.anularCk = Checkbutton(self.lf4, text="Anular").pack(side=LEFT)
		self.viewB = Button(self.lf4, text='Ver', width=5).pack(side=LEFT)
		
		self.lf4.pack(side=LEFT)#<--------------------------------------
		
		#========================== RECIBOS ==========================
		
		self.box3 = Frame(self.wrapper2)
		self.box3.pack(side=LEFT)
		
		#---------------------------------------------------------------
		
		self.f8 = Frame(self.box3)
		self.f8.pack()
		
		self.l3 = Label(self.f8, text="Recibos de caja")
		self.l3.pack()

		self.tree = Treeview(self.f8, height=7, show="headings", columns=('col1','col2'))
		self.tree.pack(side=LEFT, fill=X, expand=1)
		self.tree.column('col1', width=100, anchor='center')
		self.tree.column('col2', width=100, anchor='center')
		
		self.tree.heading('col1', text='Número')
		self.tree.heading('col2', text='Valor')
		
		self.scroll = Scrollbar(self.f8,orient=VERTICAL,command=self.tree.yview)
		self.tree.configure(yscrollcommand=self.scroll.set)
		
		self.f9 = Frame(self.box3)#----------------------------------
		self.f9.pack()
		
		self.lf5 = LabelFrame(self.f9, text="Recibos de caja")#---->
		
		self.e1 = Entry(self.lf5, width=12).pack(side=LEFT)
		self.anularCk = Checkbutton(self.lf5, text="Anular").pack(side=LEFT)
		self.viewB = Button(self.lf5, text='Ver', width=5).pack(side=LEFT)
		
		self.lf5.pack(side=LEFT)#<--------------------------------------
		
		#===================== COMPROBANTE DE PAGO =====================
		
		self.box4 = Frame(self.wrapper2)
		self.box4.pack(side=LEFT)
		
		#---------------------------------------------------------------
		
		self.f10 = Frame(self.box4)
		self.f10.pack()
		
		self.l4 = Label(self.f10, text="Comprobantes de pago")
		self.l4.pack()

		self.tree = Treeview(self.f10, height=7, show="headings", columns=('col1','col2'))
		self.tree.pack(side=LEFT, fill=X, expand=1)
		self.tree.column('col1', width=100, anchor='center')
		self.tree.column('col2', width=100, anchor='center')
		
		self.tree.heading('col1', text='Número')
		self.tree.heading('col2', text='Valor')
		
		self.scroll = Scrollbar(self.f10,orient=VERTICAL,command=self.tree.yview)
		self.tree.configure(yscrollcommand=self.scroll.set)
		
		self.f11 = Frame(self.box4)#----------------------------------
		self.f11.pack()
		
		self.lf6 = LabelFrame(self.f11, text="Pagos")#---->
		
		self.e1 = Entry(self.lf6, width=12).pack(side=LEFT)
		self.anularCk = Checkbutton(self.lf6, text="Anular").pack(side=LEFT)
		self.viewB = Button(self.lf6, text='Ver', width=5).pack(side=LEFT)
		
		self.lf6.pack(side=LEFT)#<--------------------------------------
    def __init__(self):
        Frame.__init__(self)
        self.style = Style()
        self.style.theme_use("default")
        self.master.title("Log viewer")
        self.pack(fill=BOTH, expand=True)

        self.used = []  # List of currently plotted series ([str])
        self.series = {}  # List of all series ({str -> [number]})
        self.names = []  # List of all nodes in tree view ([str])
        self.queues = [] # List of all queues ([str])
        self.logs = {} # List of all text logs ({str -> [str]})

        self.rowconfigure(1, weight=1)
        self.columnconfigure(6, weight=3)
        self.columnconfigure(11, weight=1)

        # Series selection takes row 1-2, col 0-2
        self.series_ui = Treeview(self)
        self.series_ui.grid(row=1, column=0, columnspan=2, rowspan=2, sticky=N+S)
        self.series_ui.configure(show="tree")
        self.series_ui.bind("<Double-Button-1>", self.onselect)
        self.series_ui.tag_configure("graphall", foreground="#070")
        self.series_ui.tag_configure("graphnone", foreground="#000")
        self.series_ui.tag_configure("graphsome", foreground="#007")
        series_ui_scroll = Scrollbar(self, command=self.series_ui.yview, orient=VERTICAL)
        series_ui_scroll.grid(row=1, column=2, rowspan=2, sticky=N+S)
        self.series_ui["yscrollcommand"] = series_ui_scroll.set

        # The plot takes row 1-2, col 3-6
        move_mode = StringVar()
        move_mode.set("pan")
        show_path = IntVar()
        show_path.set(0)
        event_bars = IntVar()
        event_bars.set(1)
        show_debug = IntVar()
        show_debug.set(1)
        show_error = IntVar()
        show_error.set(1)
        show_warning = IntVar()
        show_warning.set(1)
        show_info = IntVar()
        show_info.set(1)
        self.plot = HackPlot(self, move_mode, show_path, event_bars,
                [(show_debug, "[DEBUG]"), (show_error, "[ERROR]"), (show_warning, "[WARNING]"), (show_info, "[INFO]")])
        self.plot.canvas.grid(row=1, column=3, columnspan=4, rowspan=2, sticky=N+S+E+W)
        # Text logs take row 1-2, col 7-12
        self.plot.listbox.grid(row=1, column=7, columnspan=5, sticky=N+S+E+W)
        listbox_yscroll = Scrollbar(self, command=self.plot.listbox.yview, orient=VERTICAL)
        listbox_yscroll.grid(row=1, column=12, sticky=N+S)
        self.plot.listbox["yscrollcommand"] = listbox_yscroll.set
        listbox_xscroll = Scrollbar(self, command=self.plot.listbox.xview, orient=HORIZONTAL)
        listbox_xscroll.grid(row=2, column=7, columnspan=5, sticky=E+W)
        self.plot.listbox["xscrollcommand"] = listbox_xscroll.set


        # Controls take row 0, col 0-12
        Button(self, text="Load Directory", command=self.loaddir).grid(row=0, column=0)
        Button(self, text="Load File", command=self.loadfile).grid(row=0, column=1)
        Button(self, text="Fit X", command=self.plot.fit_x).grid(row=0, column=3, sticky=W)
        Button(self, text="Fit Y", command=self.plot.fit_y).grid(row=0, column=4, sticky=W)
        Button(self, text="Fit Auto", command=self.plot.fit_auto).grid(row=0, column=5, sticky=W)
        Button(self, text="Fit Tele", command=self.plot.fit_tele).grid(row=0, column=6, sticky=W)
        # Plot controls in a subframe to manage padding so it doesn't look awful
        move_mode_control = Frame(self, padx=10)
        Radiobutton(move_mode_control, text="Pan", value="pan", variable=move_mode).grid(row=0, column=0, sticky=W)
        Radiobutton(move_mode_control, text="Zoom In", value="zoomin", variable=move_mode).grid(row=0, column=1, sticky=W)
        Radiobutton(move_mode_control, text="Zoom Out", value="zoomout", variable=move_mode).grid(row=0, column=2, sticky=W)
        move_mode_control.grid(row=0, column=7, sticky=W)
        Checkbutton(self, text="Event Bars", variable=event_bars, command=self.plot.show_textlogs).grid(row=0, column=8, sticky=W)
        Checkbutton(self, text="Debug", variable=show_debug, command=self.plot.show_textlogs).grid(row=0, column=9, sticky=W)
        Checkbutton(self, text="Error", variable=show_error, command=self.plot.show_textlogs).grid(row=0, column=10, sticky=W)
        Checkbutton(self, text="Warning", variable=show_warning, command=self.plot.show_textlogs).grid(row=0, column=11, sticky=W)
        Checkbutton(self, text="Info", variable=show_info, command=self.plot.show_textlogs).grid(row=0, column=12, sticky=W)
        Checkbutton(self, text="Directories", variable=show_path, command=self.plot.show_textlogs).grid(row=0, column=13, sticky=E)