# t k P h o n e . p y # from Tkinter import * from roots import * def whichSelected () : print "At %s of %d" % (select.curselection(), len(rootslist)) return int(select.curselection()[0]) def setSelect () : select.delete(0,END) for name,roots in rootslist : select.insert (END, name) def loadEntry () : name, roots = rootslist[whichSelected()] root = roots pm1s=[root[0],u'\u05D5',u'\u05B9',root[1],u'\u05B5',root[2]] pf1s=[root[0],u'\u05D5',u'\u05B9',root[1],u'\u05B6',root[2],u'\u05B6',u'\u05EA'] pm1p=[root[0],u'\u05D5',u'\u05B9',root[1],u'\u05B0',root[2],u'\u05B4',u'\u05D9',u'\u05DD'] pf1p=[root[0],u'\u05D5',u'\u05B9',root[1],u'\u05B0',root[2],u'\u05D5',u'\u05B9',u'\u05EA'] hn1s=[root[0],u'\u05B8',root[1],u'\u05B7',root[2],u'\u05B0',u'\u05EA',u'\u05BC',u'\u05B4',u'\u05D9'] hm2s=[root[0],u'\u05B8',root[1],u'\u05B7',root[2],u'\u05B0',u'\u05EA',u'\u05BC',u'\u05B8'] hf2s=[root[0],u'\u05B8',root[1],u'\u05B7',root[2],u'\u05B0',u'\u05EA',u'\u05BC',u'\u05B0'] hm3s=[root[0],u'\u05B8',root[1],u'\u05B7',root[2]] hf3s=[root[0],u'\u05B8',root[1],u'\u05B0',root[2],u'\u05B8',u'\u05D4'] hn1p=[root[0],u'\u05B8',root[1],u'\u05B7',root[2],u'\u05B0',u'\u05E0',u'\u05D5',u'\u05BC'] hm2p=[root[0],u'\u05B0',root[1],u'\u05B7',root[2],u'\u05B0',u'\u05EA',u'\u05BC',u'\u05B6',u'\u05DD'] hf2p=[root[0],u'\u05B0',root[1],u'\u05B7',root[2],u'\u05B0',u'\u05EA',u'\u05BC',u'\u05B6',u'\u05DF'] hm3p=[root[0],u'\u05B8',root[1],u'\u05B0',root[2],u'\u05D5',u'\u05BC'] fn1s=[u'\u05D0',u'\u05B6',root[0],u'\u05B0',root[1],u'\u05B9',root[2]] fm2s=[u'\u05EA',u'\u05BC',u'\u05B4',root[0],u'\u05B0',root[1],u'\u05B9',root[2]] ff2s=[u'\u05EA',u'\u05BC',u'\u05B4',root[0],u'\u05B0',root[1],u'\u05B0',root[2],u'\u05B4',u'\u05D9'] fm3s=[u'\u05D9',u'\u05B4',root[0],u'\u05B0',root[1],u'\u05B9',root[2]] fn1p=[u'\u05E0',u'\u05B4',root[0],u'\u05B0',root[1],u'\u05B9',root[2]] fm2p=[u'\u05EA',u'\u05BC',u'\u05B4',root[0],u'\u05B0',root[1],u'\u05B0',root[2],u'\u05D5',u'\u05BC'] ff2p=[u'\u05EA',u'\u05BC',u'\u05B4',root[0],u'\u05B0',root[1],u'\u05B9',root[2],u'\u05B0',u'\u05E0',u'\u05B8',u'\u05D4'] fm3p=[u'\u05D9',u'\u05B4',root[0],u'\u05B0',root[1],u'\u05B0',root[2],u'\u05D5',u'\u05BC'] ims=[root[0],u'\u05B0',root[1],u'\u05B9',root[2]] ifs=[root[0],u'\u05B4',root[1],u'\u05B0',root[2],u'\u05B4',u'\u05D9'] imp=[root[0],u'\u05B4',root[1],u'\u05B0',root[2],u'\u05D5',u'\u05BC'] ifp=[root[0],u'\u05B0',root[1],u'\u05B9',root[2],u'\u05B0',u'\u05E0',u'\u05B8',u'\u05D4'] pm1s="".join(pm1s) pf1s="".join(pf1s) pm1p="".join(pm1p) pf1p="".join(pf1p) hn1s="".join(hn1s) hm2s="".join(hm2s) hf2s="".join(hf2s) hm3s="".join(hm3s) hf3s="".join(hf3s) hn1p="".join(hn1p) hm2p="".join(hm2p) hf2p="".join(hf2p) hm3p="".join(hm3p) fn1s="".join(fn1s) fm2s="".join(fm2s) ff2s="".join(ff2s) fm3s="".join(fm3s) fn1p="".join(fn1p) fm2p="".join(fm2p) ff2p="".join(ff2p) fm3p="".join(fm3p) ims="".join(ims) ifs="".join(ifs) imp="".join(imp) ifp="".join(ifp) nameVar.set(name) pm1sVar.set(pm1s) pf1sVar.set(pf1s) pm1pVar.set(pm1p) pf1pVar.set(pf1p) hn1sVar.set(hn1s) hm2sVar.set(hm2s) hf2sVar.set(hf2s) hm3sVar.set(hm3s) hf3sVar.set(hf3s) hn1pVar.set(hn1p) hm2pVar.set(hm2p) hf2pVar.set(hf2p) hm3pVar.set(hm3p) fn1sVar.set(fn1s) fm2sVar.set(fm2s) ff2sVar.set(ff2s) fm3sVar.set(fm3s) fn1pVar.set(fn1p) fm2pVar.set(fm2p) ff2pVar.set(ff2p) fm3pVar.set(fm3p) imsVar.set(ims) ifsVar.set(ifs) impVar.set(imp) ifpVar.set(ifp) def makeWindow () : global nameVar, pm1sVar, pf1sVar, pm1pVar, pf1pVar, hn1sVar, hm2sVar, hf2sVar, hm3sVar, hf3sVar, hn1pVar, hm2pVar, hf2pVar, hm3pVar, fn1sVar, fm2sVar, ff2sVar, fm3sVar, fn1pVar, fm2pVar, ff2pVar, fm3pVar, imsVar, ifsVar, impVar, ifpVar, select win = Tk() frame1 = Frame(win) frame1.pack() Label(frame1, text=u'\u05E9'u'\u05E8'u'\u05E9').grid(row=0, column=1, sticky=W) nameVar = StringVar() name = Entry(frame1, textvariable=nameVar) name.grid(row=0, column=1, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA'u'\u05D4').grid(row=4, column=4, sticky=W) pm1sVar=StringVar() pm1s = Entry(frame1, textvariable=pm1sVar) pm1s.grid(row=4, column=7, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA').grid(row=5, column=4, sticky=W) pf1sVar=StringVar() pf1s = Entry(frame1, textvariable=pf1sVar) pf1s.grid(row=5, column=7, sticky=W) Label(frame1, text=u'\u05D4'u'\u05DD').grid(row=8, column=4, sticky=W) pm1pVar=StringVar() pm1p = Entry(frame1, textvariable=pm1pVar) pm1p.grid(row=8, column=7, sticky=W) Label(frame1, text=u'\u05D4'u'\u05DF').grid(row=9, column=4, sticky=W) pf1pVar=StringVar() pf1p = Entry(frame1, textvariable=pf1pVar) pf1p.grid(row=9, column=7, sticky=W) Label(frame1, text=u'\u05D0'u'\u05E0'u'\u05D9').grid(row=1, column=5, sticky=W) hn1sVar=StringVar() hn1s = Entry(frame1, textvariable=hn1sVar) hn1s.grid(row=1, column=5, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA'u'\u05D4').grid(row=2, column=5, sticky=W) hm2sVar=StringVar() hm2s = Entry(frame1, textvariable=hm2sVar) hm2s.grid(row=2, column=5, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA').grid(row=3, column=5, sticky=W) hf2sVar=StringVar() hf2s = Entry(frame1, textvariable=hf2sVar) hf2s.grid(row=3, column=5, sticky=W) Label(frame1, text=u'\u05D4'u'\u05D5'u'\u05D0').grid(row=4, column=5, sticky=W) hm3sVar=StringVar() hm3s = Entry(frame1, textvariable=hm3sVar) hm3s.grid(row=4, column=5, sticky=W) Label(frame1, text=u'\u05D4'u'\u05D9'u'\u05D0').grid(row=5, column=5, sticky=W) hf3sVar=StringVar() hf3s = Entry(frame1, textvariable=hf3sVar) hf3s.grid(row=5, column=5, sticky=W) Label(frame1, text=u'\u05D0'u'\u05E0'u'\u05D7'u'\u05E0'u'\u05D5').grid(row=6, column=5, sticky=W) hn1pVar=StringVar() hn1p = Entry(frame1, textvariable=hn1pVar) hn1p.grid(row=6, column=5, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA'u'\u05DD').grid(row=7, column=5, sticky=W) hm2pVar=StringVar() hm2p = Entry(frame1, textvariable=hm2pVar) hm2p.grid(row=7, column=5, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA'u'\u05DF').grid(row=8, column=5, sticky=W) hf2pVar=StringVar() hf2p = Entry(frame1, textvariable=hf2pVar) hf2p.grid(row=8, column=5, sticky=W) Label(frame1, text=u'\u05D4'u'\u05DD').grid(row=9, column=5, sticky=W) hm3pVar=StringVar() hm3p = Entry(frame1, textvariable=hm3pVar) hm3p.grid(row=9, column=5, sticky=W) Label(frame1, text=u'\u05D0'u'\u05E0'u'\u05D9').grid(row=1, column=3, sticky=W) fn1sVar=StringVar() fn1s = Entry(frame1, textvariable=fn1sVar) fn1s.grid(row=1, column=3, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA'u'\u05D4').grid(row=2, column=3, sticky=W) fm2sVar=StringVar() fm2s = Entry(frame1, textvariable=fm2sVar) fm2s.grid(row=2, column=3, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA').grid(row=3, column=3, sticky=W) ff2sVar=StringVar() ff2s = Entry(frame1, textvariable= ff2sVar) ff2s.grid(row=3, column=3, sticky=W) Label(frame1, text=u'\u05D4'u'\u05D5'u'\u05D0').grid(row=4, column=3, sticky=W) fm3sVar=StringVar() fm3s = Entry(frame1, textvariable=fm3sVar) fm3s.grid(row=4, column=3, sticky=W) Label(frame1, text=u'\u05D0'u'\u05E0'u'\u05D7'u'\u05E0'u'\u05D5').grid(row=5, column=3, sticky=W) fn1pVar=StringVar() fn1p = Entry(frame1, textvariable=fn1pVar) fn1p.grid(row=5, column=3, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA'u'\u05DD').grid(row=6, column=3, sticky=W) fm2pVar=StringVar() fm2p = Entry(frame1, textvariable=fm2pVar) fm2p.grid(row=6, column=3, sticky=W) Label(frame1, text=u'\u05D0'u'\u05EA'u'\u05DF').grid(row=7, column=3, sticky=W) ff2pVar=StringVar() ff2p = Entry(frame1, textvariable=ff2pVar) ff2p.grid(row=7, column=3, sticky=W) Label(frame1, text=u'\u05D5'u'\u05DD').grid(row=8, column=3, sticky=W) fm3pVar=StringVar() fm3p = Entry(frame1, textvariable=fm3pVar) fm3p.grid(row=8, column=3, sticky=W) Label(frame1, text=u'\u05D5'u'\u05DF').grid(row=9, column=3, sticky=W) fm3pVar=StringVar() fm3p = Entry(frame1, textvariable=fm3pVar) fm3p.grid(row=9, column=3, sticky=W) Label(frame1, text=u'\u05D4'u'\u05D5'u'\u05D0').grid(row=1, column=1, sticky=W) imsVar=StringVar() ims = Entry(frame1, textvariable=imsVar) ims.grid(row=1, column=1, sticky=W) Label(frame1, text=u'\u05D4'u'\u05D9'u'\u05D0').grid(row=2, column=1, sticky=W) ifsVar=StringVar() ifs = Entry(frame1, textvariable=ifsVar) ifs.grid(row=2, column=1, sticky=W) Label(frame1, text=u'\u05D4'u'\u05DD').grid(row=3, column=1, sticky=W) impVar=StringVar() imp = Entry(frame1, textvariable=impVar) imp.grid(row=3, column=1, sticky=W) Label(frame1, text=u'\u05D4'u'\u05DF').grid(row=4, column=1, sticky=W) ifpVar=StringVar() ifp = Entry(frame1, textvariable=ifpVar) ifp.grid(row=4, column=1, sticky=W) frame2 = Frame(win) # Row of buttons frame2.pack() b1 = Button(frame2,text=" Conjugate! ",command=loadEntry) b1.pack(side=LEFT); frame3 = Frame(win) # select of names frame3.pack() scroll = Scrollbar(frame3, orient=VERTICAL) select = Listbox(frame3, yscrollcommand=scroll.set, height=10) scroll.config (command=select.yview) scroll.pack(side=RIGHT, fill=Y) select.pack(side=LEFT, fill=BOTH, expand=1) return win win = makeWindow() setSelect () win.mainloop()