Example #1
0
class FilterBox(ttk.Frame):
    def __init__(self, parent, *args, **kwargs):
        ttk.Frame.__init__(self, parent, *args, **kwargs)
        self.search_type = tk.StringVar()
        self.search_string = tk.StringVar()
        self.search_type.set("both")
        self.label = ttk.Label(self, text="Search:")
        self.entry = SearchBox(self, textvariable=self.search_string, width=40)
        self.radio1 = ttk.Radiobutton(self, text="Name only", value="name", 
                                      variable=self.search_type)
        self.radio2 = ttk.Radiobutton(self, text="Name and Documentation", 
                                      value="both", variable=self.search_type)
        self.entry.pack(side="left", expand=False, padx=4)
        self.radio1.pack(side="left", padx=(0,8))
        self.radio2.pack(side="left", padx=(0,8))

        self.search_string.trace("w", self._on_search)
        self.search_type.trace("w", self._on_type)

    def set_focus(self):
        self.entry.focus()

    def _on_type(self, *args):
        self.event_generate("<<Search>>")

    def get_type(self):
        return self.search_type.get()

    def get_string(self):
        return self.search_string.get()

    def _on_search(self, *args):
        self.event_generate("<<Search>>")
Example #2
0
    def __init__(self, parent, *args, **kwargs):
        ttk.Frame.__init__(self, parent, *args, **kwargs)
        self.search_type = tk.StringVar()
        self.search_string = tk.StringVar()
        self.search_type.set("both")
        self.label = ttk.Label(self, text="Search:")
        self.entry = SearchBox(self, textvariable=self.search_string, width=40)
        self.radio1 = ttk.Radiobutton(self, text="Name only", value="name", 
                                      variable=self.search_type)
        self.radio2 = ttk.Radiobutton(self, text="Name and Documentation", 
                                      value="both", variable=self.search_type)
        self.entry.pack(side="left", expand=False, padx=4)
        self.radio1.pack(side="left", padx=(0,8))
        self.radio2.pack(side="left", padx=(0,8))

        self.search_string.trace("w", self._on_search)
        self.search_type.trace("w", self._on_type)