def test(): import sys, MMTree if sys.argv[1:]: filename = sys.argv[1] else: filename = 'demo.cmif' # print 'parsing', filename, '...' root = MMTree.ReadFile(filename) # print 'quit button ...' quitform = fl.make_form(FLAT_BOX, 50, 50) quitbutton = quitform.add_button(NORMAL_BUTTON, 0, 0, 50, 50, 'Quit') quitform.set_form_position(600, 10) quitform.show_form(PLACE_POSITION, FALSE, 'QUIT') # print 'showattreditor ...' showattreditor(root) # print 'go ...' while 1: obj = fl.do_forms() if obj = quitbutton: hideattreditor(root) break print 'This object should have a callback!', `obj.label`
class AttrEditor(): # def init(self, (node, namelist)): # self.node = node self.namelist = namelist # itemwidth = 450 itemheight = 25 # formwidth = itemwidth formheight = len(namelist) * itemheight + 30 # itemw3 = 50 itemw2 = itemwidth/2 itemw1 = itemwidth - itemw2 - itemw3 # itemx1 = 0 itemx2 = itemx1 + itemw1 itemx3 = itemx2 + itemw2 # form = fl.make_form(FLAT_BOX, formwidth, formheight) self.form = form # self.blist = [] # for i in range(len(namelist)): itemy = formheight - (i+1)*itemheight name = namelist[i] b = ButtonRow().init(self, name) b.makelabeltext(itemx1, itemy, itemw1, itemheight) b.makehelpbutton(itemx1, itemy, itemw1, itemheight) b.makevalueinput(itemx2, itemy, itemw2, itemheight) b.makeresetbutton(itemx3, itemy, itemw3, itemheight) self.blist.append(b) # self.makebuttons(formwidth) # self.getvalues() # form.show_form(PLACE_SIZE, TRUE, 'Attribute Editor') # XXX Should have a more meaningful title # node.attreditor = self # return self
def create_form(fdata): import fl return fl.make_form(FL.NO_BOX, fdata.Width, fdata.Height)
#