Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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()