Esempio n. 1
0
def main():
    top = tix.Tk()

    nb = tix.NoteBook(top, width=300, height=200)
    nb.pack(expand=True, fill="both")

    nb.add("page1", label="text")
    f1 = tix.Frame(nb.subwidget("page1"))
    st = tix.ScrolledText(f1)
    st.subwidget("text").insert("1.0", "Here is where the text goes...")
    st.pack(expand=True)
    f1.pack()

    nb.add("page2", label="Message Boxes")
    f2 = tix.Frame(nb.subwidget("page2"))
    # 通过联合使用expand,fill和anchor,在窗口大小改变时,可以精确地控制小部件的行为
    tix.Button(
        f2,
        text="error",
        bg="lightblue",
        command=lambda t="error", m="This is bad!": mb.showerror(t, m)).pack(
            fill="x", expand=True)
    tix.Button(
        f2,
        text="info",
        bg="pink",
        command=lambda t="info", m="Information": mb.showinfo(t, m)).pack(
            fill="x", expand=True)
    tix.Button(f2,
               text="warning",
               bg="yellow",
               command=lambda t="warning", m="Don't do it!": mb.showwarning(
                   t, m)).pack(fill="x", expand=True)
    tix.Button(
        f2,
        text="question",
        bg="green",
        command=lambda t="question", m="Will I?": mb.askquestion(t, m)).pack(
            fill="x", expand=True)
    tix.Button(f2,
               text="yes - no",
               bg="lightgrey",
               command=lambda t="yes - no", m="Are you sure?": mb.askyesno(
                   t, m)).pack(fill="x", expand=True)
    tix.Button(f2,
               text="yes - no - cancel",
               bg="black",
               fg="white",
               command=lambda t="yes - not - cancel", m="Last chance...": mb.
               askyesnocancel(t, m)).pack(fill="x", expand=True)

    f2.pack(side="top", fill="x")
    top.mainloop()
Esempio n. 2
0
    def build_notebook(self, top):
        mono_font = self.get_mono_font()
        nb = tix.NoteBook(top)

        nb.add("item_page",
               label="items",
               raisecmd=lambda pg="item": self.ev_page(pg))
        fr = tix.Frame(nb.subwidget("item_page"))
        self.item_fmt = "{:15} {:15} {:10} ${:<8} {:12}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.item_fmt.format("Name", "Description", "Owner",
                                            "Price",
                                            "Condition")).pack(anchor="w")
        # 使用tix.ScrolledListBox而不是tix.ScrolledText小部件。使用ScrolledListBox小部件可以更加容易地选择行。
        slb = tix.ScrolledListBox(fr, width=500, height=200)
        slb.pack(fill="both", expand=True)
        fr.pack(fill="both", expand=True)
        self.item_list = slb.subwidget("listbox")
        self.item_list.configure(font=mono_font, bg="white")
        # 使用bind()方法将鼠标左键双击链接到适当的编辑事件处理程序上。除了处理默认小部件的命令,bind()机制可以处理任意事件。
        # 不同的是,回调函数必须接受一个事件参数并为参数设置了默认值None。这样普通的回调机制以及双击链接也可以使用它
        self.item_list.bind("<Double-1>", self.ev_edit_item)

        # 事件处理程序都是自解释型的。在选中新的notebook页时,就会触发ev_page()处理程序。它只是为活动页面启动对应的菜单。
        nb.add("member_page",
               label="members",
               raisecmd=lambda pg="member": self.ev_page(pg))
        fr = tix.Frame(nb.subwidget("member_page"))
        self.member_fmt = "{:<15} {:<40}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.member_fmt.format(
                      "Name", "Email Address")).pack(anchor="w")
        slb = tix.ScrolledListBox(fr, width=40, height=20)
        slb.pack(fill="both", expand=True)
        fr.pack(fill="both", expand=True)
        self.member_list = slb.subwidget("listbox")
        self.member_list.configure(font=mono_font, bg="white")
        self.member_list.bind("<Double-1>", self.ev_edit_member)

        return nb
Esempio n. 3
0
    def buildNoteBook(self, top):
        mono_font = self.getMonoFont()
        nb = tix.NoteBook(top)

        nb.add("itemPage",
               label="Items",
               raisecmd=lambda pg="item": self.evPage(pg))
        fr = tix.Frame(nb.subwidget("itemPage"))
        self.itemFmt = "{:15} {:15} {:10} ${:<8} {:12}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.itemFmt.format("Name", "Description", "Owner",
                                           "Price",
                                           "Condition")).pack(anchor='w')
        slb = tix.ScrolledListBox(fr, width=500, height=200)
        slb.pack(fill='both', expand=True)
        fr.pack(fill='both', expand=True)
        self.itemList = slb.subwidget("listbox")
        self.itemList.configure(font=mono_font, bg='white')
        self.itemList.bind('<Double-1>', self.evEditItem)

        nb.add("memberPage",
               label="Members",
               raisecmd=lambda pg="member": self.evPage(pg))
        fr = tix.Frame(nb.subwidget("memberPage"))
        self.memberFmt = "{:<15} {:<40}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.memberFmt.format("Name",
                                             "Email Address")).pack(anchor='w')
        slb = tix.ScrolledListBox(fr, width=40, height=20)
        slb.pack(fill='both', expand=True)
        fr.pack(fill='both', expand=True)
        self.memberList = slb.subwidget("listbox")
        self.memberList.configure(font=mono_font, bg='white')
        self.memberList.bind('<Double-1>', self.evEditMember)

        return nb
Esempio n. 4
0
    def __init__(
        self,
        root,
        *args,
        **kwargs,
    ):
        # menu
        self.menu = Menu(root)

        self.filemenu = Menu(self.menu, tearoff=0)
        self.showmenu = Menu(self.menu, tearoff=0)
        self.settingmenu = Menu(self.menu, tearoff=0)
        self.helpmenu = Menu(self.menu, tearoff=0)
        self.menu.add_cascade(label="File", menu=self.filemenu)
        self.menu.add_cascade(label="Display", menu=self.showmenu)
        self.menu.add_cascade(label="Options", menu=self.settingmenu)
        self.menu.add_cascade(label="Help", menu=self.helpmenu)

        self.filemenu.add_command(label="Login")
        self.filemenu.add_command(label="New")
        self.filemenu.add_command(label="Open")
        self.filemenu.add_command(label="Import")
        self.filemenu.add_command(label="Export")
        self.filemenu.add_separator()
        self.filemenu.add_command(label="Quit")

        self.showmenu.add_command(label="Full screen")
        self.showmenu.add_command(label="Edit")
        self.showmenu.add_command(label="Tools")
        self.showmenu.add_command(label="Navigation")

        self.settingmenu.add_command(label="Toolbars")
        self.settingmenu.add_separator()
        self.settingmenu.add_command(label="Server")

        self.helpmenu.add_command(label="Find Action")
        self.helpmenu.add_separator()
        self.helpmenu.add_command(label="About", command=self.about)

        root.config(menu=self.menu)

        #NOTEBOOK

        self.note = tix.NoteBook(root)
        self.note.add("page1", label="Main")
        self.note.add("page2", label="Výpis")
        self.note.add("page3", label="Pridať")

        self.p1 = self.note.subwidget_list["page1"]
        self.p2 = self.note.subwidget_list["page2"]
        self.p3 = self.note.subwidget_list["page3"]

        self.note.pack(expand=1, fill=BOTH)

        self.bigFrame = Frame(self.p1, bg="Black")
        self.bigFrame.pack(fill=BOTH, expand=1, side=TOP)

        #doubleFrame2
        self.doubleFrame2 = Frame(self.bigFrame)
        self.doubleFrame2.pack(padx=5, pady=5, fill=BOTH, expand=1, side=TOP)

        #page1
        self.profileF = LabelFrame(self.doubleFrame2, text="Profil")
        self.profileF.pack(padx=5, pady=5, fill=BOTH, expand=True, side=TOP)

        #Image
        self.image = Frame(self.profileF, bg="Gray", width=120,
                           height=140).grid(row=0,
                                            column=0,
                                            columnspan=1,
                                            rowspan=3,
                                            padx=15,
                                            pady=(20, 10))

        #ProfilePopis
        self.name = Label(self.profileF, text="Meno:", fg="red").grid(row=0,
                                                                      column=2,
                                                                      padx=8,
                                                                      pady=6,
                                                                      sticky=E)
        self.name = Label(self.profileF, text="Email:",
                          fg="red").grid(row=1,
                                         column=2,
                                         padx=8,
                                         pady=6,
                                         sticky=E)
        self.name = Label(self.profileF, text="Dátum Narodenia:",
                          fg="red").grid(row=2,
                                         column=2,
                                         padx=7,
                                         pady=6,
                                         sticky=E)
        self.name = Label(self.profileF, text="Pozícia:",
                          fg="red").grid(row=3,
                                         column=2,
                                         padx=7,
                                         pady=6,
                                         sticky=E)

        self.name = Label(self.profileF,
                          text="Jožko",
                          font=('Comic Sans MS', 11)).grid(row=0,
                                                           column=3,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)
        self.name = Label(self.profileF,
                          text="*****@*****.**",
                          font=('Comic Sans MS', 11)).grid(row=1,
                                                           column=3,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)
        self.name = Label(self.profileF,
                          text="12.apríla.1995",
                          font=('Comic Sans MS', 11)).grid(row=2,
                                                           column=3,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)
        self.name = Label(self.profileF,
                          text="Redaktor",
                          font=('Comic Sans MS', 11)).grid(row=3,
                                                           column=3,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)

        self.name = Label(self.profileF, text="Priezvisko:",
                          fg="red").grid(row=0,
                                         column=4,
                                         padx=8,
                                         pady=6,
                                         sticky=E)
        self.name = Label(self.profileF, text="Stav:", fg="red").grid(row=1,
                                                                      column=4,
                                                                      padx=8,
                                                                      pady=6,
                                                                      sticky=E)
        self.name = Label(self.profileF, text="Vedúci",
                          fg="red").grid(row=2,
                                         column=4,
                                         padx=7,
                                         pady=6,
                                         sticky=E)
        self.name = Label(self.profileF, text="Počet článkov:",
                          fg="red").grid(row=3,
                                         column=4,
                                         padx=7,
                                         pady=6,
                                         sticky=E)

        self.name = Label(self.profileF,
                          text="Mrkvička",
                          font=('Comic Sans MS', 11)).grid(row=0,
                                                           column=5,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)
        self.name = Label(self.profileF,
                          text="Online",
                          fg="green",
                          font=('Comic Sans MS', 11)).grid(row=1,
                                                           column=5,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)
        self.name = Label(self.profileF,
                          text="Milan Tichý",
                          font=('Comic Sans MS', 11)).grid(row=2,
                                                           column=5,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)
        self.name = Label(self.profileF,
                          text="122",
                          font=('Comic Sans MS', 11)).grid(row=3,
                                                           column=5,
                                                           padx=8,
                                                           pady=6,
                                                           sticky=W)

        self.infoF = LabelFrame(self.doubleFrame2, text="Info")
        self.infoF.pack(padx=5, pady=5, fill=BOTH, side=BOTTOM, expand=1)

        #info
        self.onlineF = LabelFrame(self.infoF, text="Online Admini")
        self.onlineF.pack(padx=5, pady=5, fill=BOTH, expand=1, side=LEFT)

        #resolution

        self.mlb1 = table.MultiListbox(self.onlineF, (
            ('Nick', 10),
            ('Mail', 20),
        ))
        for i in range(len(resolution)):
            self.mlb1.insert(END, (resolution[i][0], resolution[i][1]))
        self.mlb1.pack(expand=YES, fill=BOTH, padx=10, pady=10)

        self.prehladF = LabelFrame(self.infoF, text="Celkový Prehlad")
        self.prehladF.pack(padx=5, pady=5, fill=BOTH, expand=1, side=RIGHT)

        self.visitedTimes = Label(self.prehladF,
                                  text="Návštevy tento mesiac: ",
                                  fg="gray22").grid(row=0,
                                                    column=0,
                                                    sticky=E,
                                                    padx=8,
                                                    pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="Návštevy celkovo: ",
                                  fg="gray22").grid(row=1,
                                                    column=0,
                                                    sticky=E,
                                                    padx=8,
                                                    pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="Počet článkov celkovo: ",
                                  fg="gray22").grid(row=2,
                                                    column=0,
                                                    sticky=E,
                                                    padx=8,
                                                    pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="Počet likov celkovo: ",
                                  fg="gray22").grid(row=3,
                                                    column=0,
                                                    sticky=E,
                                                    padx=8,
                                                    pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="Počet dislike celkovo: ",
                                  fg="gray22").grid(row=4,
                                                    column=0,
                                                    sticky=E,
                                                    padx=8,
                                                    pady=6)

        self.visitedTimes = Label(self.prehladF,
                                  text="2358",
                                  font=('Comic Sans MS', 10)).grid(row=0,
                                                                   column=1,
                                                                   sticky=W,
                                                                   padx=8,
                                                                   pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="25 890",
                                  font=('Comic Sans MS', 10)).grid(row=1,
                                                                   column=1,
                                                                   sticky=W,
                                                                   padx=8,
                                                                   pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="149",
                                  font=('Comic Sans MS', 10)).grid(row=2,
                                                                   column=1,
                                                                   sticky=W,
                                                                   padx=8,
                                                                   pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="2222",
                                  font=('Comic Sans MS', 10)).grid(row=3,
                                                                   column=1,
                                                                   sticky=W,
                                                                   padx=8,
                                                                   pady=6)
        self.visitedTimes = Label(self.prehladF,
                                  text="411",
                                  font=('Comic Sans MS', 10)).grid(row=4,
                                                                   column=1,
                                                                   sticky=W,
                                                                   padx=8,
                                                                   pady=6)

        #-------------------------------------------------------------
        # page2
        self.bigFrame = Frame(self.p2, bg="Black")
        self.bigFrame.pack(fill=BOTH, expand=1, side=TOP)

        self.filterF = LabelFrame(self.bigFrame, text="Výpis článkov / Filter")
        self.filterF.pack(padx=5, pady=5, fill=BOTH, expand=True, side=TOP)

        self.row1 = Frame(self.filterF)
        self.row1.pack(side=TOP, anchor=E)

        self.podrobnosti = Button(self.row1,
                                  text="Zobraz Podrobnosti",
                                  font=('Comic Sans MS', 10),
                                  command=self.showProperties)
        self.podrobnosti.pack(side=RIGHT, padx=10)

        self.podrobnosti = Button(self.row1,
                                  text="Zmeniť stav",
                                  font=('Comic Sans MS', 10),
                                  command=self.changeState)
        self.podrobnosti.pack(side=RIGHT, padx=10)

        self.mlb1 = table.MultiListbox(self.filterF,
                                       (('Titulok', 40), ('Autor', 20),
                                        ('Dátum', 20), ('Stav', 10)))
        for i in range(len(resolution)):
            self.mlb1.insert(END, (articles[i][0], articles[i][1],
                                   articles[i][2], articles[i][3]))
        self.mlb1.pack(expand=YES, fill=BOTH, padx=10, pady=10)

        self.filter = Frame(self.filterF)
        self.filter.pack(fill=BOTH, side=BOTTOM, padx=10, pady=15)

        self.search = Entry(self.filter, width=30)
        self.search.pack(side=LEFT)

        self.autor = Button(self.filter,
                            text="Autor",
                            width=(12),
                            command=self.autor)
        self.autor.pack(side=LEFT, padx=(12, 0))

        self.autor = Button(self.filter,
                            text="Dátum",
                            width=12,
                            command=self.date)
        self.autor.pack(side=LEFT, padx=(12, 0))

        self.autor = Button(self.filter,
                            text="Stav",
                            width=12,
                            fg="green",
                            command=self.state)
        self.autor.pack(side=LEFT, padx=(12, 0))

        self.autor = Button(self.filter,
                            text="Vyhľadat",
                            width=12,
                            fg="red",
                            command=self.searchInputh)
        self.autor.pack(side=LEFT, padx=(12, 0))

        #page3
        self.bigFrame = Frame(self.p3, bg="Black")
        self.bigFrame.pack(fill=BOTH, expand=1, side=TOP)

        self.addF = LabelFrame(self.bigFrame, text="Pridaj článok")
        self.addF.pack(padx=5, pady=5, fill=BOTH, expand=True, side=TOP)

        self.row1 = Frame(self.addF)
        self.row1.pack(side=TOP, fill=X)

        self.title = Label(self.row1, text="Titulok: ")
        self.title.pack(side=LEFT, anchor=W)

        self.titleInput = Entry(self.row1)
        self.titleInput.pack(side=LEFT, expand=1, fill=BOTH, padx=15)

        self.row2 = Frame(self.addF)
        self.row2.pack(side=TOP, fill=X, pady=10)

        self.categorie = Label(self.row2, text="Kategórie: Nevybrané ")
        self.categorie.pack(anchor=W, side=LEFT, padx=10)

        self.categorie = Button(self.row2,
                                text="Vyber Kategórie",
                                command=self.category)
        self.categorie.pack(anchor=W, side=LEFT, padx=10)

        self.imgImport = Button(self.row2,
                                text="Import Image",
                                command=self.importImage)
        self.imgImport.pack(anchor=W, side=RIGHT, padx=10)

        self.categorie = Label(self.row2, text="/img/novýObrázok1 ")
        self.categorie.pack(anchor=W, side=RIGHT, padx=10)

        self.row3 = Frame(self.addF)
        self.row3.pack(side=TOP, fill=X, pady=10)

        self.textHeader = Label(self.row3, text="Text článku:")
        self.textHeader.pack(anchor=W, side=LEFT)

        self.textHeader = Button(self.row3,
                                 text="Moore",
                                 command=self.styleFonte)
        self.textHeader.pack(anchor=W, side=RIGHT, padx=(0, 5), pady=5)

        self.textHeader = Button(self.row3,
                                 text="Font",
                                 command=self.styleFonte)
        self.textHeader.pack(anchor=W, side=RIGHT, padx=(0, 5), pady=5)

        self.textHeader = Button(self.row3, text="U", command=self.styleFonte)
        self.textHeader.pack(anchor=W, side=RIGHT, padx=(0, 5), pady=5)

        self.textHeader = Button(self.row3, text="I", command=self.styleFonte)
        self.textHeader.pack(anchor=W, side=RIGHT, padx=(0, 5), pady=5)

        self.textHeader = Button(self.row3, text="B", command=self.styleFonte)
        self.textHeader.pack(anchor=W, side=RIGHT, padx=(0, 5), pady=5)

        self.text = Text(self.addF, height=10)
        self.text.pack(side=TOP, fill=X, padx=8, pady=8)

        self.row4 = Frame(self.addF)
        self.row4.pack(side=TOP, fill=X, pady=10)

        self.extraOptions = LabelFrame(self.row4, text="Extra Options")
        self.extraOptions.pack(padx=5,
                               pady=5,
                               fill=BOTH,
                               expand=True,
                               side=LEFT)

        self.var1 = IntVar()
        self.lab1 = Label(self.extraOptions, text="Ukáž autorov")
        self.c1 = Checkbutton(self.extraOptions, variable=self.var1)

        self.c1.pack(padx=5, pady=5, side=LEFT)
        self.lab1.pack(padx=5, pady=5, side=LEFT)

        self.var2 = IntVar()
        self.lab2 = Label(self.extraOptions, text="Povoľ Komentáre")
        self.c2 = Checkbutton(self.extraOptions, variable=self.var2)

        self.c2.pack(padx=5, pady=5, side=LEFT)
        self.lab2.pack(padx=5, pady=5, side=LEFT)

        self.extraOptions = Frame(self.row4)
        self.extraOptions.pack(padx=5,
                               pady=5,
                               fill=BOTH,
                               expand=True,
                               side=RIGHT)

        self.row1 = Frame(self.extraOptions)
        self.row1.pack(side=TOP)

        self.dateLabel = Label(self.row1, text="Publikovať: ")
        self.dateLabel.pack(side=LEFT)

        v = StringVar(root, value='dd/yy/mm ss/mm/hh')
        self.dd = Entry(self.row1, textvariable=v)
        self.dd.pack(side=LEFT, padx=15)

        self.row2 = Frame(self.extraOptions)
        self.row2.pack(side=TOP, anchor=SE)

        self.nahlad = Button(self.row2, text="Náhľad", command=self.nahlad)
        self.nahlad.pack(anchor=E, side=RIGHT, padx=(0, 15), pady=10)

        self.publikovat = Button(self.row2,
                                 text="Publikovať",
                                 command=self.public)
        self.publikovat.pack(anchor=E, side=RIGHT, padx=(0, 15), pady=10)
Esempio n. 5
0
 def __init__(self, path="", **options):
     self.glos = Glossary(ui=self)
     self.pref = {}
     self.pref_load(**options)
     #############################################
     rootWin = self.rootWin = tix.Tk()
     tix.Frame.__init__(self, rootWin)
     rootWin.title("PyGlossary (Tkinter)")
     rootWin.resizable(True, False)
     ########
     set_window_icon(rootWin)
     ########
     self.pack(fill="x")
     # rootWin.bind("<Configure>", self.resized)
     ######################
     self.glos = Glossary(ui=self)
     self.pref = {}
     self.pref_load()
     self.pathI = ""
     self.pathO = ""
     self.fcd_dir = join(homeDir, "Desktop")
     ######################
     vpaned = tk.PanedWindow(self, orient=tk.VERTICAL)
     notebook = tix.NoteBook(vpaned)
     notebook.add("tab1", label="Convert", underline=0)
     notebook.add("tab2", label="Reverse", underline=0)
     convertFrame = tix.Frame(notebook.tab1)
     ######################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="Read from format")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc)
     # comboVar.set(Glossary.readDesc[0])
     comboVar.set(noneItem)
     combo.pack(side="left")
     self.combobox_i = comboVar
     ##
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="  Path:")
     label.pack(side="left")
     ##
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     entry.bind_all("<KeyPress>", self.entry_changed)
     self.entry_i = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.browse_i,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     frame.pack(fill="x")
     ######################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="Write to format    ")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.writeDesc)
     # comboVar.set(Glossary.writeDesc[0])
     comboVar.set(noneItem)
     combo.pack(side="left")
     combo.bind("<Configure>", self.combobox_o_changed)
     self.combobox_o = comboVar
     ##
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="  Path:")
     label.pack(side="left")
     ##
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     # entry.bind_all("<KeyPress>", self.entry_changed)
     self.entry_o = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.browse_o,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     frame.pack(fill="x")
     #######
     frame = tix.Frame(convertFrame)
     label = tix.Label(frame, text=" " * 15)
     label.pack(
         side="left",
         fill="x",
         expand=True,
     )
     button = tix.Button(
         frame,
         text="Convert",
         command=self.convert,
         # bg="#00e000",
         # activebackground="#22f022",
     )
     button.pack(
         side="left",
         fill="x",
         expand=True,
     )
     ###
     frame.pack(fill="x")
     ######
     convertFrame.pack(fill="x")
     vpaned.add(notebook)
     #################
     console = tix.Text(vpaned, height=15, background="#000000")
     # self.consoleH = 15
     # sbar = Tix.Scrollbar(
     #	vpaned,
     #	orien=Tix.VERTICAL,
     #	command=console.yview
     # )
     # sbar.grid ( row=0, column=1)
     # console["yscrollcommand"] = sbar.set
     # console.grid()
     console.pack(fill="both", expand=True)
     log.addHandler(TkTextLogHandler(console), )
     console.insert("end", "Console:\n")
     ####
     vpaned.add(console)
     vpaned.pack(fill="both", expand=True)
     self.console = console
     ##################
     frame2 = tix.Frame(self)
     clearB = tix.Button(
         frame2,
         text="Clear",
         command=self.console_clear,
         # bg="black",
         # fg="#ffff00",
         # activebackground="#333333",
         # activeforeground="#ffff00",
     )
     clearB.pack(side="left")
     ####
     label = tix.Label(frame2, text="Verbosity")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(
         frame2,
         comboVar,
         0,
         1,
         2,
         3,
         4,
     )
     comboVar.set(log.getVerbosity())
     comboVar.trace("w", self.verbosityChanged)
     combo.pack(side="left")
     self.verbosityCombo = comboVar
     #####
     pbar = ProgressBar(frame2, width=400)
     pbar.pack(side="left", fill="x", expand=True)
     self.pbar = pbar
     frame2.pack(fill="x")
     self.progressTitle = ""
     #############
     # vpaned.grid()
     # bottomFrame.grid()
     # self.grid()
     #####################
     # lbox = Tix.Listbox(convertFrame)
     # lbox.insert(0, "aaaaaaaa", "bbbbbbbbbbbbbbbbbbbb")
     # lbox.pack(fill="x")
     ##############
     frame3 = tix.Frame(self)
     aboutB = tix.Button(
         frame3,
         text="About",
         command=self.about_clicked,
         # bg="#e000e0",
         # activebackground="#f030f0",
     )
     aboutB.pack(side="right")
     closeB = tix.Button(
         frame3,
         text="Close",
         command=self.quit,
         # bg="#ff0000",
         # activebackground="#ff5050",
     )
     closeB.pack(side="right")
     frame3.pack(fill="x")
     # __________________________ Reverse Tab __________________________ #
     revFrame = tix.Frame(notebook.tab2)
     revFrame.pack(fill="x")
     ######################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text="Read from format")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc)
     # comboVar.set(Glossary.readDesc[0])
     comboVar.set(noneItem)
     combo.pack(side="left")
     self.combobox_r_i = comboVar
     ##
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text="  Path:")
     label.pack(side="left")
     ##
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
     self.entry_r_i = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.r_browse_i,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     button = tix.Button(
         frame,
         text="Load",
         command=self.r_load,
         # bg="#7777ff",
     )
     button.pack(side="left")
     ###
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text="Output Tabfile")
     label.pack(side="left")
     ###
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
     self.entry_r_o = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.r_browse_o,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     frame.pack(fill="x")
     ##############################
     if path:
         self.entry_i.insert(0, path)
         self.entry_changed()
         self.load()
Esempio n. 6
0
    def createWidgets(self):
        ## Tix tix for python 3
        if (pythVers < 3):
            self.nb = Tix.NoteBook(self)
        else:
            self.nb = tix.NoteBook(self)
        self.nb.add('appr',
                    label='APPR',
                    raisecmd=lambda self=self: self.update_page())
        self.nb.add('cruz',
                    label='CRSE',
                    raisecmd=lambda self=self: self.update_page())
        self.nb.add('wing',
                    label='WING',
                    raisecmd=lambda self=self: self.update_page())
        self.nb.add('hstb',
                    label='HSTB',
                    raisecmd=lambda self=self: self.update_page())
        self.nb.add('vstb',
                    label='VSTB',
                    raisecmd=lambda self=self: self.update_page())
        self.nb.add('ball',
                    label='BALL',
                    raisecmd=lambda self=self: self.update_page())
        self.nb.add('prop',
                    label='PROP',
                    raisecmd=lambda self=self: self.update_page())
        #
        page = PropertyPage(self.nb.appr)
        self.pages['appr'] = page
        page.addField(Va, 'ApprSpd:')
        page.addField(Aa, 'ApprAoA:')
        page.addField(Ka, 'ApprFuel:')
        page.addField(Ra, 'ApprThrt:')
        page.addField(Fa, 'ApprFlap:')
        page.addField(Vy, 'SolveAtSpd:')
        page.addField(Hy, 'SolveAtAlt:')
        #
        page = PropertyPage(self.nb.cruz)
        self.pages['cruz'] = page
        page.addField(Vc, 'CruiseSpd:')
        page.addField(Hc, 'CruiseAlt:')
        page.addField(Kc, 'CruiseFuel:')
        page.addField(Rc, 'CruiseThrt:')
        #
        page = PropertyPage(self.nb.wing)
        self.pages['wing'] = page
        page.addField(Cw, 'WingCambr:')
        page.addField(Iw, 'WingIDrag:')
        page.addField(Aw, 'WingStAoA:')
        page.addField(Ww, 'WingStWid:')
        page.addField(Pw, 'WingStlPk:')
        page.addField(Lf, 'WFlapLift:')
        page.addField(Df, 'WFlapDrag:')
        page.addField(Lr, 'AilrnLift:')
        page.addField(Dr, 'AilrnDrag:')
        #
        page = PropertyPage(self.nb.hstb)
        self.pages['hstb'] = page
        page.addField(Ch, 'HstbCambr:')
        page.addField(Ih, 'HstbIDrag:')
        page.addField(Ah, 'HstbStAoA:')
        page.addField(Wh, 'HstbStWid:')
        page.addField(Ph, 'HstbStlPk:')
        page.addField(Lh, 'HFlapLift:')
        page.addField(Dh, 'HFlapDrag:')
        #
        page = PropertyPage(self.nb.vstb)
        self.pages['vstb'] = page
        page.addField(Cv, 'VstbCambr:')
        page.addField(Iv, 'VstbIDrag:')
        page.addField(Av, 'VstbStAoA:')
        page.addField(Wv, 'VstbStWid:')
        page.addField(Pv, 'VstbStlPk:')
        page.addField(Lv, 'VFlapLift:')
        page.addField(Dv, 'VFlapDrag:')
        #
        page = PropertyPage(self.nb.ball)
        self.pages['ball'] = page
        page.addField(Mb, 'BallMass :')
        page.addField(Xb, 'BallXloc :')
        page.addField(Yb, 'BallYloc :')
        page.addField(Zb, 'BallZloc :')
        #
        page = PropertyPage(self.nb.prop)
        self.pages['prop'] = page
        page.addField(Mp, 'PropMass :')
        page.addField(Rp, 'PropRadi :')
        page.addField(Ap, 'PropMomt :')
        page.addField(Np, 'PropMinR :')
        page.addField(Xp, 'PropMaxR :')
        page.addField(Ip, 'PropFine :')
        page.addField(Op, 'PropCoar :')
        page.addField(Vp, 'PropCSpd :')
        page.addField(Cp, 'PropCRpm :')
        page.addField(Tp, 'PropTRpm :')
        #
        ## Tix tix for python 3
        if (pythVers < 3):
            self.nb.pack(expand=1, fill=Tix.BOTH, padx=5, pady=5, side=Tix.TOP)
        else:
            self.nb.pack(expand=1, fill=tix.BOTH, padx=5, pady=5, side=tix.TOP)

        ## Tix tix for python 3
        if (pythVers < 3):
            self.QUIT = Tix.Button(self)
        else:
            self.QUIT = tix.Button(self)
        self.QUIT['text'] = 'Quit'
        self.QUIT['command'] = self.quitCmd
        self.QUIT.pack({"side": "right"})

        ## Tix tix for python 3
        if (pythVers < 3):
            self.PLOT = Tix.Button(self)
        else:
            self.PLOT = tix.Button(self)
        self.PLOT['text'] = 'Plot'
        self.PLOT['command'] = self.plotCmd
        self.PLOT.pack({"side": "left"})
Esempio n. 7
0
    def __init__(self):
        rootWin = self.rootWin = tix.Tk()
        # a hack that hides the window until we move it to the center of screen
        if os.sep == "\\":  # Windows
            rootWin.attributes('-alpha', 0.0)
        else:  # Linux
            rootWin.withdraw()
        tix.Frame.__init__(self, rootWin)
        UIBase.__init__(self)
        rootWin.title("PyGlossary (Tkinter)")
        rootWin.resizable(True, False)
        ########
        set_window_icon(rootWin)
        rootWin.bind('<Escape>', lambda e: rootWin.quit())
        #########
        # Linux: ('clam', 'alt', 'default', 'classic')
        # Windows: ('winnative', 'clam', 'alt', 'default', 'classic', 'vista', 'xpnative')
        # style = ttk.Style()
        # style.theme_use("default")
        ########
        self.pack(fill="x")
        # rootWin.bind("<Configure>", self.resized)
        #######################
        defaultFont = tkFont.nametofont('TkDefaultFont')
        if core.sysName in ("linux", "freebsd"):
            defaultFont.configure(size=int(defaultFont.cget("size") * 1.4))
        ####
        self.biggerFont = defaultFont.copy()
        self.biggerFont.configure(size=int(defaultFont.cget("size") * 1.8))
        ######################
        self.glos = Glossary(ui=self)
        self.glos.config = self.config
        self._convertOptions = {}
        self.pathI = ""
        self.pathO = ""
        fcd_dir = join(homeDir, "Desktop")
        if isfile(self.fcd_dir_save_path):
            try:
                with open(self.fcd_dir_save_path, encoding="utf-8") as fp:
                    fcd_dir = fp.read().strip("\n")
            except Exception:
                log.exception("")
        self.fcd_dir = fcd_dir
        ######################
        notebook = tix.NoteBook(self)
        notebook.add("tabConvert", label="Convert", underline=0)
        # notebook.add("tabReverse", label="Reverse", underline=0)
        notebook.add("tabAbout", label="About", underline=0)
        convertFrame = tix.Frame(notebook.tabConvert)
        aboutFrame = tix.Frame(notebook.tabAbout)
        ###################
        row = 0
        label = ttk.Label(convertFrame, text="Input File: ")
        label.grid(
            row=row,
            column=0,
            sticky=tk.W,
            padx=5,
        )
        ##
        entry = tix.Entry(convertFrame)
        entry.grid(
            row=row,
            column=1,
            columnspan=2,
            sticky=tk.W + tk.E,
            padx=0,
        )
        entry.bind_all("<KeyPress>", self.anyEntryChanged)
        self.entryInputConvert = entry
        ##
        button = newButton(
            convertFrame,
            text="Browse",
            command=self.browseInputConvert,
            # bg="#f0f000",
            # activebackground="#f6f622",
            borderwidth=3,
        )
        button.grid(
            row=row,
            column=3,
            sticky=tk.W + tk.E,
            padx=5,
        )
        ######################
        row += 1
        label = ttk.Label(convertFrame, text="Input Format: ")
        label.grid(
            row=row,
            column=0,
            sticky=tk.W,
            padx=5,
        )
        ##
        self.formatButtonInputConvert = FormatButton(
            master=convertFrame,
            descList=readDesc,
            dialogTitle="Select Input Format",
            onChange=self.inputFormatChanged,
        )
        self.formatButtonInputConvert.grid(
            row=row,
            column=1,
            columnspan=2,
            sticky=tk.W,
            padx=0,
        )
        ##
        self.readOptions = {}  # type: Dict[str, Any]
        self.writeOptions = {}  # type: Dict[str, Any]
        ##
        self.readOptionsButton = FormatOptionsButton(
            "Read",
            self.readOptions,
            self.formatButtonInputConvert,
            master=convertFrame,
        )
        self.inputFormatRow = row
        ######################
        row += 1
        label = ttk.Label(convertFrame)
        label.grid(
            row=row,
            column=0,
            sticky=tk.W,
        )
        ###################
        row += 1
        label = ttk.Label(convertFrame, text="Output File: ")
        label.grid(
            row=row,
            column=0,
            sticky=tk.W,
            padx=5,
        )
        ##
        entry = tix.Entry(convertFrame)
        entry.grid(
            row=row,
            column=1,
            columnspan=2,
            sticky=tk.W + tk.E,
            padx=0,
        )
        entry.bind_all("<KeyPress>", self.anyEntryChanged)
        self.entryOutputConvert = entry
        ##
        button = newButton(
            convertFrame,
            text="Browse",
            command=self.browseOutputConvert,
            # bg="#f0f000",
            # activebackground="#f6f622",
            borderwidth=3,
        )
        button.grid(
            row=row,
            column=3,
            sticky=tk.W + tk.E,
            padx=5,
        )
        ######################
        row += 1
        label = ttk.Label(convertFrame, text="Output Format: ")
        label.grid(
            row=row,
            column=0,
            sticky=tk.W,
            padx=5,
        )
        ##
        self.formatButtonOutputConvert = FormatButton(
            master=convertFrame,
            descList=writeDesc,
            dialogTitle="Select Output Format",
            onChange=self.outputFormatChanged,
        )
        self.formatButtonOutputConvert.grid(
            row=row,
            column=1,
            columnspan=2,
            sticky=tk.W,
            padx=0,
        )
        ##
        self.writeOptionsButton = FormatOptionsButton(
            "Write",
            self.writeOptions,
            self.formatButtonOutputConvert,
            master=convertFrame,
        )
        self.outputFormatRow = row
        ###################
        row += 1
        button = newButton(
            convertFrame,
            text="Convert",
            command=self.convert,
            # background="#00e000",
            # activebackground="#22f022",
            borderwidth=7,
            font=self.biggerFont,
            padx=5,
            pady=5,
        )
        button.grid(
            row=row,
            column=2,
            columnspan=3,
            sticky=tk.W + tk.E + tk.S,
            padx=5,
            pady=5,
        )
        # print(f"row number for Convert button: {row}")
        ######
        convertFrame.pack(fill="x")
        # convertFrame.grid(sticky=tk.W + tk.E + tk.N + tk.S)
        #################
        row += 1
        console = tix.Text(
            convertFrame,
            height=15,
            background="#000",
            foreground="#fff",
        )
        console.bind("<Key>", self.consoleKeyPress)
        # self.consoleH = 15
        # sbar = Tix.Scrollbar(
        # 	convertFrame,
        # 	orien=Tix.VERTICAL,
        # 	command=console.yview
        # )
        # sbar.grid (row=row, column=1)
        # console["yscrollcommand"] = sbar.set
        console.grid(
            row=row,
            column=0,
            columnspan=4,
            sticky=tk.W + tk.E,
            padx=5,
            pady=0,
        )
        log.addHandler(TkTextLogHandler(console), )
        console.insert("end", "Console:\n")
        ####
        self.console = console
        ##################
        aboutFrame2 = tix.Frame(aboutFrame)
        ##
        label = newLabelWithImage(aboutFrame2, file=logo)
        label.pack(side="left")
        ##
        ##
        label = ttk.Label(aboutFrame2,
                          text=f"PyGlossary\nVersion {core.VERSION}")
        label.pack(side="left")
        ##
        aboutFrame2.pack(side="top", fill="x")
        ##
        style = ttk.Style(self)
        style.configure("TNotebook", tabposition="wn")
        # ws => to the left (west) and to the bottom (south)
        # wn => to the left (west) and at top
        aboutNotebook = ttk.Notebook(aboutFrame, style="TNotebook")

        aboutFrame3 = tk.Frame(aboutNotebook)
        authorsFrame = tk.Frame(aboutNotebook)
        licenseFrame = tk.Frame(aboutNotebook)

        # tabImg = tk.PhotoImage(file=join(resDir, "dialog-information-22.png"))
        # tabImg = tk.PhotoImage(file=join(resDir, "author-22.png"))

        aboutNotebook.add(
            aboutFrame3,
            text="\n About  \n",
            # image=tabImg, # not working
            # compound=tk.TOP,
            # padding=50, # not working
        )
        aboutNotebook.add(
            authorsFrame,
            text="\nAuthors\n",
        )
        aboutNotebook.add(
            licenseFrame,
            text="\nLicense\n",
        )

        label = newReadOnlyText(
            aboutFrame3,
            text=f"{aboutText}\nHome page: {core.homePage}",
            font=("DejaVu Sans", 11, ""),
        )
        label.pack(fill="x")

        authorsText = "\n".join(authors)
        authorsText = authorsText.replace("\t", "    ")
        label = newReadOnlyText(
            authorsFrame,
            text=authorsText,
            font=("DejaVu Sans", 11, ""),
        )
        label.pack(fill="x")

        label = newReadOnlyText(
            licenseFrame,
            text=licenseText,
            font=("DejaVu Sans", 11, ""),
        )
        label.pack(fill="x")

        aboutNotebook.pack(fill="x")

        aboutFrame.pack(fill="x")

        ######################
        tk.Grid.columnconfigure(convertFrame, 0, weight=1)
        tk.Grid.columnconfigure(convertFrame, 1, weight=30)
        tk.Grid.columnconfigure(convertFrame, 2, weight=20)
        tk.Grid.columnconfigure(convertFrame, 3, weight=1)
        tk.Grid.rowconfigure(convertFrame, 0, weight=50)
        tk.Grid.rowconfigure(convertFrame, 1, weight=50)
        tk.Grid.rowconfigure(convertFrame, 2, weight=1)
        tk.Grid.rowconfigure(convertFrame, 3, weight=50)
        tk.Grid.rowconfigure(convertFrame, 4, weight=50)
        tk.Grid.rowconfigure(convertFrame, 5, weight=1)
        tk.Grid.rowconfigure(convertFrame, 6, weight=50)

        # _________________________________________________________________ #

        notebook.pack(fill="both", expand=True)

        # _________________________________________________________________ #

        statusBarframe = tk.Frame(self, borderwidth=3)
        clearB = newButton(
            statusBarframe,
            text="Clear",
            command=self.console_clear,
            # bg="black",
            # fg="#ffff00",
            # activebackground="#333333",
            # activeforeground="#ffff00",
            borderwidth=3,
            height=2,
        )
        clearB.pack(side="left")
        ####
        label = ttk.Label(statusBarframe, text="Verbosity")
        label.pack(side="left")
        ##
        comboVar = tk.StringVar()
        combo = ttk.OptionMenu(
            statusBarframe,
            comboVar,
            log.getVerbosity(),  # default
            0,
            1,
            2,
            3,
            4,
            5,
        )
        comboVar.trace("w", self.verbosityChanged)
        combo.pack(side="left")
        self.verbosityCombo = comboVar
        #####
        pbar = ProgressBar(statusBarframe, width=700, height=28)
        pbar.pack(side="left", fill="x", expand=True)
        self.pbar = pbar
        statusBarframe.pack(fill="x")
        self.progressTitle = ""
        # _________________________________________________________________ #

        centerWindow(rootWin)
        # show the window
        if os.sep == "\\":  # Windows
            rootWin.attributes('-alpha', 1.0)
        else:  # Linux
            rootWin.deiconify()
Esempio n. 8
0
import tkinter.tix as tix
import tkinter.messagebox as mb

top = tix.Tk()

nb = tix.NoteBook(top, width=300, height=200)
nb.pack(expand=True, fill='both')

nb.add('page1', label="Text")
f1 = tix.Frame(nb.subwidget('page1'))
st = tix.ScrolledText(f1)
st.subwidget('text').insert("1.0", "Here is where the text goes...")
st.pack(expand=True)

nb.add('page2', label="Message Boxes")
f2 = tix.Frame(nb.subwidget('page2'))
tix.Button(
    f2,
    text="error",
    bg="lightblue",
    command=lambda t="error", m="This is bad!": mb.showerror(t, m)).pack(
        fill='x', expand=True)
tix.Button(f2,
           text="info",
           bg='pink',
           command=lambda t="info", m="Information": mb.showinfo(t, m)).pack(
               fill='x', expand=True)
tix.Button(
    f2,
    text="warning",
    bg='yellow',
Esempio n. 9
0
    def __init__(
        self,
        root,
        *args,
        **kwargs,
    ):
        # menu
        self.menu = Menu(root)

        self.filemenu = Menu(self.menu, tearoff=0)
        self.showmenu = Menu(self.menu, tearoff=0)
        self.settingmenu = Menu(self.menu, tearoff=0)
        self.helpmenu = Menu(self.menu, tearoff=0)
        self.menu.add_cascade(label="File", menu=self.filemenu)
        self.menu.add_cascade(label="Display", menu=self.showmenu)
        self.menu.add_cascade(label="Options", menu=self.settingmenu)
        self.menu.add_cascade(label="Help", menu=self.helpmenu)

        self.filemenu.add_command(label="New")
        self.filemenu.add_command(label="Open")
        self.filemenu.add_command(label="Import")
        self.filemenu.add_command(label="Export")
        self.filemenu.add_separator()
        self.filemenu.add_command(label="Quit")

        self.showmenu.add_command(label="Full screen")
        self.showmenu.add_command(label="Edit")
        self.showmenu.add_command(label="Tools")
        self.showmenu.add_command(label="Navigation")

        self.settingmenu.add_command(label="Toolbars")
        self.settingmenu.add_separator()
        self.settingmenu.add_command(label="Server")

        self.helpmenu.add_command(label="Find Action")
        self.helpmenu.add_separator()
        self.helpmenu.add_command(label="About")

        root.config(menu=self.menu)

        #NOTEBOOK

        self.note = tix.NoteBook(root)
        self.note.add("page1", label="Options")
        self.note.add("page2", label="Friends")
        self.note.add("page3", label="Game")

        self.p1 = self.note.subwidget_list["page1"]
        self.p2 = self.note.subwidget_list["page2"]
        self.p3 = self.note.subwidget_list["page3"]

        self.note.pack(expand=1, fill=BOTH)

        self.bigFrame = Frame(self.p1)
        self.bigFrame.pack(fill=BOTH, expand=1, side=TOP)

        #doubleFrame2
        self.doubleFrame2 = Frame(self.bigFrame)
        self.doubleFrame2.pack(padx=5, pady=5, fill=BOTH, expand=1, side=TOP)

        #page1
        self.screenF = LabelFrame(self.doubleFrame2, text="Screen")
        self.screenF.pack(padx=5, pady=5, fill=BOTH, expand=1, side=LEFT)

        self.resF = LabelFrame(self.doubleFrame2, text="Resolution")
        self.resF.pack(padx=5, pady=5, fill=BOTH, side=RIGHT, expand=1)

        #resolution

        self.mlb1 = table.MultiListbox(self.resF,
                                       (('Resolution', 20), ('Type', 20)))
        for i in range(len(resolution)):
            self.mlb1.insert(END, (resolution[i][0], resolution[i][1]))
        self.mlb1.pack(expand=YES, fill=BOTH, padx=10, pady=10)
        self.mlb1.subscribe(lambda row: self.edit(row))

        #screen
        self.AA = StringVar()

        self.AntiA = Label(self.screenF, text='Anti Aliasing :')
        self.AntiA.grid(row=0, column=0)

        self.x2 = Radiobutton(self.screenF,
                              text="2X",
                              variable=self.AA,
                              value="2X")
        self.x2.grid(row=1, column=0)

        self.x4 = Radiobutton(self.screenF,
                              text="4X",
                              variable=self.AA,
                              value="4X")
        self.x4.grid(row=1, column=1)

        self.x8 = Radiobutton(self.screenF,
                              text="8X",
                              variable=self.AA,
                              value="8X")
        self.x8.grid(row=1, column=2)

        self.x16 = Radiobutton(self.screenF,
                               text="16X",
                               variable=self.AA,
                               value="16X")
        self.x16.grid(row=1, column=3)

        self.tmp = IntVar()
        self.lab = Label(self.screenF, text="Volumetric Lightening")
        self.lab.grid(row=2, column=0)
        self.c = Checkbutton(self.screenF, variable=self.tmp)
        self.c.grid(row=2, column=2)

        self.tmp1 = IntVar()
        self.lab1 = Label(self.screenF, text="Dynamic Shadows")
        self.lab1.grid(row=3, column=0)
        self.c = Checkbutton(self.screenF, variable=self.tmp1)
        self.c.grid(row=3, column=2)

        self.lab2 = Label(self.screenF, text="Field of view")
        self.lab2.grid(row=4, column=0)
        self.w = Scale(self.screenF, from_=90, to=130, orient=HORIZONTAL)
        self.w.grid(row=4, column=2)

        #doubleframe
        self.doubleFrame = Frame(self.bigFrame)
        self.doubleFrame.pack(padx=5, pady=5, fill=BOTH, expand=1, side=BOTTOM)

        #movement
        self.frame4 = LabelFrame(self.doubleFrame, text="Movement")
        self.frame4.pack(padx=5, pady=5, fill=BOTH, expand=1, side=RIGHT)

        self.movef = Label(self.frame4, text='Move Forward :')
        self.movef.grid(row=0, column=0, padx=4, pady=4)
        self.movefE = Entry(self.frame4)
        self.movefE.grid(row=0, column=1, padx=4, pady=4)

        self.mover = Label(self.frame4, text='Move Right :')
        self.mover.grid(row=1, column=0, padx=4, pady=4)
        self.moverE = Entry(self.frame4)
        self.moverE.grid(row=1, column=1, padx=4, pady=4)

        self.movel = Label(self.frame4, text='Move Left :')
        self.movel.grid(row=2, column=0, padx=4, pady=4)
        self.movelE = Entry(self.frame4)
        self.movelE.grid(row=2, column=1, padx=4, pady=4)

        self.moveb = Label(self.frame4, text='Move Back :')
        self.moveb.grid(row=3, column=0, padx=4, pady=4)
        self.movebE = Entry(self.frame4)
        self.movebE.grid(row=3, column=1, padx=4, pady=4)

        self.jump = Label(self.frame4, text='Jump :')
        self.jump.grid(row=4, column=0, padx=4, pady=4)
        self.jumpE = Entry(self.frame4)
        self.jumpE.grid(row=4, column=1, padx=4, pady=4)

        self.crouch = Label(self.frame4, text='Crouch :')
        self.crouch.grid(row=4, column=0, padx=4, pady=4)
        self.crouchE = Entry(self.frame4)
        self.crouchE.grid(row=4, column=1, padx=4, pady=4)

        #abilities
        self.frame42 = LabelFrame(self.doubleFrame, text="Weapon Abilities")
        self.frame42.pack(padx=5, pady=5, fill=BOTH, expand=1, side=LEFT)

        self.tacAb = Label(self.frame42, text='Tactical Ability :')
        self.tacAb.grid(row=0, padx=4, pady=4)
        self.tacAbE = Entry(self.frame42)
        self.tacAbE.grid(row=0, column=1, padx=4, pady=4)

        self.ultAb = Label(self.frame42, text='Ultimate Ability :')
        self.ultAb.grid(row=1, column=0, padx=4, pady=4)
        self.ultAbE = Entry(self.frame42)
        self.ultAbE.grid(row=1, column=1, padx=4, pady=4)

        self.zoomb = Label(self.frame42, text='Zoom :')
        self.zoomb.grid(row=2, column=0, padx=4, pady=4)
        self.zoomE = Entry(self.frame42)
        self.zoomE.grid(row=2, column=1, padx=4, pady=4)

        self.shoot = Label(self.frame42, text='Shoot :')
        self.shoot.grid(row=3, column=0, padx=4, pady=4)
        self.shootE = Entry(self.frame42)
        self.shootE.grid(row=3, column=1, padx=4, pady=4)

        self.steady = Label(self.frame42, text='Steady :')
        self.steady.grid(row=4, column=0, padx=4, pady=4)
        self.steadyE = Entry(self.frame42)
        self.steadyE.grid(row=4, column=1, padx=4, pady=4)

        #save
        self.buttonFrame = Frame(self.p1)
        self.buttonFrame.pack(padx=5, pady=5, expand=1, fill=BOTH)

        self.buttonsframe = Frame(self.buttonFrame)
        self.buttonsframe.pack()
        self.cancelB = Button(self.buttonsframe,
                              text="Koniec",
                              command=self.exit)
        self.cancelB.grid(row=0, column=0)

        self.saveB = Button(self.buttonsframe,
                            text="Ulozit",
                            command=self.save)
        self.saveB.grid(row=0, column=2)

        #page2
        self.row = IntVar()
        self.row = None
        self.name = StringVar()
        self.level = StringVar()

        self.mlb = table.MultiListbox(self.p2, (('Nick', 20), ('Level', 20)))
        for i in range(len(data)):
            self.mlb.insert(END, (data[i][0], data[i][1]))
        self.mlb.pack(expand=YES, fill=BOTH, padx=10, pady=10)
        self.mlb.subscribe(lambda row: self.edit(row))

        self.nb = tix.NoteBook(self.p2)
        self.nb.add("page1", label="Pridať")
        self.nb.add("page2", label="Chat")
        self.p11 = self.nb.subwidget_list["page1"]
        self.p22 = self.nb.subwidget_list["page2"]
        self.nb.pack(fill="both", expand=1, padx=4, pady=4, ipadx=4, ipady=4)

        self.tab1 = Frame(self.p11)
        self.tab1.pack(fill="both", expand=1)

        self.nick = Label(self.tab1, text="Nick ")
        self.nick.grid(row=0)
        self.nicke = Entry(self.tab1)
        self.nicke.grid(row=0, column=1)

        #page2,2
        self.send = Button(self.p22, text="Send")
        self.send.grid(row=0, column=0, sticky=W + E)
        input_text_area = Text(self.p22)
        input_text_area.grid(row=1, column=0, sticky=W + E)
        input_text_area.configure(background='#4D4D4D')

        #save
        self.newBu = Button(self.tab1, text="Novy zaznam", command=self.new)
        self.newBu.grid(row=0, column=3)

        #page3
        self.page3Frame = Frame(self.p3)
        self.page3Frame.pack()

        self.startB = Button(self.page3Frame,
                             text="Start Game",
                             command=self.hello)
        self.startB.pack()
Esempio n. 10
0
    def __init__(self, master):
        self.master = master
        # Define variables
        self.row = IntVar()
        self.row = None
        self.jmeno = StringVar()
        self.prijmeni = StringVar()
        self.rc = StringVar()
        self.ulice = StringVar()
        self.cp = StringVar()
        self.mesto = StringVar()
        self.psc = StringVar()

        # Multi List Box
        self.multiListBox = table.MultiListbox(master, (('Jméno', 20),
                                                        ('Příjmení', 20),
                                                        ('Rodné číslo', 12)))
        # Insert data
        for i in range(len(data)):
            self.multiListBox.insert(END, (data[i][0], data[i][1], data[i][2]))

        self.multiListBox.pack(expand=YES, fill=BOTH, padx=10, pady=10)
        # Subscribe -> on click call edit on clicked row
        self.multiListBox.subscribe(lambda row: self.select(row))

        # Osobni udaje
        self.osobniUdajeFrame = Frame(master)
        self.osobniUdajeFrame.pack(padx=10, pady=20, side=TOP)
        # Jmeno
        self.jmenoLabel = Label(self.osobniUdajeFrame, text="Jméno:")
        self.jmenoLabel.grid(row=1, column=1)
        self.jmenoEntry = Entry(self.osobniUdajeFrame, width=20)
        self.jmenoEntry.grid(row=1, column=2)
        # Prijmeni
        self.prijmeniLabel = Label(self.osobniUdajeFrame, text="Příjmení:")
        self.prijmeniLabel.grid(row=2, column=1)
        self.prijmeniEntry = Entry(self.osobniUdajeFrame, width=20)
        self.prijmeniEntry.grid(row=2, column=2)
        # Rodne cislo
        self.rodneCisloLabel = Label(self.osobniUdajeFrame,
                                     text="Rodné číslo:")
        self.rodneCisloLabel.grid(row=3, column=1)
        self.rodneCisloEntry = Entry(self.osobniUdajeFrame, width=13)
        self.rodneCisloEntry.grid(row=3, column=2, sticky=W)

        # Note Book
        self.noteBook = tix.NoteBook(master)
        self.noteBook.add("adresaPage", label="Adresa")
        self.noteBook.add("poznamkaPage", label="Poznámka")
        # Adresa subwidgets
        self.adresaPage = self.noteBook.subwidget_list["adresaPage"]
        # Poznamka subwidgets
        self.poznamkaPage = self.noteBook.subwidget_list["poznamkaPage"]

        self.noteBook.pack(fill=BOTH, side=TOP)

        # ADRESA
        self.adresaLabelFrame = LabelFrame(self.adresaPage, text="Adresa")
        self.adresaLabelFrame.pack(fill=BOTH, side=TOP)

        self.adresaFrame = Frame(self.adresaLabelFrame, padx=10, pady=10)
        self.adresaFrame.pack(side=TOP, expand=1)

        self.uliceLabel = Label(self.adresaFrame,
                                text="Ulice: ",
                                padx=4,
                                pady=4)
        self.uliceLabel.grid(row=1, column=1)
        self.mestoLabel = Label(self.adresaFrame,
                                text="Město: ",
                                padx=4,
                                pady=4)
        self.mestoLabel.grid(row=2, column=1)
        self.pscLabel = Label(self.adresaFrame, text="PSČ: ", padx=4, pady=4)
        self.pscLabel.grid(row=3, column=1)
        self.cpLabel = Label(self.adresaFrame, text="č.p.", padx=10, pady=4)
        self.cpLabel.grid(row=1, column=3)

        self.uliceEntry = Entry(self.adresaFrame, width=15)
        self.uliceEntry.grid(row=1, column=2, sticky=W)
        self.mestoEntry = Entry(self.adresaFrame, width=20)
        self.mestoEntry.grid(row=2, column=2, sticky=W)
        self.pscEntry = Entry(self.adresaFrame, width=10)
        self.pscEntry.grid(row=3, column=2, sticky=W)
        self.cpEntry = Entry(self.adresaFrame, width=8)
        self.cpEntry.grid(row=1, column=4)

        # POZNAMKA
        self.poznamkaLabelFrame = LabelFrame(self.poznamkaPage,
                                             text="Poznámka")
        self.poznamkaLabelFrame.pack(fill=BOTH, expand=1, side=TOP)

        self.poznamkaEntry = Text(self.poznamkaLabelFrame, height=10)
        self.poznamkaEntry.pack()

        # Tlacitka
        self.buttonsFrame = Frame(master)
        self.buttonsFrame.pack(padx=10, pady=20)

        self.cancelButton = Button(self.buttonsFrame,
                                   text="Cancel",
                                   width=15,
                                   command=self.clear)
        self.cancelButton.pack(pady=10, side=LEFT)

        self.newRecordButton = Button(self.buttonsFrame,
                                      text="Nový záznam",
                                      width=15,
                                      command=self.newRecord)
        self.newRecordButton.pack(pady=10, side=LEFT)

        self.saveRecordButton = Button(self.buttonsFrame,
                                       text="Uložit záznam",
                                       width=15,
                                       command=self.saveRecord)
        self.saveRecordButton.pack(pady=10, side=LEFT)

        self.showDetailsButton = Button(self.buttonsFrame,
                                        text="Zobrazit detaily",
                                        width=15,
                                        command=self.showDetails)
        self.showDetailsButton.pack(pady=10, side=LEFT)
Esempio n. 11
0
    def __init__(self, master):
        self._row = IntVar()
        self._row = None
        self._jmeno = StringVar()
        self._surname = StringVar()
        self._birth_number = StringVar()
        self._street = StringVar()
        self._number = StringVar()
        self._city = StringVar()
        self._zip = StringVar()
        self._someText = StringVar()

        # menu - TODO

        self._menu = Menu(master)
        self._menu.add_command(label="Soubor", command=self.hello)
        self._menu.add_command(label="Nastavení", command=self.hello)
        self._menu.add_command(label="Nápověda", command=self.hello)

        master.config(menu=self._menu)

        self._menuRightClick = Menu(master)
        self._menuRightClick.add_command(label="Nový záznam",
                                         command=self._new)
        self._menuRightClick.add_command(label="Uložit záznam",
                                         command=self._save)
        self._menuRightClick.add_command(label="Konec",
                                         command=self._endProgram)

        def popup(event):
            self._menuRightClick.post(event.x_root, event.y_root)

        # -- New Button
        self._ImageButtonsFrame = Frame(master, relief=GROOVE)

        self._ImageButtonsFrame.bind("<Button-3>", popup)

        self._imageButtonNew = Button(self._ImageButtonsFrame,
                                      command=self._new)
        self._photoOne = PhotoImage(file="newfile.png")
        self._imageButtonNew.config(image=self._photoOne,
                                    width=100,
                                    height=100)
        self._imageButtonNew.pack(side=LEFT, padx=8, pady=1)

        # -- Save Button
        self._imageButtonSave = Button(self._ImageButtonsFrame,
                                       command=self._save,
                                       width=10,
                                       height=4)
        self._photoTwo = PhotoImage(file="savefile.png")
        self._imageButtonSave.config(image=self._photoTwo,
                                     width=100,
                                     height=100)
        self._imageButtonSave.pack(side=LEFT, padx=8, pady=1)

        self._ImageButtonsFrame.pack(fill=X, padx=8, pady=1)

        self._mlb = table.MultiListbox(master,
                                       (('Jméno', 20), ('Příjmení', 20),
                                        ('Rodné číslo', 12)))

        for i in range(len(data)):
            self._mlb.insert(END, (data[i][0], data[i][1], data[i][2]))
        self._mlb.pack(expand=YES, fill=BOTH, padx=10, pady=10)
        #self._mlb.subscribe( lambda row: self._edit( row ) )
        self._mlb.subscribe(self._edit)

        # form - TODO

        # -- Frame pro dalsi sekci
        self._frameAddNext = Frame(master, relief=GROOVE)
        self._frameAddNext.pack(fill=X, expand=1, padx=2, pady=2)

        # -- Frame pro pridani textu
        self._frameAddText = Frame(self._frameAddNext, relief=GROOVE)
        self._frameAddText.pack(fill=X, side=LEFT, expand=1, padx=2, pady=2)
        # -- Frame pro pridani inputu
        self._frameAddInput = Frame(self._frameAddNext, relief=GROOVE)
        self._frameAddInput.pack(fill=X, side=RIGHT, expand=1, padx=2, pady=2)

        # -- Frame pro jmeno
        self._frameAddInfo = Frame(self._frameAddText, relief=GROOVE)
        self._frameAddInfo.pack(side=RIGHT, padx=2, pady=2)
        # -- Text k jmenu
        self._labelName = Label(self._frameAddInfo, text="Jméno:")
        self._labelName.pack(padx=8, pady=1)
        # -- Text k prijmeni
        self._labelSurname = Label(self._frameAddInfo, text="Příjmeni:")
        self._labelSurname.pack(padx=8, pady=1)
        # -- Text k rodnemu cislu
        self._labelPIN = Label(self._frameAddInfo, text="Rodné číslo:")
        self._labelPIN.pack(padx=8, pady=1)

        # -- Frame pro jmeno
        self._frameAddData = Frame(self._frameAddInput, relief=GROOVE)
        self._frameAddData.pack(side=LEFT, padx=2, pady=2)
        # -- Misto k zapsani jmena
        self._inputName = Entry(self._frameAddData, width=14)
        self._inputName.pack(padx=8, pady=1)
        # -- Misto k zapsani prijmeni
        self._inputSurname = Entry(self._frameAddData, width=14)
        self._inputSurname.pack(padx=8, pady=1)
        # -- Misto k zapsani rodneho cisla
        self._inputPIN = Entry(self._frameAddData, width=14)
        self._inputPIN.pack(padx=8, pady=1)

        # tabs - TODO

        # -- Frame pro pridani inputu
        self._frameAddNoteBook = Frame(
            master,
            relief=GROOVE,
        )
        self._frameAddNoteBook.pack(fill=BOTH, expand=1, padx=2, pady=2)

        self.nb = tix.NoteBook(self._frameAddNoteBook)
        self.nb.add("page1", label="Adresa")
        self.nb.add("page2", label="Poznámka")
        self.p1 = self.nb.subwidget_list["page1"]
        self.p2 = self.nb.subwidget_list["page2"]
        self.nb.pack(expand=1, fill=BOTH)
        #A1
        self._adressFrame = Frame(self.p1, relief=GROOVE, borderwidth=2)
        # -- Frame pro prvni radek
        self._firstRow = Frame(self.p1, relief=GROOVE)
        self._addressLabel = Label(self._firstRow, text="Ulice:")
        self._addressLabel.pack(side=LEFT, padx=8, pady=1)
        self._addressInput = Entry(self._firstRow, width=14)
        self._addressInput.pack(side=LEFT, padx=8, pady=1)
        self._numberDescLabel = Label(self._firstRow, text="č.p.:")
        self._numberDescLabel.pack(expand=1, side=LEFT, padx=18, pady=1)
        self._numberDescInput = Entry(self._firstRow, width=14)
        self._numberDescInput.pack(expand=1, side=LEFT, padx=8, pady=1)
        self._firstRow.pack(fill=X, expand=1)
        # -- Frame pro druhy radek
        self._secondRow = Frame(self.p1, relief=GROOVE)
        self._cityLabel = Label(self._secondRow, text="Město:")
        self._cityLabel.pack(side=LEFT, padx=8, pady=1)
        self._cityInput = Entry(self._secondRow, width=14)
        self._cityInput.pack(side=LEFT, padx=8, pady=1)
        self._secondRow.pack(fill=X, expand=1)
        # -- Frame pro treti radek
        self._thirdRow = Frame(self.p1, relief=GROOVE)
        self._PSCLabel = Label(self._thirdRow, text="PSČ:")
        self._PSCLabel.pack(side=LEFT, padx=8, pady=1)
        self._PSCInput = Entry(self._thirdRow, width=14)
        self._PSCInput.pack(side=LEFT, padx=8, pady=1)
        self._thirdRow.pack(fill=X, expand=1)

        self._adressFrame.pack(fill=X, expand=1)
        #B1
        self._someTextFrame = Frame(self.p2, relief=GROOVE, borderwidth=2)
        self._someTextLabel = Label(self._someTextFrame, text="Poznámka")
        self._someTextLabel.pack(side=LEFT, padx=8, pady=1)
        self._someTextInput = Entry(self._someTextFrame, width=14)
        self._someTextInput.pack(side=LEFT, padx=8, pady=1)
        self._someTextFrame.pack(fill=BOTH, expand=1)

        # buttons - TODO

        self._buttonFrame = Frame(master, relief=GROOVE)
        self._ButtonEnd = Button(self._buttonFrame,
                                 text="Konec",
                                 command=self._endProgram,
                                 width=10,
                                 height=1)
        self._ButtonEnd.pack(side=LEFT, pady=2, padx=4)
        self._ButtonNew = Button(self._buttonFrame,
                                 text="Nový záznam",
                                 command=self._new,
                                 width=10,
                                 height=1)
        self._ButtonNew.pack(side=LEFT, pady=2, padx=4)
        self._ButtonSave = Button(self._buttonFrame,
                                  text="Uložit záznam",
                                  command=self._save,
                                  width=10,
                                  height=1)
        self._ButtonSave.pack(side=LEFT, pady=2, padx=4)
        self._buttonFrame.pack()

        self._fullNameLabel = Label(master, text="")
        self._fullNameLabel.pack(side=LEFT, padx=8, pady=1)
Esempio n. 12
0
    def __init__(self, path="", **options):
        self.glos = Glossary(ui=self)
        self.pref = {}
        self.pref_load(**options)
        #############################################
        rootWin = self.rootWin = tix.Tk()
        # a hack that hides the window until we move it to the center of screen
        if os.sep == "\\":  # Windows
            rootWin.attributes('-alpha', 0.0)
        else:  # Linux
            rootWin.withdraw()
        tix.Frame.__init__(self, rootWin)
        rootWin.title("PyGlossary (Tkinter)")
        rootWin.resizable(True, False)
        ########
        set_window_icon(rootWin)
        rootWin.bind('<Escape>', lambda e: rootWin.quit())
        ########
        self.pack(fill="x")
        # rootWin.bind("<Configure>", self.resized)
        ######################
        self.glos = Glossary(ui=self)
        self.pref = {}
        self.pref_load()
        self.pathI = ""
        self.pathO = ""
        fcd_dir = join(homeDir, "Desktop")
        if isfile(self.fcd_dir_save_path):
            try:
                with open(self.fcd_dir_save_path, encoding="utf-8") as fp:
                    fcd_dir = fp.read().strip("\n")
            except Exception:
                log.exception("")
        self.fcd_dir = fcd_dir
        ######################
        notebook = tix.NoteBook(self)
        notebook.add("tabConvert", label="Convert", underline=0)
        # notebook.add("tabReverse", label="Reverse", underline=0)
        notebook.add("tabAbout", label="About", underline=0)
        convertFrame = tix.Frame(notebook.tabConvert)
        aboutFrame = tix.Frame(notebook.tabAbout)
        convertVpaned = ttk.PanedWindow(convertFrame, orient=tk.VERTICAL)
        ######################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="Read from format")
        label.pack(side="left")
        ##
        comboVar = tk.StringVar()
        combo = ttk.OptionMenu(
            frame,
            comboVar,
            None,  # default
            *Glossary.readDesc,
        )
        combo.pack(side="left")
        comboVar.trace("w", self.inputComboChanged)
        self.formatVarInputConvert = comboVar
        ##
        self.readOptions = {}  # type: Dict[str, Any]
        self.writeOptions = {}  # type: Dict[str, Any]
        ##
        self.readOptionsButton = FormatOptionsButton(
            "Read",
            self.readOptions,
            self.formatVarInputConvert,
            master=frame,
        )
        ##
        frame.pack(fill="x")
        ###################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="  Path:")
        label.pack(side="left")
        ##
        entry = tix.Entry(frame)
        entry.pack(side="left", fill="x", expand=True)
        entry.bind_all("<KeyPress>", self.inputEntryChanged)
        self.entryInputConvert = entry
        ##
        button = ttk.Button(
            frame,
            text="Browse",
            command=self.browseInputConvert,
            # bg="#f0f000",
            # activebackground="#f6f622",
        )
        button.pack(side="left")
        ##
        frame.pack(fill="x")
        ######################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="Write to format    ")
        label.pack(side="left")
        ##
        comboVar = tk.StringVar()
        combo = ttk.OptionMenu(
            frame,
            comboVar,
            None,  # default
            *Glossary.writeDesc,
        )
        combo.pack(side="left")
        comboVar.trace("w", self.outputComboChanged)
        self.formatVarOutputConvert = comboVar
        ##
        self.writeOptionsButton = FormatOptionsButton(
            "Write",
            self.writeOptions,
            self.formatVarOutputConvert,
            master=frame,
        )
        ##
        frame.pack(fill="x")
        ###################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="  Path:")
        label.pack(side="left")
        ##
        entry = tix.Entry(frame)
        entry.pack(side="left", fill="x", expand=True)
        entry.bind_all("<KeyPress>", self.outputEntryChanged)
        self.entryOutputConvert = entry
        ##
        button = ttk.Button(
            frame,
            text="Browse",
            command=self.browseOutputConvert,
            # bg="#f0f000",
            # activebackground="#f6f622",
        )
        button.pack(side="left")
        ##
        frame.pack(fill="x")
        #######
        frame = tix.Frame(convertFrame)
        label = ttk.Label(frame, text=" " * 15)
        label.pack(
            side="left",
            fill="x",
            expand=True,
        )
        button = ttk.Button(
            frame,
            text="Convert",
            command=self.convert,
            # bg="#00e000",
            # activebackground="#22f022",
        )
        button.pack(
            side="left",
            fill="x",
            expand=True,
        )
        ###
        frame.pack(fill="x")
        convertVpaned.add(frame)
        ######
        convertFrame.pack(fill="x")
        #################
        console = tix.Text(convertVpaned, height=15, background="#000000")
        # self.consoleH = 15
        # sbar = Tix.Scrollbar(
        #	convertVpaned,
        #	orien=Tix.VERTICAL,
        #	command=console.yview
        # )
        # sbar.grid ( row=0, column=1)
        # console["yscrollcommand"] = sbar.set
        # console.grid()
        console.pack(fill="both", expand=True)
        log.addHandler(TkTextLogHandler(console), )
        console.insert("end", "Console:\n")
        ####
        convertVpaned.add(console)
        convertVpaned.pack(fill="both", expand=True)
        self.console = console
        ##################
        # convertVpaned.grid()
        # bottomFrame.grid()
        # self.grid()
        #####################
        # lbox = Tix.Listbox(convertFrame)
        # lbox.insert(0, "aaaaaaaa", "bbbbbbbbbbbbbbbbbbbb")
        # lbox.pack(fill="x")
        ##############
        # __________________________ Reverse Tab __________________________ #
        # revFrame = tix.Frame(notebook.tabReverse)
        # revFrame.pack(fill="x")
        # ######################
        # frame = tix.Frame(revFrame)
        # ##
        # label = ttk.Label(frame, text="Read from format")
        # label.pack(side="left")
        # ##
        # comboVar = tk.StringVar()
        # combo = ttk.OptionMenu(
        # 	frame,
        # 	comboVar,
        # 	None, # default
        # 	*Glossary.readDesc,
        # )
        # combo.pack(side="left")
        # self.combobox_r_i = comboVar
        # ##
        # frame.pack(fill="x")
        # ###################
        # frame = tix.Frame(revFrame)
        # ##
        # label = ttk.Label(frame, text="  Path:")
        # label.pack(side="left")
        # ##
        # entry = tix.Entry(frame)
        # entry.pack(side="left", fill="x", expand=True)
        # # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
        # self.entry_r_i = entry
        # ##
        # button = ttk.Button(
        # 	frame,
        # 	text="Browse",
        # 	command=self.reverseBrowseInput,
        # 	# bg="#f0f000",
        # 	# activebackground="#f6f622",
        # )
        # button.pack(side="left")
        # ##
        # button = ttk.Button(
        # 	frame,
        # 	text="Load",
        # 	command=self.reverseLoad,
        # 	# bg="#7777ff",
        # )
        # button.pack(side="left")
        # ###
        # frame.pack(fill="x")
        # ###################
        # frame = tix.Frame(revFrame)
        # ##
        # label = ttk.Label(frame, text="Output Tabfile")
        # label.pack(side="left")
        # ###
        # entry = tix.Entry(frame)
        # entry.pack(side="left", fill="x", expand=True)
        # # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
        # self.entry_r_o = entry
        # ##
        # button = ttk.Button(
        # 	frame,
        # 	text="Browse",
        # 	command=self.reverseBrowseOutput,
        # 	# bg="#f0f000",
        # 	# activebackground="#f6f622",
        # )
        # button.pack(side="left")
        # ##
        # frame.pack(fill="x")
        # _________________________________________________________________ #

        aboutFrame2 = tix.Frame(aboutFrame)
        ##
        label = newLabelWithImage(aboutFrame2, file=logo)
        label.pack(side="left")
        ##
        ##
        label = ttk.Label(aboutFrame2,
                          text=f"PyGlossary\nVersion {core.VERSION}")
        label.pack(side="left")
        ##
        aboutFrame2.pack(side="top", fill="x")
        ##
        style = ttk.Style(self)
        style.configure("TNotebook", tabposition="wn")
        # ws => to the left (west) and to the bottom (south)
        # wn => to the left (west) and at top
        aboutNotebook = ttk.Notebook(aboutFrame, style="TNotebook")

        aboutFrame3 = tk.Frame(aboutNotebook)
        authorsFrame = tk.Frame(aboutNotebook)
        licenseFrame = tk.Frame(aboutNotebook)

        # tabImg = tk.PhotoImage(file=join(resDir, "dialog-information-22.png"))
        # tabImg = tk.PhotoImage(file=join(resDir, "author-22.png"))

        aboutNotebook.add(
            aboutFrame3,
            text="\n About  \n",
            # image=tabImg, # not working
            # compound=tk.TOP,
            # padding=50, # not working
        )
        aboutNotebook.add(
            authorsFrame,
            text="\nAuthors\n",
        )
        aboutNotebook.add(
            licenseFrame,
            text="\nLicense\n",
        )

        label = newReadOnlyText(
            aboutFrame3,
            text=f"{aboutText}\nHome page: {homePage}",
            font=("DejaVu Sans", 11, ""),
        )
        label.pack(fill="x")

        authorsText = "\n".join(authors)
        authorsText = authorsText.replace("\t", "    ")
        label = newReadOnlyText(
            authorsFrame,
            text=authorsText,
            font=("DejaVu Sans", 11, ""),
        )
        label.pack(fill="x")

        label = newReadOnlyText(
            licenseFrame,
            text=licenseText,
            font=("DejaVu Sans", 11, ""),
        )
        label.pack(fill="x")

        aboutNotebook.pack(fill="x")

        aboutFrame.pack(fill="x")
        # _________________________________________________________________ #

        notebook.pack(fill="both", expand=True)

        # _________________________________________________________________ #

        statusBarframe = tix.Frame(self)
        clearB = ttk.Button(
            statusBarframe,
            text="Clear",
            command=self.console_clear,
            # bg="black",
            # fg="#ffff00",
            # activebackground="#333333",
            # activeforeground="#ffff00",
        )
        clearB.pack(side="left")
        ####
        label = ttk.Label(statusBarframe, text="Verbosity")
        label.pack(side="left")
        ##
        comboVar = tk.StringVar()
        combo = ttk.OptionMenu(
            statusBarframe,
            comboVar,
            log.getVerbosity(),  # default
            0,
            1,
            2,
            3,
            4,
        )
        comboVar.trace("w", self.verbosityChanged)
        combo.pack(side="left")
        self.verbosityCombo = comboVar
        #####
        pbar = ProgressBar(statusBarframe, width=400)
        pbar.pack(side="left", fill="x", expand=True)
        self.pbar = pbar
        statusBarframe.pack(fill="x")
        self.progressTitle = ""
        # _________________________________________________________________ #
        frame3 = tix.Frame(self)
        closeB = ttk.Button(
            frame3,
            text="Close",
            command=rootWin.quit,
            # bg="#ff0000",
            # activebackground="#ff5050",
        )
        closeB.pack(side="right")
        frame3.pack(fill="x")
        # _________________________________________________________________ #

        centerWindow(rootWin)
        # show the window
        if os.sep == "\\":  # Windows
            rootWin.attributes('-alpha', 1.0)
        else:  # Linux
            rootWin.deiconify()
        if path:
            self.entryInputConvert.insert(0, path)
            self.inputEntryChanged()
            self.outputEntryChanged()
            self.load()
Esempio n. 13
0
 def __init__(self, path='', **options):
     self.running = False
     self.glos = Glossary(ui=self)
     self.pref = {}
     self.pref_load(**options)
     #############################################
     master = tix.Tk()
     tix.Frame.__init__(self, master)
     master.title('PyGlossary (Tkinter)')
     master.resizable(True, False)
     ########
     #icon = Tix.BitmapImage(file=xbmLogo)
     #master.wm_iconbitmap(icon)
     #master.wm_iconbitmap(xbmLogo)
     #bit = Tix.PhotoImage(file=join(uiDir, 'pyglossary.gif'), format='gif')
     #lb = Tix.Label(None,image=bit)
     #lb.grid()
     #master.iconwindow(icon, 'pyglossary')
     #master.wm_iconimage(bit)
     #master.wm_iconname('dot')
     #help(master.wm_iconbitmap)
     #for x in dir(master):
     #    if 'wm_' in x:
     #        log.debug(x)
     master.wm_iconbitmap('@%s' % xbmLogo)
     ########
     self.pack(fill='x')
     #master.bind('<Configure>', self.resized)
     ######################
     self.running = False
     self.glos = Glossary(ui=self)
     self.pref = {}
     self.pref_load()
     self.pathI = ''
     self.pathO = ''
     self.fcd_dir = join(homeDir, 'Desktop')
     ######################
     vpaned = tk.PanedWindow(self, orient=tk.VERTICAL)
     notebook = tix.NoteBook(vpaned)
     notebook.add('tab1', label='Convert', underline=0)
     notebook.add('tab2', label='Reverse', underline=0)
     convertFrame = tix.Frame(notebook.tab1)
     ######################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text='Read from format')
     label.pack(side='left')
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc)
     #comboVar.set(Glossary.readDesc[0])
     comboVar.set(noneItem)
     combo.pack(side='left')
     self.combobox_i = comboVar
     ##
     frame.pack(fill='x')
     ###################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text='  Path:')
     label.pack(side='left')
     ##
     entry = tix.Entry(frame)
     entry.pack(side='left', fill='x', expand=True)
     entry.bind_all('<KeyPress>', self.entry_changed)
     self.entry_i = entry
     ##
     button = tix.Button(
         frame,
         text='Browse',
         command=self.browse_i,
         #bg='#f0f000',
         #activebackground='#f6f622',
     )
     button.pack(side='left')
     ##
     frame.pack(fill='x')
     ######################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text='Write to format    ')
     label.pack(side='left')
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.writeDesc)
     #comboVar.set(Glossary.writeDesc[0])
     comboVar.set(noneItem)
     combo.pack(side='left')
     combo.bind('<Configure>', self.combobox_o_changed)
     self.combobox_o = comboVar
     ##
     frame.pack(fill='x')
     ###################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text='  Path:')
     label.pack(side='left')
     ##
     entry = tix.Entry(frame)
     entry.pack(side='left', fill='x', expand=True)
     #entry.bind_all('<KeyPress>', self.entry_changed)
     self.entry_o = entry
     ##
     button = tix.Button(
         frame,
         text='Browse',
         command=self.browse_o,
         #bg='#f0f000',
         #activebackground='#f6f622',
     )
     button.pack(side='left')
     ##
     frame.pack(fill='x')
     #######
     frame = tix.Frame(convertFrame)
     label = tix.Label(frame, text=' ' * 15)
     label.pack(
         side='left',
         fill='x',
         expand=True,
     )
     button = tix.Button(
         frame,
         text='Convert',
         command=self.convert,
         #bg='#00e000',
         #activebackground='#22f022',
     )
     button.pack(
         side='left',
         fill='x',
         expand=True,
     )
     ###
     frame.pack(fill='x')
     ######
     convertFrame.pack(fill='x')
     vpaned.add(notebook)
     #################
     console = tix.Text(vpaned, height=15, background='#000000')
     #self.consoleH = 15
     #sbar = Tix.Scrollbar(vpaned, orien=Tix.VERTICAL, command=console.yview)
     #sbar.grid ( row=0, column=1)
     #console['yscrollcommand'] = sbar.set
     #console.grid()
     console.pack(fill='both', expand=True)
     log.addHandler(TkTextLogHandler(console), )
     console.insert('end', 'Console:\n')
     ####
     vpaned.add(console)
     vpaned.pack(fill='both', expand=True)
     self.console = console
     ##################
     frame2 = tix.Frame(self)
     clearB = tix.Button(
         frame2,
         text='Clear',
         command=self.console_clear,
         #bg='black',
         #fg='#ffff00',
         #activebackground='#333333',
         #activeforeground='#ffff00',
     )
     clearB.pack(side='left')
     ####
     label = tix.Label(frame2, text='Verbosity')
     label.pack(side='left')
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(
         frame2,
         comboVar,
         0,
         1,
         2,
         3,
         4,
     )
     comboVar.set(log.getVerbosity())
     comboVar.trace('w', self.verbosityChanged)
     combo.pack(side='left')
     self.verbosityCombo = comboVar
     #####
     pbar = ProgressBar(frame2, width=400)
     pbar.pack(side='left', fill='x', expand=True)
     self.pbar = pbar
     frame2.pack(fill='x')
     self.progressTitle = ''
     #############
     #vpaned.grid()
     #bottomFrame.grid()
     #self.grid()
     #####################
     #lbox = Tix.Listbox(convertFrame)
     #lbox.insert(0, 'aaaaaaaa', 'bbbbbbbbbbbbbbbbbbbb')
     #lbox.pack(fill='x')
     ##############
     frame3 = tix.Frame(self)
     aboutB = tix.Button(
         frame3,
         text='About',
         command=self.about_clicked,
         #bg='#e000e0',
         #activebackground='#f030f0',
     )
     aboutB.pack(side='right')
     closeB = tix.Button(
         frame3,
         text='Close',
         command=self.quit,
         #bg='#ff0000',
         #activebackground='#ff5050',
     )
     closeB.pack(side='right')
     frame3.pack(fill='x')
     ############### Reverse Tab ####################
     revFrame = tix.Frame(notebook.tab2)
     revFrame.pack(fill='x')
     ######################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text='Read from format')
     label.pack(side='left')
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc)
     #comboVar.set(Glossary.readDesc[0])
     comboVar.set(noneItem)
     combo.pack(side='left')
     self.combobox_r_i = comboVar
     ##
     frame.pack(fill='x')
     ###################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text='  Path:')
     label.pack(side='left')
     ##
     entry = tix.Entry(frame)
     entry.pack(side='left', fill='x', expand=True)
     #entry.bind_all('<KeyPress>', self.entry_r_i_changed)
     self.entry_r_i = entry
     ##
     button = tix.Button(
         frame,
         text='Browse',
         command=self.r_browse_i,
         #bg='#f0f000',
         #activebackground='#f6f622',
     )
     button.pack(side='left')
     ##
     button = tix.Button(
         frame,
         text='Load',
         command=self.r_load,
         #bg='#7777ff',
     )
     button.pack(side='left')
     ###
     frame.pack(fill='x')
     ###################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text='Output Tabfile')
     label.pack(side='left')
     ###
     entry = tix.Entry(frame)
     entry.pack(side='left', fill='x', expand=True)
     #entry.bind_all('<KeyPress>', self.entry_r_i_changed)
     self.entry_r_o = entry
     ##
     button = tix.Button(
         frame,
         text='Browse',
         command=self.r_browse_o,
         #bg='#f0f000',
         #activebackground='#f6f622',
     )
     button.pack(side='left')
     ##
     frame.pack(fill='x')
     ##############################
     if path != '':
         self.entry_i.insert(0, path)
         self.entry_changed()
         self.load()
Esempio n. 14
0
    def __init__(self, path="", **options):
        self.glos = Glossary(ui=self)
        self.pref = {}
        self.pref_load(**options)
        #############################################
        rootWin = self.rootWin = tix.Tk()
        # a hack that hides the window until we move it to the center of screen
        if os.sep == "\\":  # Windows
            rootWin.attributes('-alpha', 0.0)
        else:  # Linux
            rootWin.withdraw()
        tix.Frame.__init__(self, rootWin)
        rootWin.title("PyGlossary (Tkinter)")
        rootWin.resizable(True, False)
        ########
        set_window_icon(rootWin)
        rootWin.bind('<Escape>', lambda e: rootWin.quit())
        ########
        self.pack(fill="x")
        # rootWin.bind("<Configure>", self.resized)
        ######################
        self.glos = Glossary(ui=self)
        self.pref = {}
        self.pref_load()
        self.pathI = ""
        self.pathO = ""
        fcd_dir = join(homeDir, "Desktop")
        if isfile(self.fcd_dir_save_path):
            try:
                with open(self.fcd_dir_save_path, encoding="utf-8") as fp:
                    fcd_dir = fp.read().strip("\n")
            except Exception:
                log.exception("")
        self.fcd_dir = fcd_dir
        ######################
        vpaned = ttk.PanedWindow(self, orient=tk.VERTICAL)
        notebook = tix.NoteBook(vpaned)
        notebook.add("tabConvert", label="Convert", underline=0)
        # notebook.add("tabReverse", label="Reverse", underline=0)
        convertFrame = tix.Frame(notebook.tabConvert)
        ######################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="Read from format")
        label.pack(side="left")
        ##
        comboVar = tk.StringVar()
        combo = ttk.OptionMenu(
            frame,
            comboVar,
            None,  # default
            *Glossary.readDesc,
        )
        combo.pack(side="left")
        comboVar.trace("w", self.inputComboChanged)
        self.formatVarInputConvert = comboVar
        ##
        self.readOptions = {}  # type: Dict[str, Any]
        self.writeOptions = {}  # type: Dict[str, Any]
        ##
        self.readOptionsButton = FormatOptionsButton(
            "Read",
            self.readOptions,
            self.formatVarInputConvert,
            master=frame,
        )
        ##
        frame.pack(fill="x")
        ###################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="  Path:")
        label.pack(side="left")
        ##
        entry = tix.Entry(frame)
        entry.pack(side="left", fill="x", expand=True)
        entry.bind_all("<KeyPress>", self.inputEntryChanged)
        self.entryInputConvert = entry
        ##
        button = ttk.Button(
            frame,
            text="Browse",
            command=self.browseInputConvert,
            # bg="#f0f000",
            # activebackground="#f6f622",
        )
        button.pack(side="left")
        ##
        frame.pack(fill="x")
        ######################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="Write to format    ")
        label.pack(side="left")
        ##
        comboVar = tk.StringVar()
        combo = ttk.OptionMenu(
            frame,
            comboVar,
            None,  # default
            *Glossary.writeDesc,
        )
        combo.pack(side="left")
        comboVar.trace("w", self.outputComboChanged)
        self.formatVarOutputConvert = comboVar
        ##
        self.writeOptionsButton = FormatOptionsButton(
            "Write",
            self.writeOptions,
            self.formatVarOutputConvert,
            master=frame,
        )
        ##
        frame.pack(fill="x")
        ###################
        frame = tix.Frame(convertFrame)
        ##
        label = ttk.Label(frame, text="  Path:")
        label.pack(side="left")
        ##
        entry = tix.Entry(frame)
        entry.pack(side="left", fill="x", expand=True)
        entry.bind_all("<KeyPress>", self.outputEntryChanged)
        self.entryOutputConvert = entry
        ##
        button = ttk.Button(
            frame,
            text="Browse",
            command=self.browseOutputConvert,
            # bg="#f0f000",
            # activebackground="#f6f622",
        )
        button.pack(side="left")
        ##
        frame.pack(fill="x")
        #######
        frame = tix.Frame(convertFrame)
        label = ttk.Label(frame, text=" " * 15)
        label.pack(
            side="left",
            fill="x",
            expand=True,
        )
        button = ttk.Button(
            frame,
            text="Convert",
            command=self.convert,
            # bg="#00e000",
            # activebackground="#22f022",
        )
        button.pack(
            side="left",
            fill="x",
            expand=True,
        )
        ###
        frame.pack(fill="x")
        ######
        convertFrame.pack(fill="x")
        vpaned.add(notebook)
        #################
        console = tix.Text(vpaned, height=15, background="#000000")
        # self.consoleH = 15
        # sbar = Tix.Scrollbar(
        #	vpaned,
        #	orien=Tix.VERTICAL,
        #	command=console.yview
        # )
        # sbar.grid ( row=0, column=1)
        # console["yscrollcommand"] = sbar.set
        # console.grid()
        console.pack(fill="both", expand=True)
        log.addHandler(TkTextLogHandler(console), )
        console.insert("end", "Console:\n")
        ####
        vpaned.add(console)
        vpaned.pack(fill="both", expand=True)
        self.console = console
        ##################
        frame2 = tix.Frame(self)
        clearB = ttk.Button(
            frame2,
            text="Clear",
            command=self.console_clear,
            # bg="black",
            # fg="#ffff00",
            # activebackground="#333333",
            # activeforeground="#ffff00",
        )
        clearB.pack(side="left")
        ####
        label = ttk.Label(frame2, text="Verbosity")
        label.pack(side="left")
        ##
        comboVar = tk.StringVar()
        combo = ttk.OptionMenu(
            frame2,
            comboVar,
            log.getVerbosity(),  # default
            0,
            1,
            2,
            3,
            4,
        )
        comboVar.trace("w", self.verbosityChanged)
        combo.pack(side="left")
        self.verbosityCombo = comboVar
        #####
        pbar = ProgressBar(frame2, width=400)
        pbar.pack(side="left", fill="x", expand=True)
        self.pbar = pbar
        frame2.pack(fill="x")
        self.progressTitle = ""
        #############
        # vpaned.grid()
        # bottomFrame.grid()
        # self.grid()
        #####################
        # lbox = Tix.Listbox(convertFrame)
        # lbox.insert(0, "aaaaaaaa", "bbbbbbbbbbbbbbbbbbbb")
        # lbox.pack(fill="x")
        ##############
        frame3 = tix.Frame(self)
        aboutB = ttk.Button(
            frame3,
            text="About",
            command=self.about_clicked,
            # bg="#e000e0",
            # activebackground="#f030f0",
        )
        aboutB.pack(side="right")
        closeB = ttk.Button(
            frame3,
            text="Close",
            command=rootWin.quit,
            # bg="#ff0000",
            # activebackground="#ff5050",
        )
        closeB.pack(side="right")
        frame3.pack(fill="x")
        # __________________________ Reverse Tab __________________________ #
        # revFrame = tix.Frame(notebook.tabReverse)
        # revFrame.pack(fill="x")
        # ######################
        # frame = tix.Frame(revFrame)
        # ##
        # label = ttk.Label(frame, text="Read from format")
        # label.pack(side="left")
        # ##
        # comboVar = tk.StringVar()
        # combo = ttk.OptionMenu(
        # 	frame,
        # 	comboVar,
        # 	None, # default
        # 	*Glossary.readDesc,
        # )
        # combo.pack(side="left")
        # self.combobox_r_i = comboVar
        # ##
        # frame.pack(fill="x")
        # ###################
        # frame = tix.Frame(revFrame)
        # ##
        # label = ttk.Label(frame, text="  Path:")
        # label.pack(side="left")
        # ##
        # entry = tix.Entry(frame)
        # entry.pack(side="left", fill="x", expand=True)
        # # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
        # self.entry_r_i = entry
        # ##
        # button = ttk.Button(
        # 	frame,
        # 	text="Browse",
        # 	command=self.reverseBrowseInput,
        # 	# bg="#f0f000",
        # 	# activebackground="#f6f622",
        # )
        # button.pack(side="left")
        # ##
        # button = ttk.Button(
        # 	frame,
        # 	text="Load",
        # 	command=self.reverseLoad,
        # 	# bg="#7777ff",
        # )
        # button.pack(side="left")
        # ###
        # frame.pack(fill="x")
        # ###################
        # frame = tix.Frame(revFrame)
        # ##
        # label = ttk.Label(frame, text="Output Tabfile")
        # label.pack(side="left")
        # ###
        # entry = tix.Entry(frame)
        # entry.pack(side="left", fill="x", expand=True)
        # # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
        # self.entry_r_o = entry
        # ##
        # button = ttk.Button(
        # 	frame,
        # 	text="Browse",
        # 	command=self.reverseBrowseOutput,
        # 	# bg="#f0f000",
        # 	# activebackground="#f6f622",
        # )
        # button.pack(side="left")
        # ##
        # frame.pack(fill="x")
        # _________________________________________________________________ #

        centerWindow(rootWin)
        # show the window
        if os.sep == "\\":  # Windows
            rootWin.attributes('-alpha', 1.0)
        else:  # Linux
            rootWin.deiconify()
        if path:
            self.entryInputConvert.insert(0, path)
            self.inputEntryChanged()
            self.outputEntryChanged()
            self.load()
    def fontdialog(self):
        self.fdialog = Toplevel(self)
        self.fdialog.wm_title("Písmo")
        self.fdialog.minsize(600, 400)
        self.fdialog.resizable(False, False)

        #buttons in fontdialog
        btnFrame = Frame(self.fdialog)
        btnFrame.pack(side=BOTTOM, fill=X)
        btnCancelPrint = Button(btnFrame,
                                text="Storno",
                                width=15,
                                command=self.fdialog.destroy)
        btnCancelPrint.pack(side=RIGHT, padx=20, pady=2)
        btnokPrint = Button(btnFrame, text="OK", width=15)
        btnokPrint.pack(side=RIGHT, padx=20, pady=2)

        self.ntbfont = tix.NoteBook(self.fdialog)
        self.ntbfont.add("page1", label="Písmo")
        self.ntbfont.add("page2", label="Upřesnit")
        self.p1 = self.ntbfont.subwidget_list["page1"]
        self.p2 = self.ntbfont.subwidget_list["page2"]
        self.ntbfont.pack(side='top', expand=1, fill=BOTH, padx=5, pady=5)

        #help frames
        self.liboxFrame = Frame(self.p1)
        self.liboxFrame.pack(side=TOP, expand=1, fill=BOTH)

        self.otherFrame = Frame(self.p1)
        self.otherFrame.pack(side=BOTTOM, expand=1, fill=BOTH)

        #font family
        self.liboxfamily = Listbox(self.liboxFrame,
                                   selectmode=SINGLE,
                                   exportselection=0)
        self.liboxfamily.pack(side=LEFT, fill=BOTH, expand=1, padx=4, pady=4)

        scrollbarY = Scrollbar(self.liboxfamily)
        scrollbarY.pack(side=RIGHT, fill=Y)
        self.liboxfamily.config(yscrollcommand=scrollbarY.set)
        scrollbarY.config(command=self.liboxfamily.yview)

        fonts = list(font.families())
        fonts.sort()

        for i in fonts:
            self.liboxfamily.insert(END, i)
        self.liboxfamily.select_set(335)

        #font style
        self.liboxstyle = Listbox(self.liboxFrame,
                                  selectmode=SINGLE,
                                  exportselection=0)
        self.liboxstyle.pack(side=LEFT, fill=BOTH, expand=1, padx=4, pady=4)

        scrollbarY2 = Scrollbar(self.liboxstyle)
        scrollbarY2.pack(side=RIGHT, fill=Y)
        self.liboxstyle.config(yscrollcommand=scrollbarY2.set)
        scrollbarY2.config(command=self.liboxstyle.yview)

        for i in ['Normální', 'Kurzíva', 'Tučené', 'Tučené Kurzíva']:
            self.liboxstyle.insert(END, i)
        self.liboxstyle.select_set(0)

        #font size
        self.liboxsize = Listbox(self.liboxFrame,
                                 selectmode=SINGLE,
                                 exportselection=0)
        self.liboxsize.pack(side=LEFT, fill=BOTH, expand=1, padx=4, pady=4)

        scrollbarY3 = Scrollbar(self.liboxsize)
        scrollbarY3.pack(side=RIGHT, fill=Y)
        self.liboxsize.config(yscrollcommand=scrollbarY3.set)
        scrollbarY3.config(command=self.liboxsize.yview)

        for i in [
                8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72
        ]:
            self.liboxsize.insert(END, i)
        self.liboxsize.select_set(0)

        self.lblfrExample = LabelFrame(self.otherFrame, text="Ukázka")
        self.lblfrExample.pack(side=LEFT,
                               expand=1,
                               fill=BOTH,
                               padx=20,
                               pady=20)

        self.lblExample = Label(self.lblfrExample, text="AaBbYy")
        self.lblExample.pack(expand=1, fill=BOTH, padx=2, pady=2)

        localFrame = Frame(self.otherFrame)
        localFrame.pack(side=RIGHT, expand=1, fill=BOTH, padx=2, pady=2)
        Label(localFrame, text="Skript:").pack(anchor=N, padx=4, pady=4)

        self.cboxEncoding = ttk.Combobox(localFrame, state='readonly')
        self.cboxEncoding['values'] = [
            'Středoevropské', 'Západní', 'Řecké', 'Turecké', 'Pobaltské',
            'Cyrilice', 'Vietnamské'
        ]
        self.cboxEncoding.current(0)
        self.cboxEncoding.pack(anchor=N, padx=4, pady=4)

        #config frame

        lblframeChars = LabelFrame(self.p2, text="Proložení znaků")
        lblframeChars.pack(side=TOP, expand=1, fill=BOTH, padx=10, pady=10)

        frame1 = Frame(lblframeChars)
        frame1.pack(side=LEFT, expand=1, fill=BOTH, padx=10, pady=10)

        frame2 = Frame(lblframeChars)
        frame2.pack(side=RIGHT, expand=1, fill=BOTH, padx=10, pady=10)

        Label(frame1, text="Měřítko").grid(column=0, row=0, padx=2, pady=2)
        Label(frame1, text="Mezery").grid(column=0, row=1, padx=2, pady=2)
        Label(frame1, text="Umístění").grid(column=0, row=2, padx=2, pady=2)

        Checkbutton(frame1,
                    text="Prokládání písem velikostí").grid(column=0,
                                                            row=3,
                                                            columnspan=2,
                                                            padx=2,
                                                            pady=2)

        cb1 = ttk.Combobox(frame1,
                           values=('100%', '150%', '200%', '50%', '33%'),
                           width=15,
                           state='readonly')
        cb1.grid(column=1, row=0, padx=2, pady=2)
        cb1.current(0)

        cb2 = ttk.Combobox(frame1,
                           values=('Normální', 'Rozšířené', 'Zúžené'),
                           width=15,
                           state='readonly')
        cb2.grid(column=1, row=1, padx=2, pady=2)
        cb2.current(0)

        cb3 = ttk.Combobox(frame1,
                           values=('Normální', 'Zvýšené', 'Snížené'),
                           width=15,
                           state='readonly')
        cb3.grid(column=1, row=2, padx=2, pady=2)
        cb3.current(0)

        Label(frame2, text="").grid(column=0, row=0, padx=2, pady=2)
        Label(frame2, text="O kolik").grid(column=0, row=1, padx=2, pady=2)
        Label(frame2, text="O kolik").grid(column=0, row=2, padx=2, pady=2)

        Spinbox(frame2, from_=1, to=99, width=10,
                textvariable=self.sb1).grid(column=1, row=1, padx=2, pady=2)
        Spinbox(frame2, from_=1, to=99, width=10,
                textvariable=self.sb2).grid(column=1, row=2, padx=2, pady=2)

        Spinbox(frame2, from_=1, to=99, width=5,
                textvariable=self.sb3).grid(column=0, row=3, padx=2, pady=2)
        Label(frame2, text="Bodů a více").grid(column=1, row=3, padx=2, pady=2)

        #second part of congif frame
        self.otherFrame2 = Frame(self.p2)
        self.otherFrame2.pack(side=BOTTOM, expand=1, fill=BOTH)

        self.lblfrExample2 = LabelFrame(self.otherFrame2, text="Ukázka")
        self.lblfrExample2.pack(side=LEFT,
                                expand=1,
                                fill=BOTH,
                                padx=20,
                                pady=20)

        self.lblExample2 = Label(self.lblfrExample2, text="AaBbYy")
        self.lblExample2.pack(expand=1, fill=BOTH)

        localFrame2 = Frame(self.otherFrame2)
        localFrame2.pack(side=RIGHT, expand=1, fill=BOTH, padx=2, pady=2)

        localFrame3 = Frame(localFrame2)
        localFrame3.pack(side=TOP, expand=1, fill=BOTH, padx=2, pady=2)

        localLblFrame = Frame(localFrame3)
        localLblFrame.pack(side=LEFT, expand=1, fill=BOTH, pady=2)

        localCBFrame = Frame(localFrame3)
        localCBFrame.pack(side=RIGHT, expand=1, fill=BOTH, padx=2, pady=2)

        Label(localLblFrame, text="Ligatury").pack(side=TOP,
                                                   expand=1,
                                                   fill=Y,
                                                   anchor=W,
                                                   padx=2,
                                                   pady=2)
        Label(localLblFrame, text="Mez. mezi čísly").pack(side=TOP,
                                                          expand=1,
                                                          fill=Y,
                                                          anchor=W,
                                                          padx=2,
                                                          pady=2)
        Label(localLblFrame, text="Číselné tvary").pack(side=TOP,
                                                        expand=1,
                                                        fill=Y,
                                                        anchor=W,
                                                        padx=2,
                                                        pady=2)
        Label(localLblFrame, text="Stylistické sady").pack(side=TOP,
                                                           expand=1,
                                                           fill=Y,
                                                           anchor=W,
                                                           padx=2,
                                                           pady=2)

        cboxLig = ttk.Combobox(localCBFrame,
                               values=('Žádné', 'Pouze standardní',
                                       'Standardní a kotextové',
                                       'Historické a volitelné', 'Všechny'),
                               width=20,
                               state='readonly')
        cboxLig.current(0)
        cboxLig.pack(side=TOP, expand=1, anchor=E, padx=2, pady=2)

        cboxMMC = ttk.Combobox(localCBFrame,
                               values=('Výchozí', 'Proporční', 'Tabulkové'),
                               width=20,
                               state='readonly')
        cboxMMC.current(0)
        cboxMMC.pack(side=TOP, expand=1, anchor=E, padx=2, pady=2)

        cboxCT = ttk.Combobox(localCBFrame,
                              values=('Výchozí', 'Vyrovnané', 'Starodávné'),
                              width=20,
                              state='readonly')
        cboxCT.current(0)
        cboxCT.pack(side=TOP, expand=1, anchor=E, padx=2, pady=2)

        cboxSS = ttk.Combobox(localCBFrame,
                              values=(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
                                      13, 14, 15, 16, 17, 18, 19, 20),
                              width=20,
                              state='readonly')
        cboxSS.current(0)
        cboxSS.pack(side=TOP, expand=1, anchor=E, padx=2, pady=2)

        cbtnPKA = Checkbutton(localFrame2,
                              text="Používat kontextové alternativy")
        cbtnPKA.pack(side=BOTTOM, fill=Y, anchor=W, padx=2, pady=2)

        self.fdialog.grab_set()
        root.wait_window(self.fdialog)
    def printdialog(self):
        self.pdialog = Toplevel(self)
        self.pdialog.wm_title("Tisk")
        self.pdialog.minsize(600, 400)
        self.pdialog.resizable(False, False)

        self.printframe = Frame(self.pdialog, padx=4, pady=4)
        self.printframe.pack(fill=BOTH, expand=1)

        self.btnframe = Frame(self.pdialog, padx=4, pady=4)
        self.btnframe.pack(fill=X, side='bottom')

        self.ntbprint = tix.NoteBook(self.printframe)
        self.ntbprint.add("page1", label="Obecné")
        self.p1 = self.ntbprint.subwidget_list["page1"]
        self.ntbprint.pack(side='top', expand=1, fill=BOTH)

        #tlacitka v printdialogu
        btnConfigPrint = Button(self.btnframe, text="Použij", width=15)
        btnConfigPrint.pack(side=RIGHT, padx=20)
        btnCancelPrint = Button(self.btnframe,
                                text="Storno",
                                width=15,
                                command=self.pdialog.destroy)
        btnCancelPrint.pack(side=RIGHT, padx=20)
        btnPrint = Button(self.btnframe, text="Tiskni", width=15)
        btnPrint.pack(side=RIGHT, padx=20)

        btnConfigPrint.config(state=DISABLED)

        #labelframy v printdialogu

        #vyber tiskarny
        self.lblfrprinter = LabelFrame(self.p1, text="Výběr tiskárny")
        self.lblfrprinter.pack(side=TOP, fill=BOTH, expand=1, padx=10, pady=10)

        self.liboxprinter = Listbox(self.lblfrprinter, selectmode=SINGLE)
        self.liboxprinter.pack(side=TOP, fill=BOTH, expand=1)

        scrollbarY = Scrollbar(self.liboxprinter)
        scrollbarY.pack(side=RIGHT, fill=Y)
        self.liboxprinter.config(yscrollcommand=scrollbarY.set)
        scrollbarY.config(command=self.liboxprinter.yview)

        self.liboxprinter.insert(END, u"FAX", u"Microsoft XPS Document Writer",
                                 u"Samsung CLX-3180 Series",
                                 u"Send to OneNote", u"Síťová tiskárna",
                                 u"PDF writer")
        self.liboxprinter.select_set(0)

        self.liboxprinterframe = Frame(self.liboxprinter)
        self.liboxprinterframe.pack(side=BOTTOM, padx=10, pady=10)

        Label(self.lblfrprinter, text="Stav: ").pack(side=LEFT)
        Label(self.lblfrprinter, textvariable=self.status).pack(side=LEFT)

        Button(self.lblfrprinter, text="Předvolby").pack(side=RIGHT,
                                                         padx=10,
                                                         pady=10)

        #frame pro rozsah stranek a pocet kopii
        self.subPrintFrame = Frame(self.p1)
        self.subPrintFrame.pack(side=TOP, fill=BOTH, expand=1)

        #rozsah stranek
        self.lblfrpages = LabelFrame(self.subPrintFrame, text="Rozsah stránek")
        self.lblfrpages.pack(side=LEFT, fill=BOTH, expand=1, padx=10, pady=10)

        Radiobutton(self.lblfrpages, text="Vše", variable=self.pages,
                    value=1).pack(anchor=W, padx=10)
        Radiobutton(self.lblfrpages,
                    text="Výběr",
                    variable=self.pages,
                    value=2).pack(anchor=W, padx=10)
        Radiobutton(self.lblfrpages,
                    text="Stránky",
                    variable=self.pages,
                    value=3).pack(anchor=W, padx=10)
        Entry(self.lblfrpages, textvariable=self.listofpages).pack(anchor=W,
                                                                   padx=10,
                                                                   pady=10,
                                                                   fill=X)

        #pocet kopii
        self.lblfrcopies = LabelFrame(self.subPrintFrame, text="Kopií")
        self.lblfrcopies.pack(side=RIGHT,
                              fill=BOTH,
                              expand=1,
                              padx=10,
                              pady=10)

        self.tmpFr1 = Frame(self.lblfrcopies)
        self.tmpFr1.pack(side=TOP, fill=BOTH, expand=1, padx=5, pady=5)
        Label(self.tmpFr1, text="Počet kopií").pack(side=LEFT)

        self.spboxCopies = Spinbox(self.tmpFr1,
                                   from_=1,
                                   to=99,
                                   textvariable=self.copies)
        self.spboxCopies.pack(side=RIGHT)

        self.tmpFr2 = Frame(self.lblfrcopies)
        self.tmpFr2.pack(side=BOTTOM, fill=BOTH, expand=1, padx=5, pady=5)

        self.icon.set(1)
        self.page = Label(self.tmpFr2)
        self.icon_up = PhotoImage(file="icons/page_up.png")
        self.icon_down = PhotoImage(file="icons/page_down.png")

        self.tmpFr3 = Frame(self.tmpFr2)
        self.tmpFr3.pack(side=RIGHT)
        Checkbutton(self.tmpFr3,
                    text="Na výšku",
                    variable=self.icon,
                    onvalue=True,
                    offvalue=False,
                    command=self.showicon).pack(side=TOP, anchor=W)
        self.showicon()
        self.page.pack(side=LEFT)

        Checkbutton(self.tmpFr3,
                    text="Kompletovat",
                    variable=self.complete,
                    onvalue=True,
                    offvalue=False).pack(side=TOP, anchor=W)
        self.pdialog.grab_set()
        root.wait_window(self.pdialog)