git repos / saland

extra/editor/tree_frame.py

browsing at commit = ef2a612a737b2ec74588537d9656f607dc0d394a

raw · blame · history

import tkinter as tk
from tkinter import ttk

class TreeFrame:
    """Create a frame with a tree view
    """
    def __init__(self, master):
        self.master = master
        self.frame = ttk.Frame(master)
        self.treeview = ttk.Treeview(self.frame)
        self.xscroll = ttk.Scrollbar(self.frame, orient=tk.HORIZONTAL, command=self.treeview.xview)
        self.yscroll = ttk.Scrollbar(self.frame, orient=tk.VERTICAL, command=self.treeview.yview)
        self.treeview.grid(row=1, column=0, sticky='nsew')
        self.frame.columnconfigure(0, weight=1)
        self.frame.rowconfigure(1, weight=1)
        self.xscroll.grid(row=2, column=0, sticky='ew')
        self.yscroll.grid(row=1, column=2, sticky='ns')
        self.treeview.config(xscrollcommand=self.xscroll.set, yscrollcommand=self.yscroll.set)
        #Add filter box
        self.filterString = tk.StringVar()
        self.filterEntryBox = tk.Entry (self.frame, textvariable=self.filterString)
        self.filterEntryBox.grid(row=3, column=0, sticky='nsew')


    def get_treeview(self):
        return self.treeview

    def get_frame(self):
        """Retruns a reference to the frame"""
        return self.frame