class JLYFrame: def __init__(self, filename, Objects=Alpha1): self.Objects = Objects self.actionListeners = [] self.vars = {} self.jlyreader = JLYReader(filename) self.jlyreader.read() self.input = Input(self) self.theme = Theme(self) self.head = Head(self) self.body = Body(self) self.input.build(self.jlyreader.get('In')) def build(self): get = self.jlyreader.get self.root = Tk() self.frame = Frame(self.root) self.frame.pack(fill=BOTH, expand=1) '''self.buttons = {} self.labels = {} self.entries = {}''' for e in self.jlyreader.elements: if e.dType == 'object': if self.Objects.__contains__(e.name): self.Objects[e.name](self, e) self.theme.build(get('Theme')) self.head.build(get('Head')) self.body.build(get('Body')) return self def getComponent(self, label): for comp in self.body.content: if comp.id == label: return comp def actionListener(self, comp): for listener in self.actionListeners: listener(comp) def run(self): self.root.mainloop() def open(self): #self.thread = Thread(target=self.run) #self.thread.start() self.root.mainloop() def bindInput(self, key, value): self.vars[key].set(value)
class JLYFrame: def __init__(self, filename, Objects=Alpha1): self.Objects = Objects self.vars = {} self.jlyreader = JLYReader(filename) self.actionListeners = [] self.head = Head(self) self.theme = Theme(self) self.body = Body(self) def build(self): self.jlyreader.read() #self.jlyreader.show() self.root = Tk() self.frame=Frame(self.root) self.frame.pack(fill=BOTH, expand=1) self.buttons = {} self.labels = {} self.entries = {} for o in self.jlyreader.objects: if o.name == 'head': self.head.build(o) elif o.name == 'body': self.body.build(o) elif o.name == 'theme': self.theme.build(o) def actionListener(self, comp): #print comp for listener in self.actionListeners: listener(comp) def run(self): self.root.mainloop() def open(self): #self.thread = Thread(target=self.run) #self.thread.start() self.root.mainloop()