示例#1
0
 def CreateWidgets(self,title) :
     self.tree = ttk.Treeview(self)
     ysb = ttk.Scrollbar(self, orient='vertical', command=self.tree.yview)
     xsb = ttk.Scrollbar(self, orient='horizontal', command=self.tree.xview)
     self.tree.configure(yscroll=ysb.set, xscroll=xsb.set)
     self.SetHeadTitle(title)
     self.tree.grid(row=0, column=0,sticky='n')
     ysb.grid(row=0, column=1, sticky='ns')
     xsb.grid(row=1, column=0, sticky='ew')
    def __init__(self, parent, *args, **kwargs):
        ttk.Frame.__init__(self, parent, *args, **kwargs)

        # create a vertical scrollbar
        vscrollbar = ttk.Scrollbar(self, orient=tk.VERTICAL)
        vscrollbar.pack(fill=tk.Y, side=tk.RIGHT, expand=False)

        # create a horizontal scrollbar
        hscrollbar = ttk.Scrollbar(self, orient=tk.HORIZONTAL)
        hscrollbar.pack(fill=tk.X, side=tk.BOTTOM, expand=False)

        # add a size grip
        sizegrip = ttk.Sizegrip(self)
        sizegrip.pack(in_=vscrollbar, side=tk.BOTTOM)

        #Create a canvas object and associate the scrollbars with it
        self.canvas = tk.Canvas(self,
                                bd=0,
                                highlightthickness=0,
                                yscrollcommand=vscrollbar.set,
                                xscrollcommand=hscrollbar.set)
        self.canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

        #Associate scrollbars with canvas view
        vscrollbar.config(command=self.canvas.yview)
        hscrollbar.config(command=self.canvas.xview)

        # set the view to 0,0 at initialization
        self.canvas.xview_moveto(0)
        self.canvas.yview_moveto(0)

        # bind mousepad scroll events to window scrolling
        self.canvas.bind('<MouseWheel>', self.scroll_vertical)
        self.canvas.bind('<Shift-MouseWheel>', self.scroll_horizontal)

        # create an interior frame to be created inside the canvas
        self.interior = ttk.Frame(self.canvas)
        interior = self.interior
        interior_id = self.canvas.create_window(0,
                                                0,
                                                window=interior,
                                                anchor=tk.NW)

        # track changes to the canvas and frame width and sync them,
        # also updating the scrollbar

        def _configure_interior(event):
            # update the scrollbars to match the size of the inner frame
            size = (max(925, interior.winfo_reqwidth()),
                    max(760, interior.winfo_reqheight()))
            self.canvas.config(scrollregion='0 0 %s %s' % size)
            if interior.winfo_reqwidth() != self.canvas.winfo_width():
                # update the canvas's width to fit the inner frame
                self.canvas.config(width=interior.winfo_reqwidth())

        interior.bind('<Configure>', _configure_interior)
示例#3
0
 def CreateWidgets(self, heads):
     self.tree = ttk.Treeview(self, columns=heads)
     ysb = ttk.Scrollbar(self, orient='vertical', command=self.tree.yview)
     xsb = ttk.Scrollbar(self, orient='horizontal', command=self.tree.xview)
     self.tree.configure(yscroll=ysb.set, xscroll=xsb.set)
     self.tree.grid(row=0, column=0, sticky='n')
     ysb.grid(row=0, column=1, sticky='ns')
     xsb.grid(row=1, column=0, sticky='ew')
     for head in heads:
         self.SetColumnText(head, head)
示例#4
0
    def create_container_widgets(self):
        self.canvas = tk.Canvas(self)

        self.container_TreeView = ttk.Treeview(self.canvas)
        self.container_TreeView["columns"] = ["Container", "Item", "Status"]
        self.container_TreeView["show"] = "headings"

        #  Create headers for treeview
        self.container_TreeView.heading("Container", text="Container")
        self.container_TreeView.heading("Item", text="Item")
        self.container_TreeView.heading(
            "Status", text="Status")  # Did the sorting fail or succeed

        #  Define highlighting for successful sorts
        self.container_TreeView.tag_configure('successful_sort',
                                              background='green',
                                              foreground='white')

        #  Define some highliting for identifying failed & aborted sorts
        self.container_TreeView.tag_configure(
            'failed_sort', background='red'
        )  # Anything with this tag will be highlited in red
        self.container_TreeView.tag_configure('in_progress_sort',
                                              background='orange')
        # self.container_TreeView.tag_configure('aborted_sort', background='orange')

        #  Create horizontal scrollbar
        treeXscroll = ttk.Scrollbar(self.canvas, orient="horizontal")
        treeXscroll.configure(command=self.container_TreeView.xview)
        self.container_TreeView.configure(xscrollcommand=treeXscroll.set)

        #  Create vertical scrollbar
        treeYscroll = ttk.Scrollbar(self.canvas, orient="vertical")
        treeYscroll.configure(command=self.container_TreeView.yview)
        self.container_TreeView.configure(yscrollcommand=treeYscroll.set)

        #  Pack and size the scroll bars to fit the respective axis
        treeXscroll.pack(side='bottom', fill='x')
        treeYscroll.pack(side='right', fill='y')

        tree_title_label = tk.Label(self.canvas,
                                    text="Sorting Progress",
                                    font=("Helvetica", 12, 'bold'))

        tree_title_label.pack(side='top')
        self.container_TreeView.pack()
        self.canvas.pack()

        #  Add the first item in the sorting list, mark it as in progress
        self.container_TreeView.insert(
            "",
            tk.END,
            values=("...", str(self.m_selected_objects[0]).capitalize(),
                    "IN PROGRESS"),
            tags=('in_progress_sort', ))
示例#5
0
def add_scrollbar(widget, vsb=True, hsb=True):
    """ adding scrollbar to the framed widgets, eg: treeview, listbox 
    """
    master = widget.master  #master is a frame
    if vsb:  #vertical scrollbar
        vsb = ttk.Scrollbar(master, orient="vertical", command=widget.yview)
        widget.configure(yscrollcommand=vsb.set)
        vsb.grid(row=0, column=1, sticky='ns')
    if hsb:  #horizontal scrollbar
        hsb = ttk.Scrollbar(master, orient="horizontal", command=widget.xview)
        widget.configure(xscrollcommand=hsb.set)
        hsb.grid(row=1, column=0, sticky='ew')
    def init_ui(self):
        self.clear_window = Toplevel()
        self.clear_window.protocol("WM_DELETE_WINDOW", self.job_cancel)
        self.clear_window.iconbitmap('ico.ico')
        self.clear_window.title(u'数据清理')
        self.clear_window.resizable(width=False, height=False)

        label = Label(self.clear_window, text=u'已经删除任务列表')
        label.grid(row=0, column=0, columnspan=3, sticky='w')

        self.tree = ttk.Treeview(self.clear_window,
                                 column=('JOB', u'任务'),
                                 show="headings")
        self.tree.column('JOB', width=100, anchor='w')
        self.tree.column(u'任务', width=200, anchor='w')
        self.tree.configure(height=22)
        self.tree.heading('JOB', text='JOB')
        self.tree.heading(u'任务', text=u'任务')
        self.tree.bind("<Button-3>", self.open_restore_job_menu)
        ysb = ttk.Scrollbar(self.clear_window,
                            orient='vertical',
                            command=self.tree.yview)
        xsb = ttk.Scrollbar(self.clear_window,
                            orient='horizontal',
                            command=self.tree.xview)

        self.tree.grid(row=1, column=0, rowspan=9, sticky=N + S + W + E)
        ysb.grid(row=1, column=1, rowspan=11, sticky=N + S)
        xsb.grid(row=13, column=0, rowspan=11, sticky=W + E)

        self.context_menu = Menu(self.tree)
        self.context_menu.add_command(label=u'刷新列表', command=self.bind_tree)
        self.context_menu.add_command(label=u'恢复任务', command=self.restore_file)
        self.context_menu.add_command(
            label=u'彻底删除', command=lambda: self.delete_jobs('selected'))

        button_delete_all = Button(self.clear_window)
        button_delete_all.configure(text=u'全部删除',
                                    command=lambda: self.delete_jobs('all'))
        button_delete_all.grid(row=1, column=2, padx=100, sticky='w')

        button_delete = Button(self.clear_window)
        button_delete.configure(text=u'彻底删除',
                                command=lambda: self.delete_jobs('selected'))
        button_delete.grid(row=2, column=2, padx=100, sticky='w')

        button_cancel = Button(self.clear_window)
        button_cancel.configure(text=u'返回系统', command=self.job_cancel)
        button_cancel.grid(row=3, column=2, padx=100, sticky='w')
        # self.bind_deleted_jobs(root_node)
        self.bind_tree()
        self.parent.hide()
示例#7
0
    def config_special_options(self, name, opts):
        """Config the widgets with some special options or some self-defined 
        options, the options with capitalized name are self-defined.
        """
        widget = self.widgets[name]        
        if isinstance(widget, ttk.Treeview):
            columns = opts.pop('columns',None)
            heading = opts.pop('heading',None)
            col_width = opts.pop('col_width',None)
            icon_col = opts.pop('#0',None) #(text,width)
            VSB = opts.pop('VSB',None)
            HSB = opts.pop('HSB',None)            
            if VSB: #vertical scrollbar
                vsb = ttk.Scrollbar(widget.master,orient="vertical",
                                    command=widget.yview)
                widget.configure(yscrollcommand=vsb.set)
                vsb.grid(row=VSB[0],column=VSB[1],rowspan=VSB[2],
                                   columnspan=VSB[3], sticky='ns')                            
            if HSB: #horizontal scrollbar
                hsb = ttk.Scrollbar(widget.master,orient="horizontal",
                                    command=widget.xview)
                widget.configure(xscrollcommand=hsb.set)   
                hsb.grid(row=HSB[0],column=HSB[1],rowspan=HSB[2],
                                   columnspan=HSB[3], sticky='ew')  
            if icon_col: #The icon column
                widget.heading('#0',text=icon_col['text'])
                widget.column('#0',width=icon_col['width'])      
            if columns and heading and col_width:
                widget.config(columns=columns)
                for cid,text,width in zip(columns,heading,col_width):
                    widget.heading(cid,text=text) 
                    widget.column(cid,width=width)  

        elif isinstance(widget, tk.Menu):
            label = opts.get('title')
            submenus = opts.pop('SUBMENUS', None)
            if isinstance(widget.master,tk.Menu): #for meunu
                widget.master.add_cascade(label=label,menu=widget,underline=0)
            elif 'menu' in widget.master.keys(): #for root,menubutton, etc.
                widget.master.config(menu=widget)
            if submenus: #add submenu
                for kind, coption in submenus:
                    widget.add(kind, **coption)
                    
        elif isinstance(widget, ttk.Notebook): 
            for child,kw in opts.pop('TABS', []):
                widget.add(self.widgets[child], **kw) 
                   
        elif isinstance(self.widgets[name],ttk.Panedwindow):
            for child,kw in opts.pop('PANES', []):
                widget.add(self.widgets[child], **kw)
示例#8
0
    def _setup_widgets(self, select_mode):
        container = ttk.Frame(self.parent)
        container.pack(fill='both', expand=True)
        # create a treeview with dual scrollbars
        self.tree = ttk.Treeview(container, columns=self.header, show="headings", selectmode=select_mode)
        vsb = ttk.Scrollbar(container, orient="vertical", command=self.tree.yview)
        hsb = ttk.Scrollbar(container, orient="horizontal", command=self.tree.xview)

        self.tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)
        self.tree.grid(column=0, row=0, sticky='nsew', in_=container)
        vsb.grid(column=1, row=0, sticky='ns', in_=container)
        hsb.grid(column=0, row=1, sticky='ew', in_=container)
        container.grid_columnconfigure(0, weight=1)
        container.grid_rowconfigure(0, weight=1)
示例#9
0
    def _setup_widgets(self):
        s = """Click on header to sort by that column
Click 'Add' to add a subscriber
Click 'Remove' to remove subscriber(s)
Click 'Save' to save the configuration XML file
Click 'Generate' to generate data structures for the messaging framework
        """
        msg = ttk.Label(wraplength="4i",
                        justify="left",
                        anchor="n",
                        padding=(10, 2, 10, 6),
                        text=s)
        msg.grid(column=0, columnspan=3, row=0)
        # create a treeview with dual scrollbars
        self.tree = ttk.Treeview(columns=column_title, show="headings")
        vsb = ttk.Scrollbar(orient="vertical", command=self.tree.yview)
        hsb = ttk.Scrollbar(orient="horizontal", command=self.tree.xview)
        self.tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)
        self.tree.grid(column=0, columnspan=3, row=2, sticky='nsew')
        vsb.grid(column=3, row=2, sticky='ns')
        hsb.grid(column=0, columnspan=3, row=3, sticky='ew')
        self.tree.bind("<Double-1>", self.OnDoubleClick)

        # Add File and Help menus
        menu = tk.Menu(root)
        root.config(menu=menu)
        filemenu = tk.Menu(menu)
        menu.add_cascade(label="File", menu=filemenu)
        filemenu.add_command(label="Save", command=self.OnSaveClick)
        filemenu.add_command(label="Save As", command=self.OnSaveAsClick)
        filemenu.add_command(label="Open...", command=self.OnOpenClick)
        filemenu.add_separator()
        filemenu.add_command(label="Exit", command=on_closing)

        helpmenu = tk.Menu(menu)
        menu.add_cascade(label="Help", menu=helpmenu)
        helpmenu.add_command(label="About...", command=self.OnAboutClick)

        # Add Button to add subscriber
        self.addButton = ttk.Button(text=u"Add", command=self.OnAddClick)
        self.addButton.grid(column=0, row=1)

        # Add Button to remove subscriber
        self.addButton = ttk.Button(text=u"Remove", command=self.OnRemoveClick)
        self.addButton.grid(column=1, row=1)

        # Add Button to generate
        self.addButton = ttk.Button(text=u"Generate",
                                    command=self.OnGenerateClick)
        self.addButton.grid(column=2, row=1)
示例#10
0
    def __init__(self, root):

        ttk.Frame.__init__(self, f2)

        self.root = f2

        self.queryframe = ttk.Frame(self.root, relief=SUNKEN)
        self.queryframe.pack(fill=BOTH, expand=1)

        self.select = Listbox(self.queryframe, height=4)
        self.select.grid(column=1,  row=1, columnspan=2)
        global canvas

        canvas = Canvas(self.queryframe)
        self.canvas = canvas
        self.canvas.grid(column=0 , row=3 , columnspan=10 , rowspan=10 )

        self.vsb = ttk.Scrollbar(self.queryframe, orient=VERTICAL, command=self.canvas.yview)
        self.canvas.configure(yscrollcommand=self.vsb.set)
        self.vsb.pack(side=RIGHT, fill=Y, expand=1)

        self.hsb = ttk.Scrollbar(self.queryframe, orient=HORIZONTAL, command=self.canvas.xview)
        self.canvas.configure(xscrollcommand=self.hsb.set)
        self.hsb.pack(side=BOTTOM, fill=X, expand=1)

        global sel_query

        sel_query = ['Variant','Sample','Gene','Transcript']

        self.select.delete(0,END)

        for item in sel_query:
            self.select.insert(END, item)

        global in_val
        in_val = StringVar()

        self.in_val_entry = ttk.Entry(self.canvas, width=20, textvariable=in_val)
        self.in_val_entry.grid(column=3, row=2, rowspan=2, columnspan=2, sticky=(W, E))

        self.in_val_lab = ttk.Label(self.canvas, text="Value")
        self.in_val_lab.grid(column=3, row=1, rowspan=2, columnspan=3, sticky=W)

        self.select_but = ttk.Button(self.canvas, text="Search", command=select_query)
        self.select_but.grid(column=5, row=2, rowspan=2, columnspan=2)

        self.freq_but = ttk.Button(self.canvas, text="Search", command=frequency_query)
        self.freq_but.grid(column=7, row=2, rowspan=2, columnspan=2)

        for child in self.queryframe.winfo_children(): child.grid_configure(padx=5, pady=5)
示例#11
0
    def bottom_frame(self, master):
        """defines bottom frame"""
        # Bottom frame
        self.bottom_fr = ttk.Frame(master, padding=(10, 0))
        master.rowconfigure(1, weight=1)
        master.columnconfigure(0, weight=1)

        self.bottom_fr.grid(row=1, column=0, sticky="nsew")
        self.bottom_fr.rowconfigure(1, weight=1)
        self.bottom_fr.columnconfigure(0, weight=1)

        # scroll bars
        self.x_txt_scr = ttk.Scrollbar(self.bottom_fr, orient=HORIZONTAL)
        self.y_txt_scr = ttk.Scrollbar(self.bottom_fr, orient=VERTICAL)

        # text box stuff
        self.tb_lb = ttk.Label(self.bottom_fr, text="File name changes:")
        self.tb = Text(self.bottom_fr,
                       height=20,
                       width=69,
                       font=('DejaVu Sans Mono', 9),
                       wrap=NONE)
        self.tb_lb.grid(row=0, column=0, columnspan=2, sticky=NW)
        self.tb.grid(row=1, column=0, columnspan=5, sticky="nsew")

        # binding scroll bars
        self.x_txt_scr.configure(command=self.tb.xview)
        self.y_txt_scr.configure(command=self.tb.yview)
        self.x_txt_scr.grid(row=2,
                            column=0,
                            columnspan=6,
                            sticky=EW,
                            pady=(0, 10))
        self.y_txt_scr.grid(row=1, column=5, sticky=NS)
        self.tb.configure(xscrollcommand=self.x_txt_scr.set,
                          yscrollcommand=self.y_txt_scr.set)

        # buttons
        #self.buttFrame = ttk.Frame(self.bottom_fr, padding=(10, 0))
        #self.buttFrame.grid(row=3, column=0, sticky="nsew")
        self.commit_bt = ttk.Button(self.bottom_fr,
                                    text="Commit",
                                    state='disabled',
                                    command=self.commit)
        self.apply_bt = ttk.Button(self.bottom_fr,
                                   text="Apply",
                                   command=self.apply)
        self.commit_bt.grid(row=3, column=0, padx=(0, 110), pady=(0, 10))
        self.apply_bt.grid(row=3, column=0, padx=(110, 0), pady=(0, 10))
示例#12
0
    def __init__(self, root, conf):
        self.conf = conf
        self.items = conf.get_top_level_items()
        self.tree = ttk.Treeview(root, selectmode="browse", columns=("name", "value", "type"), displaycolumns=("value", "type"), height=30)
        
        ysb = ttk.Scrollbar(orient=VERTICAL, command= self.tree.yview)
        xsb = ttk.Scrollbar(orient=HORIZONTAL, command= self.tree.xview)
        self.tree.configure(yscroll=ysb.set, xscroll=xsb.set)
        
        self.tree.heading('#0', text='Configuration Tree', anchor='w')
        self.tree.column("#0", minwidth=0, width=800, stretch=True)

        self.tree.heading("name", text="Name")   
        self.tree.column("name", minwidth=0, width=200, stretch=True)
        
        self.tree.heading("value", text="Value")   
        self.tree.column("value", minwidth=0, width=50, stretch=True)
        
        self.tree.heading("type", text="Type")   
        self.tree.column("type", minwidth=0, width=50, stretch=True)

        self.add_root_items(self.items)
        
        self.help = ScrolledText(root, width=130, height=10)
        self.msg = StringVar()
        self.info = Label(root, fg="green", font=("Helvetica", 16), anchor=W, justify=LEFT, textvariable=self.msg)
        
        self.msg.set("Please set configurations, then you can save it!")
        
        self.tree.grid(row=0, column=0)
        self.help.grid(row=1, column=0)
        self.info.grid(row=2, column=0)
        ysb.grid(row=0, column=1, sticky='ns')
        xsb.grid(row=1, column=0, sticky='ew')
        
        root.grid()
        
        self.root = root
        
        # create a toplevel menu
        menubar = Menu(root)
        menubar.add_command(label="Save Config!", command=self.OnSaveConfig)
        menubar.add_command(label="Quit Config!", command=self.OnQuitConfig)

        # display the menu
        root.config(menu=menubar)
    
        self.tree.bind("<Double-1>", self.OnDoubleClick)
        self.tree.bind("<<TreeviewSelect>>", self.OnSelection)
示例#13
0
    def initialize_gui(self):

        menubar = tk.Menu(self.master)
        menu_file = tk.Menu(menubar)
        menu_action = tk.Menu(menubar)
        menubar.add_cascade(menu=menu_file, label='File')
        menubar.add_cascade(menu=menu_action, label='Action')
        menu_file.add_command(label='New regulation (Ctrl-N)',
                              command=partial(self.new_notice, 'regulation',
                                              None))
        menu_file.add_command(label='New notice (Ctrl-Shift-N)',
                              command=partial(self.new_notice, 'notice', None))
        menu_file.add_command(label='Open notice (Ctrl-O)',
                              command=partial(self.open_notice, None))
        menu_file.add_separator()
        menu_file.add_command(label='Save notice (Ctrl-S)',
                              command=self.save_notice)
        menu_file.add_separator()
        menu_file.add_command(label='Quit (Ctrl-Q)', command=self.master.quit)
        self.master.bind_all('<Control-o>', self.open_notice)
        self.master.bind_all('<Control-s>', self.save_notice)
        self.master.bind_all('<Control-n>',
                             partial(self.new_notice, 'regulation'))
        self.master.bind_all('<Control-Shift-Key-N>',
                             partial(self.new_notice, 'notice'))
        self.master.bind_all('<Control-q>', lambda x: self.master.quit())
        self.master.config(menu=menubar)

        self.left_frame = tk.Frame(self, borderwidth=1)
        self.left_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=tk.YES)
        self.right_frame = tk.Frame(self, borderwidth=1)
        self.right_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=tk.YES)

        self.element_tree = ttk.Treeview(self.left_frame, selectmode='browse')
        x_scroll = ttk.Scrollbar(command=self.element_tree.xview)
        y_scroll = ttk.Scrollbar(command=self.element_tree.yview)
        self.element_tree.configure(xscrollcommand=x_scroll.set)
        self.element_tree.configure(yscrollcommand=y_scroll.set)

        #self.element_tree.heading('path', text='Path')
        self.element_tree.pack(side=tk.LEFT, fill=tk.BOTH, expand=tk.YES)
        self.element_tree.bind('<<TreeviewSelect>>', self.select_tree_element)
        self.element_tree.bind('<Button-2>', self.tree_context_menu)

        self.master.rowconfigure(0, weight=1)
        self.master.columnconfigure(0, weight=1)
        self.master.columnconfigure(1, weight=1)

        print element_to_view_map
示例#14
0
    def build_gui(self, feed_dimensions=(600, 480)):
        # Create the main window
        self._window = Tkinter.Tk()
        self._window.protocol("WM_DELETE_WINDOW", self.quit)
        self._window.title("ShootOFF")

        self._frame = ttk.Frame(self._window)
        self._frame.pack()

        # Create the container for our webcam image
        self._webcam_canvas = Tkinter.Canvas(self._frame,
            width=feed_dimensions[0], height=feed_dimensions[1])
        self._webcam_canvas.grid(row=0, column=0)

        self._webcam_canvas.bind('<ButtonPress-1>', self.canvas_click)
        self._webcam_canvas.bind('<Delete>', self.canvas_delete_target)
        # Click to shoot
        if self._preferences[configurator.DEBUG]:
            self._webcam_canvas.bind('<Shift-ButtonPress-1>', self.canvas_click_red)
            self._webcam_canvas.bind('<Control-ButtonPress-1>', self.canvas_click_green)

        self._canvas_manager = CanvasManager(self._webcam_canvas)

        # Create a button to clear shots
        self._clear_shots_button = ttk.Button(
            self._frame, text="Clear Shots", command=self.clear_shots_click)
        self._clear_shots_button.grid(row=1, column=0)

        # Create the shot timer tree
        self._shot_timer_tree = ttk.Treeview(self._frame, selectmode="extended",
                                             show="headings")
        self.add_shot_list_columns(DEFAULT_SHOT_LIST_COLUMNS)
        self.configure_default_shot_list_columns()

        tree_scrolly = ttk.Scrollbar(self._frame, orient=Tkinter.VERTICAL,
                                     command=self._shot_timer_tree.yview)
        self._shot_timer_tree['yscroll'] = tree_scrolly.set

        tree_scrollx = ttk.Scrollbar(self._frame, orient=Tkinter.HORIZONTAL,
                                     command=self._shot_timer_tree.xview)
        self._shot_timer_tree['xscroll'] = tree_scrollx.set

        self._shot_timer_tree.grid(row=0, column=1, rowspan=2, sticky=Tkinter.NSEW)
        tree_scrolly.grid(row=0, column=2, rowspan=2, stick=Tkinter.NS)
        tree_scrollx.grid(row=1, column=1, stick=Tkinter.EW)
        self._shot_timer_tree.bind("<<TreeviewSelect>>", self.shot_time_selected)

        self.create_menu()
示例#15
0
 def __init__(self,
              master=None,
              compound=tk.RIGHT,
              canvasheight=400,
              canvaswidth=400,
              canvasborder=0,
              **kwargs):
     """
     :param master: master widget
     :param compound: side the scrollbar should be on
     :param canvasheight: hight of the internal canvas
     :param canvaswidth: width of the internal canvas
     :param canvasborder: border width of the internal canvas
     :param kwargs: passed on to Frame.__init__
     """
     ttk.Frame.__init__(self, master, **kwargs)
     self._scrollbar = ttk.Scrollbar(self, orient=tk.VERTICAL)
     self._canvas = tk.Canvas(self,
                              borderwidth=canvasborder,
                              highlightthickness=0,
                              yscrollcommand=self._scrollbar.set,
                              width=canvaswidth,
                              height=canvasheight)
     self.__compound = compound
     self._scrollbar.config(command=self._canvas.yview)
     self._canvas.yview_moveto(0)
     self.interior = ttk.Frame(self._canvas)
     self._interior_id = self._canvas.create_window(0,
                                                    0,
                                                    window=self.interior,
                                                    anchor=tk.NW)
     self.interior.bind("<Configure>", self.__configure_interior)
     self._canvas.bind("<Configure>", self.__configure_canvas)
     self.__grid_widgets()
        def QueryButton_1():
            self.Listbox1.delete(0, tk.END)
            tree_1 = ttk.Treeview(self.Listbox1,
                                  columns=(1, 2),
                                  show='headings')
            tree_1.heading(1, text='Queried Milestone')
            tree_1.heading(2, text='Due Date')
            tree_1.pack(fill='both')
            scroll = ttk.Scrollbar(self.Listbox1,
                                   orient='vertical',
                                   command=tree_1.yview)
            tree_1.configure(yscrollcommand=scroll.set)

            Query_Start_Date_M = self.Entry1.get()
            Query_Start_Date_M = pd.to_datetime(Query_Start_Date_M)
            Query_Finish_Date_M = Query_Start_Date_M + timedelta(days=180)
            for i in range(len(df_Tasks)):
                Start_Date_df = pd.to_datetime(df_Tasks.loc[i, 'Start_Date'])
                Finish_Date_df = pd.to_datetime(df_Tasks.loc[i, 'Finish_Date'])
                Milestone = df_Tasks.loc[i, 'task_ID']
                if (Start_Date_df >= Query_Start_Date_M and Finish_Date_df <=
                        Query_Finish_Date_M) and ('milestone' in Milestone):
                    tree_1.insert('',
                                  'end',
                                  values=(df_Tasks.loc[i, 'task_ID'],
                                          df_Tasks.loc[i, 'Start_Date']))
示例#17
0
    def __init__(self, parent, *args, **kw):
        ttk.Frame.__init__(self, parent, *args, **kw)
        self.parent = parent

        # Create the canvas and the scrollbars
        self.canvas = tk.Canvas(self, border=0, highlightthickness=0)
        vsb = ttk.Scrollbar(self, orient="vertical", command=self.canvas.yview)
        #hsb = ttk.Scrollbar(self, orient="horizontal",
        #                    command=self.canvas.xview)
        self.canvas.configure(
            yscrollcommand=vsb.set)  #, xscrollcommand=hsb.set)

        self.canvas.xview_moveto(0)
        self.canvas.yview_moveto(0)

        # Grid the canvas and scrollbars within the container frame
        self.canvas.grid(column=0, row=0, sticky="NSEW")
        vsb.grid(column=1, row=0, sticky="NS")
        #hsb.grid(column=0, row=1, sticky="WE")
        self.columnconfigure(0, weight=1)
        self.columnconfigure(1, weight=0)
        self.rowconfigure(0, weight=1)

        # Now create a frame within the canvas
        self.interior = ttk.Frame(self.canvas)
        self.winID = self.canvas.create_window((0, 0),
                                               window=self.interior,
                                               anchor="nw",
                                               tags="self.interior")

        self.interior.bind('<Configure>', self._configure_interior)
        self.canvas.bind('<Configure>', self._configure_canvas)
        def __init__(self, parent, controller):
            tk.Frame.__init__(self, parent)
            BaseGUIEvent.BaseGUIEvent.__init__(self, controller)

            # Title label
            label = tk.Label(
                self, text="Procurement Awarded to Registered Contractors")
            label.pack(pady=10, padx=10)

            # Back button
            button1 = tk.Button(
                self,
                text="Back",
                command=lambda: controller.change_frame("Page2GUI"))
            button1.pack()

            # Drop down menu to select tendering number
            button2 = tk.Button(self,
                                text="Convert to PDF",
                                command=self.convertPDF)
            button2.pack()

            # Setup the Tree
            self.tree = ttk.Treeview(self,
                                     columns=('Amount'),
                                     selectmode='browse')
            vsb = ttk.Scrollbar(self,
                                orient="vertical",
                                command=self.tree.yview)
            vsb.pack(side="right", fill="y")
            self.tree.configure(yscrollcommand=vsb.set)
            self.tree.column('Amount', width=500, anchor='center')
            self.tree.heading('Amount', text='Amount ($)')
            self.tree.pack(fill=tk.BOTH, expand=1)
            self.tree.heading('#0', text='')
示例#19
0
    def __init__(self, master, path):
        tk.Frame.__init__(self, master)
        self.tree = ttk.Treeview(self)
        ysb = ttk.Scrollbar(self, orient='vertical', command=self.tree.yview)
        xsb = ttk.Scrollbar(self, orient='horizontal', command=self.tree.xview)
        self.tree.configure(yscroll=ysb.set, xscroll=xsb.set)
        self.tree.heading('#0', text=path, anchor='w')

        abspath = os.path.abspath(path)
        root_node = self.tree.insert('', 'end', text=abspath, open=True)
        self.process_directory(root_node, abspath)

        self.tree.grid(row=0, column=0)
        ysb.grid(row=0, column=1, sticky='ns')
        xsb.grid(row=1, column=0, sticky='ew')
        self.grid()
    def ChildWindow(self):

        #Create menu
        self.popup = tk.Menu(self.root, tearoff=0)
        self.popup.add_command(label="Next", command=self.selection)
        self.popup.add_separator()

        def do_popup(event):
            # display the popup menu
            try:
                self.popup.selection = self.tree.set(
                    self.tree.identify_row(event.y))
                self.popup.post(event.x_root, event.y_root)
            finally:
                # make sure to release the grab (Tk 8.0a1 only)
                self.popup.grab_release()

        #Create Treeview
        win2 = tk.Toplevel(self.root)
        new_element_header = ['1st']
        treeScroll = ttk.Scrollbar(win2)
        treeScroll.pack(side=tk.RIGHT, fill=tk.Y)
        self.tree = ttk.Treeview(win2,
                                 columns=new_element_header,
                                 show="headings")
        self.tree.heading("1st", text="1st")
        self.tree.insert("", 0, text="Line 1", values=("1A"))
        self.tree.pack(side=tk.LEFT, fill=tk.BOTH)

        self.tree.bind("<Button-3>", do_popup)

        win2.minsize(600, 30)
示例#21
0
    def configure_treeview(self):
        self.treeview = ttk.Treeview(self)
        self.treeview['columns'] = [
            "id", "time", 'ms_level', 'precursor_mz', 'precursor_charge',
            'activation'
        ]
        self.treeview.grid(row=2, column=0, sticky=tk.S + tk.W + tk.E + tk.N)

        self.treeview_scrollbar = ttk.Scrollbar(self,
                                                orient="vertical",
                                                command=self.treeview.yview)
        self.treeview_scrollbar.grid(row=2,
                                     column=0,
                                     sticky=tk.S + tk.E + tk.N)
        self.treeview.configure(yscrollcommand=self.treeview_scrollbar.set)

        self.treeview.heading('id', text="Scan ID")
        self.treeview.heading('#0', text='Index')
        self.treeview.heading("time", text='Time (min)')
        self.treeview.heading("ms_level", text='MS Level')
        self.treeview.heading("precursor_mz", text='Precursor M/Z')
        self.treeview.heading("precursor_charge", text='Precursor Z')
        self.treeview.heading("activation", text='Activation')
        self.treeview.column("#0", width=75)
        self.treeview.column("ms_level", width=75)
        self.treeview.column("time", width=75)
        self.treeview.column("precursor_mz", width=100)
        self.treeview.column("precursor_charge", width=100)
        self.treeview.bind("<<TreeviewSelect>>", self.on_row_click)
示例#22
0
def download(conn):
    """Display the client's directory tree"""
    conn.send('download')
    shl = Tk()
    shl.title('Choose a file to download')
    vsb = ttk.Scrollbar(shl, orient="vertical")
    tree = ttk.Treeview(shl,
                        columns=("fullpath", "type"),
                        displaycolumns='',
                        yscrollcommand=lambda f, l: autoscroll(vsb, f, l))
    vsb['command'] = tree.yview
    tree.heading("#0", text="Directory Structure", anchor='w')
    populate_roots(tree, conn)  # Start with C:/ folder
    tree.bind('<<TreeviewOpen>>', lambda event: update_tree(conn, event)
              )  # If the plus was clicked (folder opened)
    tree.bind('<Double-Button-1>', lambda event: copy(conn, tree)
              )  # If a file was doubled clicked (start download)
    tree.grid(column=0, row=0, sticky='nswe')
    vsb.grid(column=1, row=0, sticky='ns')
    center(shl, False)  # Center the window
    shl.grid_columnconfigure(0, weight=1)
    shl.grid_rowconfigure(0, weight=1)
    shl.protocol("WM_DELETE_WINDOW",
                 functools.partial(
                     closing,
                     param=(conn, shl)))  # If the 'x' button was clicked
    shl.iconbitmap(icon)
    shl.mainloop()
示例#23
0
        def Query_look_ahead_need():
            self.Scrolledlistbox1.delete('0', 'END')
            tree_1 = ttk.Treeview(self.Scrolledlistbox1,
                                  columns=(1, 2, 3),
                                  show='headings')
            tree_1.heading(1, text='order ID')
            tree_1.heading(2, text='element ID')
            tree_1.heading(3, text='Family and Type')
            tree_1.pack(fill='both')
            scroll = ttk.Scrollbar(self.Scrolledlistbox1,
                                   orient='vertical',
                                   command=tree_1.yview)
            tree_1.configure(yscrollcommand=scroll.set)

            Need_date = str(self.Entry2.get())
            Need_date = pd.to_datetime(Need_date)
            for i in range(len(df_tasks)):
                a = pd.to_datetime(df_tasks.loc[i, 'Start_Date'])
                if a == Need_date:
                    b = df_tasks.loc[i, 'task_ID']
                    b = b[-7:]
                    for j in range(len(df_ETOs)):
                        if b in df_ETOs.loc[j, 'task_ID']:
                            tree_1.insert(
                                '',
                                'end',
                                values=(df_ETOs.loc[j, 'order_ID'],
                                        df_ETOs.loc[j, 'element_ID'],
                                        df_ETOs.loc[j, 'Family'] + ' ' +
                                        df_ETOs.loc[j, 'Type']))
示例#24
0
    def __init__(self, root, main_window, button_opt):
        ttk.Frame.__init__(self, root)

        self.root = root
        self.main_window = main_window
        self.current_files = None
        self.button_opt = button_opt

        # define options for opening or saving a file
        self.file_opt = options = {}
        options['defaultextension'] = '.txt'
        options['filetypes'] = [('all files', '.*'), ('text files', '.txt')]
        options['initialdir'] = os.path.expanduser("~")
        options['parent'] = root
        options['title'] = 'Select files to annotate.'

        self.file_selector_button = ttk.Button(self.root,
                                               text=u"select file(s)",
                                               command=self.filenames)
        self.label = ttk.Label(self.root, text=u"selected file(s):")
        self.fa_search = tk.PhotoImage(file=os.path.join(
            self.main_window.resource_dir, "images", "fa_search_24_24.gif"))
        self.file_selector_button.config(image=self.fa_search,
                                         compound=tk.LEFT)

        self.scrollbar = ttk.Scrollbar(self.root)
        self.selected_files = tk.Listbox(self.root,
                                         yscrollcommand=self.scrollbar.set)
        self.scrollbar.config(command=self.selected_files.yview)
        def run_by_orderID():
            self.Scrolledlistbox1.delete('0', 'END')
            tree_1 = ttk.Treeview(self.Scrolledlistbox1,
                                  columns=(1, 2, 3, 4, 5),
                                  show='headings')
            tree_1.heading(1, text='order ID')
            tree_1.heading(2, text='element ID')
            tree_1.heading(3, text='family and type')
            tree_1.heading(4, text='supplier')
            tree_1.heading(5, text='current run')
            tree_1.pack(fill='both')
            scroll = ttk.Scrollbar(self.Scrolledlistbox1,
                                   orient='vertical',
                                   command=tree_1.yview)
            tree_1.configure(yscrollcommand=scroll.set)

            order_ID = self.Entry3.get()
            for i in range(len(df_MP)):
                for j in range(len(df_ETOs)):
                    if df_MP.loc[i, 'order_ID'] == order_ID and df_ETOs.loc[
                            j, 'order_ID'] == order_ID:
                        tree_1.insert('',
                                      'end',
                                      values=(df_MP.loc[i, 'order_ID'],
                                              df_ETOs.loc[j, 'element_ID'],
                                              df_ETOs.loc[j, 'Family'] + ' ' +
                                              df_ETOs.loc[j, 'Type'],
                                              df_MP.loc[i, 'supplier_name'],
                                              df_MP.loc[i, 'production_run']))
                    else:
                        pass
示例#26
0
	def addScrollbars( self, parent, w, conf ):
		if 'x' in conf:
			xsb = ttk.Scrollbar( parent, orient='horizontal' )
			xsb.grid( row=1, column=0, sticky="new" )
			xsb.config( command=w.xview)
			w.config( xscrollcommand=xsb.set)
			parent.grid_columnconfigure( 0, weight=50 )
			parent.grid_columnconfigure( 1, weight=1 )

		if 'y' in conf:
			ysb = ttk.Scrollbar( parent )
			ysb.grid( row=0, column=1, sticky="wns" )
			ysb.config( command=w.yview)
			w.config( yscrollcommand=ysb.set)
			parent.grid_rowconfigure( 0, weight=50 )
			parent.grid_rowconfigure( 1, weight=1 )
        def QueryButton_all():
            root1 = Tk()
            root1.title('All tasks')
            root1.wm_iconbitmap('logo.ico')
            frame = Frame(root1)
            frame.pack()
            tree = ttk.Treeview(frame,
                                columns=(1, 2, 3, 4, 5, 6, 7),
                                show='headings')
            tree.heading(1, text='task_ID')
            tree.heading(2, text='Planned Start Date')
            tree.heading(3, text='Planned Finish Date')
            tree.heading(4, text='Baseline Start Date')
            tree.heading(5, text='Baseline Finish Date')
            tree.heading(6, text='Actual Start Date')
            tree.heading(7, text='Actual Finish Date')
            tree.pack()

            scroll = ttk.Scrollbar(frame,
                                   orient="vertical",
                                   command=tree.yview)
            tree.configure(yscrollcommand=scroll.set)
            for i in range(len(df_Tasks)):
                tree.insert('',
                            'end',
                            values=(df_Tasks.loc[i, 'task_ID'],
                                    df_Tasks.loc[i, 'Start_Date'],
                                    df_Tasks.loc[i, 'Finish_Date'],
                                    df_Tasks.loc[i, 'Baseline_Start'],
                                    df_Tasks.loc[i, 'Baseline_Finish'],
                                    df_Tasks.loc[i, 'Actual_Start'],
                                    df_Tasks.loc[i, 'Actual_Finish']))
            root1.mainloop()