def body(self, top):
     ''' define GUI elements'''
     f = tix.Frame(top)
     f.pack(expand=True, fill='x')
     for row, opt in enumerate(self.options):
         tix.Label(f, text=opt[0]).grid(row=row, column=0, sticky='w')
         e = tix.Entry(f)
         e.grid(row=row, column=1, sticky='e')
         e.insert('end', str(opt[1]))
         self.entries.append(e)
Пример #2
0
    def sequentEntryBox(self, parent):
        seqFrame = tix.Frame(parent)

        label = tix.Label(seqFrame, text='Sequent')
        label.grid(row=0, column=0, padx=5, pady=5)

        self.sequentEntry = tix.Entry(seqFrame, width=100)
        self.sequentEntry.grid(row=0, column=1, padx=5, pady=5)

        self.proveBtn = tix.Button(seqFrame,
                                   text='Prove',
                                   command=self.onProveButton)
        self.proveBtn.grid(row=0, column=2, padx=5, pady=5)

        seqFrame.pack(fill=tix.X, ipadx=5, padx=40, pady=15)
Пример #3
0
    def __init__(self, master, proc_fn):
        self.master = master
        self.frame = tix.Frame(master)
        self.frame.width = 150
        self.frame.rowconfigure(0, minsize=15)
        self.frame.rowconfigure(3, minsize=15)
        self.frame.rowconfigure(5, minsize=15)
        self.frame.rowconfigure(7, minsize=15)
        self.frame.columnconfigure(0, minsize=15)
        self.frame.columnconfigure(4, minsize=15)
        self.frame.pack()

        tix.Label(self.frame, text="Archivo de Entrada :").grid(row=2,
                                                                sticky=tix.W)
        tix.Label(self.frame, text="Archivo de Salida  :").grid(row=4,
                                                                sticky=tix.W)

        self.input = tix.Entry(self.frame)
        self.input.grid(row=2, column=3)
        tix.Button(self.frame, text="...",
                   command=self.get_input).grid(row=2, column=2)
        self.output = tix.Entry(self.frame)
        self.output.grid(row=4, column=3)
        tix.Button(self.frame, text="...",
                   command=self.set_output).grid(row=4, column=2)

        tix.Button(self.frame, text="Cancelar",
                   command=self.frame.quit).grid(row=6, column=1)
        tix.Button(self.frame, text="Procesar", command=proc_fn).grid(row=6,
                                                                      column=3)

        self.box = None
        self.in_out_state = None
        self.ready = False
        self.in_file = None
        self.out_file = None
Пример #4
0
def get_human_captcha(buffer):
    get_human_captcha.res = ''

    def callback(ev):
        get_human_captcha.res = inp.get()
        window.destroy()
    window = Tix.Tk()
    im = Image.open(io.BytesIO(buffer))
    img = ImageTk.PhotoImage(im)
    Tix.Label(window, image=img).pack()
    window.bind("<Return>", callback)
    inp = Tix.Entry(window)
    inp.pack()
    inp.focus_set()
    window.mainloop()
    return get_human_captcha.res
Пример #5
0
    def body(self, master):
        message = """Proof Builder has determined that the conclusion
      contains atomic forms not found in any of the premises.  To
      continue with this inference provide values for these forms."""

        label1 = tix.Label(master, text=message)
        label1.grid(row=0, column=0, columnspan=2)

        label2 = tix.Label(master, text='sequent')
        label2.grid(row=1, column=0)

        label3 = tix.Label(master, text=str(self._sequent), relief=tix.SUNKEN)
        label3.grid(row=1, column=1)

        for row, pair in enumerate(self.unmappedSymbolMap):
            label4 = tix.Label(master, text=(pair[0] + ':'))
            label4.grid(row=row + 2, column=0)

            entry = tix.Entry(master)
            entry.grid(row=row + 2, column=1)

            self._entries.append((pair[0], entry))
Пример #6
0
import tkinter.tix as tk

# create the event handler to clear the text
def evClear():
  txt = stHistory.subwidget('text')
  txt.insert('end',eHello.get()+'\n')
  eHello.delete(0, 'end')

# create the top level window/frame
top = tk.Tk()
F = tk.Frame(top)
F.pack(fill="both")

# Now the frame with text entry
fEntry = tk.Frame(F, border=1)
eHello = tk.Entry(fEntry)
eHello.pack(side="left")
stHistory = tk.ScrolledText(fEntry, width=150, height=55)
stHistory.pack(side="bottom", fill="x")
fEntry.pack(side="top")

# Finally the frame with the buttons. 
# We'll sink this one for emphasis
fButtons = tk.Frame(F, relief="sunken", border=1)
bClear = tk.Button(fButtons, text="Clear Text", command=evClear)
bClear.pack(side="left", padx=5, pady=2)
bQuit = tk.Button(fButtons, text="Quit", command=F.quit)
bQuit.pack(side="left", padx=5, pady=2)
fButtons.pack(side="top", fill="x")

# Now run the eventloop
Пример #7
0
    def _createWidgets_(self):
        self.fsFrame = tk.Frame(self.mFrame)
        self.tk_setPalette(background = '#F2D7D5') ##F2D7D5
        self.btQuit = tk.Button(self.mFrame)
        self.btQuit.config(text = 'Завершить', command = self.root.destroy)
        self.btQuit.pack(side =tk.BOTTOM)
        ##self.loadFrame = tk.LabelFrame(self.fsFrame)
        ##self.listBMsg = tk.Listbox(self.loadFrame, relief='flat')

        self.topElemsFrame = tk.Frame(self.fsFrame)
        self.btnLstFrame = tk.LabelFrame(self.topElemsFrame)
        self.smplUnqOptFrame = tk.Frame(self.topElemsFrame)
        
        self.smplUnqOptLabelF = tk.LabelFrame(self.smplUnqOptFrame)
        
        self._lbSmplUnqOptLabelF_ = self.getSubWgts(self.smplUnqOptLabelF, tk._dummyLabel)
        self._lbSmplUnqOptLabelF_.config(text = "Уник. сэмпл.")
        self._frSmplUnqOptLabelF_ = self.getSubWgts(self.smplUnqOptLabelF, tk._dummyFrame)
        
        self.cbIfCutUrl = tk.Checkbutton(self._frSmplUnqOptLabelF_, text = "Сократ. Url в назв. сэмпл.", variable = self._varIfCutUrlInSmpl_)
        
        self.smplThruNum = tk.LabelFrame(self._frSmplUnqOptLabelF_)
        self._lbSmplThruNum_ = self.getSubWgts(self.smplThruNum, tk._dummyLabel)
        self._lbSmplThruNum_.config(text = "Скозн. нумер.")
        self._frSmplThruNum_ = self.getSubWgts(self.smplThruNum, tk._dummyFrame)
        self.smplThruNumCntrl = tk.Radiobutton(self._frSmplThruNum_, text = "Контроллер", variable = self._varRbSmplThruNum_, value = "Controller")
        self.smplThruNumThGr = tk.Radiobutton(self._frSmplThruNum_, text = "ТредГрупп", variable = self._varRbSmplThruNum_, value = "ThreadGroup")
        self.smplThruNumTstPl = tk.Radiobutton(self._frSmplThruNum_, text = "ТестПлан", variable = self._varRbSmplThruNum_, value = "TestPlan")
        self.smplThruNumCntrl.pack(side = tk.TOP, anchor = tk.W)
        self.smplThruNumThGr.pack(side = tk.TOP, anchor = tk.W)
        self.smplThruNumTstPl.pack(side = tk.TOP, anchor = tk.W)
        
        self.cbIfNotRstrUnqInSmpl = tk.Checkbutton(self._frSmplUnqOptLabelF_, text = "Не восст. ориг. назв. сэмпл.", variable = self._varCbIfNotRstrUnqInSmpl_)
        
        self.cbIfCutUrl.pack(side = tk.TOP, anchor = tk.W)
        self.smplThruNum.pack(side = tk.TOP, anchor = tk.W)
        self.cbIfNotRstrUnqInSmpl.pack(side = tk.TOP, anchor = tk.W)
        
        self.smplUnqOptLabelF.pack(anchor = tk.E)
        self.smplUnqOptFrame.config(width = self.smplThruNum.winfo_reqwidth(), padx = 100)
        
        self.paramVolatilFrame = tk.Frame(self.topElemsFrame)
        self.update_idletasks()
        leftCornerWidth = self._frSmplUnqOptLabelF_.winfo_reqwidth() + int(self.smplUnqOptLabelF.cget("borderwidth")) * 2
        leftCornerHeight = self.smplUnqOptLabelF.winfo_reqheight() + 2
        self.paramVolatilFrame.config(width = leftCornerWidth + 202, height = leftCornerHeight)
        self.paramVolatilFrame.pack_propagate(0)
        
        self.paramVolatilLabel = tk.LabelFrame(self.paramVolatilFrame)
        self._lbParamVolatilLabel_ = self.getSubWgts(self.paramVolatilLabel, tk._dummyLabel)
        self._lbParamVolatilLabel_.config(text = "Статистика")
        self._frParamVolatilLabel_ = self.getSubWgts(self.paramVolatilLabel, tk._dummyFrame)
        
        self.frBtGetVolatilPrm = tk.Frame(self._frParamVolatilLabel_)
        self.btBtGetVolatilPrm = tk.Button(self.frBtGetVolatilPrm, text="Получ. стат. по парам.")

        self.rBtGetVolatilPrm = tk.Radiobutton(self.frBtGetVolatilPrm, text = 'Волатил.   ', variable = self._volatilPrm_, value = True)
        self.rBtGetNonVolatilPrm = tk.Radiobutton(self.frBtGetVolatilPrm, text = 'Не волатил.', variable = self._volatilPrm_, value = False)
        self.btBtGetVolatilPrm.config(relief='groove')
        self.btBtGetVolatilPrm.config(command = self.prcdfGetVolatilPrms)
        self.frBtGetVolatilPrm.pack(side = tk.TOP, anchor = tk.W)
        self.btBtGetVolatilPrm.pack(side = tk.LEFT)
        self.rBtGetVolatilPrm.pack(side = tk.TOP, anchor = tk.W)
        self.rBtGetNonVolatilPrm.pack(side = tk.TOP, anchor = tk.W)

        self.paramVolatilLabel.pack(anchor = tk.W)

        ##self.msgsToAscFrame = tk.Listbox(self.loadFrame, relief='flat', selectmode='multiple')
        ##self.vScroll = tk.Scrollbar(self.loadFrame, orient=tk.VERTICAL)
        ##self.msgsToAscFrame.config( yscrollcommand=self.vScroll.set)
        self.consFrame = tk.LabelFrame(self.mFrame)
        #self.varsFrame = tk.LabelFrame(self.fsFrame)

        ##self.btnCollctnFrame = tk.LabelFrame(self.fsFrame)
        
        self.mCllctnFrame = tk.Frame(self.mFrame)
        
        self._lbBtnLstFrame_ = self.getSubWgts(self.btnLstFrame, tk._dummyLabel)
        self._lbBtnLstFrame_.config(text = 'Раб. с исх. Xml-дер.')
        self._frBtnLstFrame_ = self.getSubWgts(self.btnLstFrame, tk._dummyFrame)
        
        self.varsFrame = tk.Frame(self._frBtnLstFrame_, borderwidth=2, bg = 'blue')
        self.vrSPathFrame = tk.Label(self.varsFrame)
        self.vrFnameFrame = tk.Label(self.varsFrame)
        self.vrUnqFNmFrame = tk.Label(self.varsFrame)
        #self.vrPileCllctnFrame = tk.Label(self.varsFrame)
        self.vrRestreFNmFrame = tk.Label(self.varsFrame)
        
        self._btnLstFrame_ = tk.Frame(self._frBtnLstFrame_, borderwidth = 2)
        
        self.btCatchJMXFiles = tk.Button(self._btnLstFrame_, text="Собрать все \n.jmx файлы", fg="green")
        
	#self.btCatchJMXFiles.config(command = self.testFrame)
        self.btCatchJMXFiles.config(command = self.prcdCatchJMXFiles)
        self.btCatchJMXFiles.config(relief='raised')
        self.btCatchJMXFiles.pack(fill = 'x')
        #self.jmscdObj.setFName = 'toParce.jmx'

        self.btGetJMXMkTree = tk.Button(self._btnLstFrame_, text="Получить дерево из \n.jmx файла", fg="green")
        self.btGetJMXMkTree.config(command = self.prcdGetJMXMkTree)
        self.btGetJMXMkTree.config(relief='raised')
        self.btGetJMXMkTree.pack(fill = 'x')
        
        self.btTreeUnqNms = tk.Button(self._btnLstFrame_, text="Сген. колл. \nс уник. именами")
        self.btTreeUnqNms.config(command = self.prcdTreeUnqNms)
        self.btTreeUnqNms.config(relief='raised', state = tk.DISABLED)
        self.btTreeUnqNms.pack(fill = 'x')
        
        self.btRstrOrigNms = tk.Button(self._btnLstFrame_, text="Восст. ориг. имена\nдля получен. колл.")
        self.btRstrOrigNms.config(command = self.prcdRstrOrigNms)
        self.btRstrOrigNms.config(relief='raised')
        self.btRstrOrigNms.pack(fill = 'x')
        
        self.vrSPathLabel = tk.Label(self.vrSPathFrame)
        self.vrSPathValue = tk.Entry(self.vrSPathFrame, bg='white')
        self.vrSPathLabel.config(text='Каталог с (*.jmx)  файл.:', justify = tk.LEFT)
        self.vrSPathValue.config(justify = tk.LEFT)
        self.vrSPathValue.insert(0, self.jmscdObj.setPATH)
        self.vrSPathLabel.pack(side = tk.LEFT)
        self.vrSPathValue.pack(side = tk.LEFT)
        self.vrSPathFrame.pack(side = tk.TOP)
        
        self.vrFnameLabel = tk.Label(self.vrFnameFrame)
        self.vrFnameValue = tk.Entry(self.vrFnameFrame, bg='white')
        self.vrFnameLabel.config(text='Файл(*.jmx) для парам.:', justify = tk.LEFT)
        self.vrFnameValue.config(justify = tk.LEFT)
        self.vrFnameValue.insert(0, self.jmscdObj.setFName)
        self.vrFnameLabel.pack(side = tk.LEFT)
        self.vrFnameValue.pack(side = tk.LEFT)
        self.vrFnameFrame.pack(side=tk.TOP)
        
        self.vrUnqFNmLabel = tk.Label(self.vrUnqFNmFrame)
        self.vrUnqFNmValue = tk.Entry(self.vrUnqFNmFrame, bg = 'white')
        self.vrUnqFNmLabel.config(text='Файл(*.jmx), униф. элм.:', justify = tk.LEFT)
        self.vrUnqFNmValue.config(justify = tk.LEFT)
        self.vrUnqFNmValue.insert(0, self.jmscdObj.outFileUniqueNames)
        self.vrUnqFNmLabel.pack(side = tk.LEFT)
        self.vrUnqFNmValue.pack(side = tk.LEFT)
        self.vrUnqFNmFrame.pack(side=tk.TOP)
        
        self.vrRestreFNmLabel = tk.Label(self.vrRestreFNmFrame)
        self.vrRestreFNmValue = tk.Entry(self.vrRestreFNmFrame, bg = 'white')
        self.vrRestreFNmLabel.config(text='Файл(*.jmx), восcт. элм.:', justify = tk.LEFT)
        self.vrRestreFNmValue.config(justify = tk.LEFT)
        self.vrRestreFNmValue.insert(0, self.jmscdObj.outFileRestrdOrig)
        self.vrRestreFNmLabel.pack(side = tk.LEFT)
        self.vrRestreFNmValue.pack(side = tk.LEFT)
        self.vrRestreFNmFrame.pack(side=tk.TOP)
        
        self._btnLstFrame_.pack(side = tk.TOP)
        self.varsFrame.pack(side=tk.TOP)
        ##
        
        
        self.frPileOptns = tk.LabelFrame(self.mCllctnFrame)
        self._lbFrPileOptns_ = self.getSubWgts(self.frPileOptns, tk._dummyLabel)
        self._lbFrPileOptns_.config(text = 'Получ. осн. колл.')
        self._frPileOptns_ = self.getSubWgts(self.frPileOptns, tk._dummyFrame)
        self.scrollPileMCllt = tk.Scrollbar(self._frPileOptns_, orient = tk.VERTICAL)
        self.scrollPileMCllt.pack(side = tk.RIGHT, fill = 'y')
        self.lsbxPileMCllct = tk.Listbox(self._frPileOptns_, height = 4, width = 34, yscrollcommand = self.scrollPileMCllt.set)

        for itm in range(4):
            self.lsbxPileMCllct.insert(tk.END, '--')
            
        self.btPileMCllct = tk.Button(self._frPileOptns_, text="Аккумул. раб. коллекц.")
        self.btPileMCllct.config(command = self.prcdPileMCllct, relief='groove')
        self.lsbxPileMCllct.pack(side = tk.TOP)
        self.btPileMCllct.pack(side = tk.TOP)
        self.frPileOptns.pack(side = tk.LEFT)
        
        self.scrollPileMCllt.config(command = self.lsbxPileMCllct.yview)
        
        self.frOutRslts = tk.LabelFrame(self.mCllctnFrame)
        self._lbFrOutRslts_ = self.getSubWgts(self.frOutRslts, tk._dummyLabel)
        self._lbFrOutRslts_.config(text = 'Текущ. знач.')
        self._frOutRslts_ = self.getSubWgts(self.frOutRslts, tk._dummyFrame)
        self.entStrVar = tk.StringVar(self._frOutRslts_)
        #self.entStrVar.set(self.jmscdObj.entityNames[2]) # default value
        self.lstWrkEnts = tk.OptionMenu(self._frOutRslts_, variable = self.entStrVar)
        for ent in self.jmscdObj.entityNames:
            self.lstWrkEnts.add_command(ent)
        self.entStrVar.set(self.jmscdObj.entityNames[2])
        #self.lstWrkEnts = tk.Listbox(self.mCllctnFrame)
        
        ##Опция выбора сущности на данный момент выключена
        ####self.lstWrkEnts.pack(side = tk.TOP)
        self.tstOutText = tk.Text(self._frOutRslts_, state = tk.DISABLED, bg='#FFEFD5')#, width=64)
        self.tstOutText.pack(side = tk.TOP)
        self.txtWdgtDelete(False)
        self.txtWdgtInsert(self._initText_)
        #
        self.frWrInfExtCntrlElm = tk.Frame(self._frOutRslts_)
        self.btWriteChngsToF = tk.Button(self.frWrInfExtCntrlElm, text='Запис. изм.\nв файл')
        self.btWriteChngsToF.config(command = self.prcdWrtXmlTree)
        self.btUpdateXMLTree = tk.Button(self.frWrInfExtCntrlElm, text='Обнов. \nxml-дерево')
        self.btUpdateXMLTree.config(command = self.prcdUpdtXMLTree, state = tk.DISABLED)
        self.btUpdateXMLTree.pack(side = tk.LEFT)
        self.btWriteChngsToF.pack(side = tk.LEFT)
        self.frWrInfExtCntrlElm.pack(side = tk.BOTTOM)
        #
        self.frOutRslts.pack(side = tk.LEFT)

        ###
        
        self.frGetCollctnData = tk.Frame(self.mCllctnFrame)
        #
        self.frGetListKeys = tk.LabelFrame(self.frGetCollctnData)
        self._frGetListKeys_ = self.getSubWgts(self.frGetListKeys, tk._dummyFrame)
        self.frBtGetLstKeys = tk.Frame(self._frGetListKeys_)
        self.btGetListKeys = tk.Button(self.frBtGetLstKeys, text="Список получ. ключей:")
        self.varRBtLstKeys = tk.IntVar()
        self.varRBtLstKeys.set(1)
        self.rBtLstKeysPrms = tk.Radiobutton(self.frBtGetLstKeys, text = 'Парам. ', variable = self.varRBtLstKeys, value = 1)
        self.rBtLstKeysLnks = tk.Radiobutton(self.frBtGetLstKeys, text = 'Ссылки', variable = self.varRBtLstKeys, value = 2)
        self.btGetListKeys.config(relief='groove')
        self.btGetListKeys.config(command = self.prcdfGetListKeys)
        self._lbGetListKeys_ = self.getSubWgts(self.frGetListKeys, tk._dummyLabel)
        self._lbGetListKeys_.config(text = 'Раб. с осн. коллекц.')
        self.frBtGetLstKeys.pack(side = tk.TOP, anchor = tk.W)
        self.btGetListKeys.pack(side = tk.LEFT)
        self.rBtLstKeysPrms.pack(side = tk.TOP, anchor = tk.E)
        self.rBtLstKeysLnks.pack(side = tk.TOP, anchor = tk.E)
        self.frGetListKeys.pack(side = tk.TOP, fill = 'x')
        #
        self.frGetDictData = tk.Frame(self._frGetListKeys_)
        self.frGetDictData.config(borderwidth = 2, bg = 'green')
        ##
        self.frGetDataDictItem = tk.Frame(self.frGetDictData)
        self.vlGetDataDictItem = tk.Entry(self.frGetDataDictItem, bg='white')
        self.vlGetDataDictItem.insert(0, '<знач.ключа>')
        self.btGetDataDictItem = tk.Button(self.frGetDataDictItem, text="Все знач.\nпо задан. ключу:")
        self.btGetDataDictItem.config(command = self.prcdGetDataDictItem)
        self.btGetDataDictItem.config(relief='groove')
        self.btGetDataDictItem.pack(side= tk.LEFT)
        self.vlGetDataDictItem.pack(side = tk.RIGHT, fill = 'y')
        self.frGetDataDictItem.pack(side = tk.TOP)
        ##
        self.frGetScrLstByNm = tk.Frame(self.frGetDictData)
        self.btGetScrLstByNm = tk.Button(self.frGetScrLstByNm, text="Все контрлр.\nпо задан. ключу:")
        self.btGetScrLstByNm.config(command = self.prcdGetScrLstByNm)
        self.btGetScrLstByNm.config(relief='groove')
        self.vlGetScrLstByNm = tk.Entry(self.frGetScrLstByNm, bg='white')
        self.vlGetScrLstByNm.insert(0, '<знач.ключа>')
        self.chkBtVar = tk.BooleanVar(self.frGetScrLstByNm)
        self.chkBtVar.set(False)
        self.chkGetScrLstByNm = tk.Checkbutton(self.frGetScrLstByNm, text='Вывод сэмплр.', variable=self.chkBtVar)
        self.btGetScrLstByNm.pack(side= tk.LEFT)
        self.vlGetScrLstByNm.pack(side = tk.TOP)
        self.chkGetScrLstByNm.pack(side = tk.LEFT)
        self.frGetScrLstByNm.pack(side = tk.TOP)
        ##
        self.frGetScrFncByKeyVal = tk.Frame(self.frGetDictData)
        self.btGetScrFncByKeyVal = tk.Button(self.frGetScrFncByKeyVal, text="Все контрлр.\nпо  паре  кл.-зн.:")
        self.btGetScrFncByKeyVal.config(command = self.prcdGetScrFncByKeyVal)
        self.btGetScrFncByKeyVal.config(relief='groove')
        self.vlGetScrFncByKeyVal = tk.Entry(self.frGetScrFncByKeyVal, bg='white')
        self.vlGetScrFncByKeyVal.insert(0, '<знач.ключа>')
        self.vrGetScrFncByKeyVal = tk.Entry(self.frGetScrFncByKeyVal, bg='white')
        self.vrGetScrFncByKeyVal.insert(0, '<знач.парам.>')
        self.chkKeyVlVar = tk.BooleanVar(self.frGetScrFncByKeyVal)
        self.chkKeyVlVar.set(False)
        self.chkGetScrFncByKeyVal = tk.Checkbutton(self.frGetScrFncByKeyVal, text='Вывод сэмплр.', variable=self.chkKeyVlVar)
        self.btGetScrFncByKeyVal.pack(side= tk.LEFT, fill='y')
        self.vlGetScrFncByKeyVal.pack(side = tk.TOP)
        self.vrGetScrFncByKeyVal.pack(side = tk.TOP)
        self.chkGetScrFncByKeyVal.pack(side = tk.LEFT)
        self.frGetScrFncByKeyVal.pack(side = tk.TOP, fill='x')
        ##
        self.frGetValByKSF = tk.Frame(self.frGetDictData)
        self.frGetValByKSF.config(borderwidth = 1, bg = 'red')
        self.blnMsg = tk.Balloon(self.frGetValByKSF, initwait = 350, bg='yellow')
        self.blnMsgText = 'Внимание!\nНазвания контроллеров и сэмплеров (возможно) были изменены,\nследует сверять в jmeter по файлу "(*.jmx) униф. эл"'
        self.blnMsg.bind_widget(self.frGetValByKSF, msg = self.blnMsgText)
        self.btGetValByKSF = tk.Button(self.frGetValByKSF, text="Значен. для\n кл.-кнтр.-смпл.:")
        self.btGetValByKSF.config(command = self.prcdGetValByKSF)
        self.btGetValByKSF.config(relief='groove')
        self.vlGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white')
        self.vlGetValByKSF.insert(0, '<знач.ключа>')
        self.ctGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white')
        self.ctGetValByKSF.insert(0, '<назв. контрлр.>')
        self.smGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white')
        self.smGetValByKSF.insert(0, '<назв. сэмплр.>')
        self.btGetValByKSF.pack(side= tk.LEFT, fill='y')
        self.vlGetValByKSF.pack(side = tk.TOP)
        self.ctGetValByKSF.pack(side = tk.TOP)
        self.smGetValByKSF.pack(side = tk.TOP)
        self.frGetValByKSF.pack(side = tk.TOP, fill='x')
        ##
        self.frSetValsToSlctn = tk.Frame(self._frGetListKeys_, pady = 2)
        self.btSetValsToSlctn = tk.Button(self.frSetValsToSlctn, text = 'Установ.\n для дан.\n элемен.\n словар.')
        self.btSetValsToSlctn.config(command = self.prcdSetValsToSlctn, state = tk.DISABLED, relief = "groove")
        self.lblSetValsToSlctn = tk.Label(self.frSetValsToSlctn, text = ' <==> ')
        self.entSetValsToSlctn = tk.Entry(self.frSetValsToSlctn, bg='white')
        self.entSetValsToSlctn.insert(0, '*новое знач.*')
        self.btSetValsToSlctn.pack(side = tk.LEFT, anchor=tk.W)
        self.lblSetValsToSlctn.pack(side = tk.LEFT)
        self.entSetValsToSlctn.pack(side = tk.RIGHT, anchor=tk.E)
        ###
        self.frGetDictData.pack(side = tk.TOP)
        self.frSetValsToSlctn.pack(side = tk.TOP, anchor = tk.W)
        #
        self.frGetCollctnData.pack(side = tk.LEFT)

        #for lstEntr in self.jmscdObj.entityNames:
        #    self.lstWrkEnts.insert(tk.END, lstEntr)
        
        self.fsFrame.pack(side="top", fill='x')
        self.mCllctnFrame.pack(side=tk.LEFT, fill='x')
        ##self.loadFrame.pack(side="top", fill='x')
        self.smplUnqOptFrame.pack(side = tk.RIGHT, anchor = tk.E)
        self.btnLstFrame.pack(side = tk.RIGHT)
        self.paramVolatilFrame.pack(side = tk.RIGHT)
        self.topElemsFrame.pack(side="top", fill='y')
Пример #8
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()
Пример #9
0
    def refresh(self, bundle):
        # Nustatomas lango pavadinimas
        self._controller.title(Constants.TITLE_HOME)
        # Isvalomi pries tai lange buve elementai pasinaudojant elementu is klases WindowUtils (paveldejimas)
        self.clearWindow()

        infoLabel = tkx.Label(
            self,
            text=
            "Iveskite didesni uz 0 sveika skaiciu \nis kurio bus sugeneruotas jusu nurodyto dydzio teigiamu skaiciu masyvas"
        )
        infoLabel.pack()

        self._numberValue = tkx.StringVar(self)
        self._numberValue.trace("w", self.entryChangeListener)

        self._threadValue = tkx.StringVar(self)
        self._threadValue.trace("w", self.entryChangeListener)

        self._numberEntry = tkx.Entry(self, textvariable=self._numberValue)
        self._numberEntry.pack()

        threadInfoLabel = tkx.Label(
            self,
            text=
            "Iveskite sveika skaiciu, kuris nurodys pasirinktu giju kieki (maziausiai 1, daugiausiai 3)"
        )
        threadInfoLabel.pack()

        self._threadsEntry = tkx.Entry(self, textvariable=self._threadValue)
        self._threadsEntry.pack()

        typeInfoLabel = tkx.Label(
            self, text="Pasirinkite programos veiksmu vykdymo budus")
        typeInfoLabel.pack()

        self._choicesFrame = tkx.Frame(self)
        self._choicesFrame.pack()

        # CheckBoxes arba kitaip veiksmu vykdymo tipu pasarinkimas
        self._choices = ("Nuoseklus vykdymas", "Gijomis paremtas vykdymas")
        self._optionsMenuValue = []
        self._optionsMenuButtons = []
        for i in range(len(self._choices)):
            # Nustatoma mygtuko reiksme. 1 - pasirinkta, 0 - nepasirinkta
            self._optionsMenuValue.append(tkx.IntVar(value=1))
            self._optionsMenuValue[i].trace("w", self.entryChangeListener)
            self._optionsMenuButtons.append(
                tkx.Checkbutton(self._choicesFrame,
                                text=self._choices[i],
                                variable=self._optionsMenuValue[i],
                                onvalue=1,
                                offvalue=0))
            self._optionsMenuButtons[i].pack()

        self._buttonsFrame = tkx.Frame(self)
        self._buttonsFrame.pack()

        self._submitButton = tkx.Button(self._buttonsFrame, text="Vykdyti")
        self._submitButton.pack(
            side="left",
            anchor=tkx.NW,
            expand=True,
        )
        # Veiksmu vykdyma perkeliu i atskira Thread'a, kad neatsitiktu taip, jog esant dideliam duomenu kiekiui
        # programa taps "not responding"
        self._submitButton.config(
            command=lambda: threading.Thread(target=self.doActions).start(),
            state='disabled')

        self._clearButton = tkx.Button(self._buttonsFrame, text="Isvalyti")
        self._clearButton.pack(
            side="left",
            anchor=tkx.NW,
            expand=True,
        )
        self._clearButton.config(command=partial(self._actionClear))

        self._exitButton = tkx.Button(self._buttonsFrame, text="Uzdaryti")
        self._exitButton.pack(
            side="left",
            anchor=tkx.NW,
            expand=True,
        )
        self._exitButton.config(command=lambda: self._controller.exit())

        self._errorLabel = tkx.Label(self, text="")
        self._errorLabel.pack()

        self._progressLabel = tkx.Label(self, text="")
        self._progressLabel.pack()
Пример #10
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()
Пример #11
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()
Пример #12
0
        def __init__(self, master=None, cards=list()):
                if master is None :
                        self.main = tix.Tk()
                else :
                        self.main = master
                self.main.resizable(False, True)

                # left part : list of all the cards
                self._cards = list() # for mention only ; self.update fills it
                # self._cards represents all the stored cards
                # self.cards is self._cards after user-filtering
                # see update and below
                self.names = tix.ScrolledListBox(self.main)
                self.names.listbox.configure(width=30, bg="#ffffff")

                # right part : single-card details and picture
                # top : picture
                self.imglbl = tix.Label(self.main)
                self.flipped = False

                # bottom : filters
                self.rightpart = tix.Frame(self.main)

                self.sort = LabelFrame(self.rightpart, text="Trier par : ")
                self.sortby = tix.StringVar(self.sort, "foreign_name")
                self.sort_buttons = list()
                for i, (d,s) in enumerate(SORT_PARAMS) :
                        b = tix.Radiobutton(self.sort, text=d, value=s, variable=self.sortby)
                        b.grid(row=i, column=0, sticky="w")
                        self.sort_buttons.append(b)

                self.filter = LabelFrame(self.rightpart, text="Filtrer :")
                self.filter_query = tix.StringVar(self.filter)
                self.f_e = tix.Entry(self.filter, textvariable=self.filter_query, width=30)

                # buttons to add a card
                self.addacard = tix.Button(self.rightpart, text=" + ", command=self.search)
                self.askcode =  tix.Button(self.rightpart, text=" ? ", command=self.showsets)
                self.set_codes = None

                self.main.bind_all("<Control-s>", self.save)
                self.main.bind_all("<Control-o>", self.load)
                self.names.listbox.bind_all("<<ListboxSelect>>", self.display_card)
                self.main.bind_all("<KP_Add>", self.inc) # "+" from the numeric pad
                self.main.bind_all("<plus>", self.inc) # "+" from the alphabetic pad
                self.main.bind_all("<KP_Subtract>", self.dec) # idem
                self.main.bind_all("<minus>", self.dec)
                self.sortby.trace("w", lambda x,y,z:self.update(self.cards))
                self.filter_query.trace("w", lambda x,y,z:self.update())
                self.imglbl.bind("<Button-1>",self.switch_img)


                self.names.pack(side="left", fill="y")
                self.imglbl.pack(side="top", fill="x")
                self.rightpart.pack(side="top", fill="both", expand=True)
                self.sort.grid(row=0, column=0, sticky="nsew")
                self.f_e.pack()
                self.filter.grid(row=0, column=1, columnspan=3, sticky="nsew")
                self.addacard.grid(row=1, column=3)
                self.askcode.grid(row=1, column=2)
                # these were useful when there was no filter above to fill the place...
                self.rightpart.grid_rowconfigure(0, weight=1)
                self.rightpart.grid_columnconfigure(1, weight=1)

                self.update(cards)
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        self.master = master
        self.isRunning = False
        self.Hz = []
        self.HP = []
        self.RPM = []
        self.Time = []
        self.Notes = []

        #master.title("Attritor Scrape")

        #print(Hz)

        pageLabel = tk.Label(master, text='HTML page')
        pageLabel.pack()
        self.pageVar = tk.StringVar()
        #pageVar.set('Feature Currently not Working')
        #pageEntry = tk.Entry(master,textvariable=pageVar, width = 50)
        #pageEntry.pack()
        """
        pages = [('VHM1','http://10.10.92.175/process_display_0.htm'),
                 ('VHM2','http://10.10.92.63/process_display_0.html'),
                 ('VS1','http://10.10.92.51/process_display_0.html'),
                 ('VS2','http://10.10.92.106/process_display_0.html'),
                ]
        pageVar.set('http://10.10.92.175/process_display_0.html')
        """
        pages = [
            ('VHM1', 'VHM1'),
            ('VHM2', 'VHM2'),
            ('VS1', 'VS1'),
            ('VS2', 'VS2'),
        ]
        self.pageVar.set('VHM1')
        for text, page in pages:
            b = tk.Radiobutton(master,
                               text=text,
                               variable=self.pageVar,
                               value=page)
            b.pack()

        filenameLabel = tk.Label(master, text='Filename')
        filenameLabel.pack()
        self.fileVar = tk.StringVar()
        fileEntry = tk.Entry(master, textvariable=self.fileVar, width=50)
        fileEntry.pack()

        sheetLabel = tk.Label(master, text='Sheet Name')
        sheetLabel.pack()
        sheetVar = tk.StringVar()
        sheetEntry = tk.Entry(master, textvariable=sheetVar, width=50)
        sheetEntry.pack()

        emailLabel = tk.Label(master, text='Email')
        emailLabel.pack()
        self.emailVar = tk.StringVar()
        emailEntry = tk.Entry(master, textvariable=self.emailVar, width=50)
        emailEntry.pack()

        runtimeLabel = tk.Label(master, text='Run Time')
        runtimeLabel.pack()
        self.runtimestartVar = tk.StringVar()
        self.runtimecurrentVar = tk.StringVar()
        runtimestartEntry = tk.Entry(master, textvariable=self.runtimestartVar)
        runtimestartEntry.pack()
        runtimecurrentEntry = tk.Entry(master,
                                       textvariable=self.runtimecurrentVar)
        runtimecurrentEntry.pack()
        self.NotesVar = tk.StringVar()
        notesLabel = tk.Label(master, text='Notes')
        notesLabel.pack()
        notesEntry = tk.Entry(master, textvariable=self.NotesVar)
        notesEntry.pack()

        recordbutton = tk.Button(
            master,
            text='Start Recording Data',
            command=lambda: self.runThread(self.pageVar.get()))
        recordbutton.pack()

        erasebutton = tk.Button(master,
                                text='Erase Stored Data',
                                command=lambda: self.eraseStoredData())
        erasebutton.pack()

        writeButton = tk.Button(master,
                                text='Write to Excel',
                                command=lambda: self.writeToExcel(
                                    self.fileVar.get(), sheetVar.get()))
        writeButton.pack()

        plotButton = tk.Button(master,
                               text='Plot HP vs Time',
                               command=lambda: self.plotData())
        plotButton.pack()

        stoprecordbutton = tk.Button(master,
                                     text='Stop Recording Data',
                                     command=lambda: self.stopThread())
        stoprecordbutton.pack()

        resetCountbutton = tk.Button(master,
                                     text='Reset Count',
                                     command=lambda: self.resetCount())
        resetCountbutton.pack()

        subject = 'Attritor Data'
        text = 'Test'
        #emailgetter = lambda y: ['*****@*****.**'] if (emailVar.get() is not '') else [emailVar.get()]
        #emailgetter = self.getEmail()
        emailButton = tk.Button(
            master,
            text='Send Email',
            command=lambda: send_mail(
                '*****@*****.**',
                self.getEmail(),
                subject,
                text,
                files=[self.writeToExcel(self.fileVar.get(), sheetVar.get())],
                username='******',
                password='******'))
        emailButton.pack()

        importFileButton = tk.Button(master,
                                     text='Import Files',
                                     command=lambda: self.importFiles())
        importFileButton.pack()

        plotAllDataButton = tk.Button(master,
                                      text='Plot All Data',
                                      command=lambda: self.plotData2())
        plotAllDataButton.pack()

        RunDataButton = tk.Button(master,
                                  text='RunData',
                                  command=lambda: self.updateRunData())
        RunDataButton.pack()

        #Print2Button = tk.Button(master, text = 'Print2', command = lambda: self.writeToExcel2(self.whileCount-30,-1,self.pageVar.get(),self.fileVar.get()))
        #Print2Button.pack()

        NotifyMeButton = tk.Button(master,
                                   text='Change Notification',
                                   command=lambda: self.changeNotifyToFalse())
        NotifyMeButton.pack()

        self.HP_Cut_Off = tk.StringVar()
        self.HP_Cut_Off.set('5.0')
        HP_Cut_OffLabel = tk.Label(master, text='Cut Off HP')
        HP_Cut_OffLabel.pack()
        HP_Cut_OffEntry = tk.Entry(master, textvariable=self.HP_Cut_Off)
        HP_Cut_OffEntry.pack()

        self.TotalRunTime = tk.StringVar()
        totalRunTimeLabel = tk.Label(master, text='Total Run Time')
        totalRunTimeLabel.pack()
        totalRunTimeEntry = tk.Entry(master, textvariable=self.TotalRunTime)
        totalRunTimeEntry.pack()

        self.PowderWeight = tk.StringVar()
        powderWeightLabel = tk.Label(master, text='Powder Weight (kg)')
        powderWeightLabel.pack()
        powderWeightEntry = tk.Entry(master, textvariable=self.PowderWeight)
        powderWeightEntry.pack()

        self.CumulativePower = tk.StringVar()
        CumulativePowerLabel = tk.Label(master, text='Total Power in Joules')
        CumulativePowerLabel.pack()
        CumulativePowerEntry = tk.Entry(master,
                                        textvariable=self.CumulativePower)
        CumulativePowerEntry.pack()

        self.powerStartTime = tk.StringVar()
        self.powerEndTime = tk.StringVar()
Пример #14
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()
Пример #15
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()