MetadataPanel.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. from AppShell import *
  2. from TkGlobal import *
  3. class MetadataPanel(AppShell,Pmw.MegaWidget):
  4. appversion = '1.0'
  5. appname = 'Metadata Panel'
  6. frameWidth = 400
  7. frameHeight = 400
  8. padx = 0
  9. pady = 0
  10. usecommandarea = 0
  11. usestatusarea = 0
  12. Metatag=""
  13. Metanode=None
  14. tag_text=None
  15. def __init__(self,nodePath,parent=None,**kw):
  16. # Initialise superclass
  17. Pmw.MegaWidget.__init__(self, parent)
  18. # Define the megawidget options.
  19. optiondefs = (
  20. ('title', self.appname, None),
  21. )
  22. self.defineoptions(kw, optiondefs)
  23. self.Metanode=nodePath
  24. if(nodePath.hasTag("Metadata")):
  25. self.Metatag=self.Metanode.getTag("Metadata")
  26. if parent == None:
  27. self.parent = Toplevel()
  28. AppShell.__init__(self, self.parent)
  29. self.parent.resizable(False,False)
  30. def appInit(self):
  31. print "Metadata Panel"
  32. def createInterface(self):
  33. interior = self.interior()
  34. mainFrame = Frame(interior)
  35. tag_label=Label (mainFrame,text="Enter Metadata",font=('MSSansSerif', 15),
  36. relief = RIDGE, borderwidth=5)
  37. tag_label.pack()
  38. source=StringVar()
  39. source.set(self.Metatag)
  40. self.tag_text=Entry(mainFrame, width=10,textvariable=source)
  41. self.tag_text.pack()
  42. set_button=Button(mainFrame, text='Set Metadata',font=('MSSansSerif', 15),
  43. relief = RIDGE, borderwidth=5, command= lambda:self.SetIt())
  44. set_button.pack()
  45. mainFrame.pack(fill = 'both', expand = 1)
  46. def SetIt(self):
  47. self.Metanode.setTag("Metadata",self.tag_text.get())