Ejemplo n.º 1
0
    def getDef(self):
        s = shardGen(shard)
        s.args['code'] = self.functioncode
        s.args['name'] = self.functionname

        # hack for displaying in connector gui
        s.label = self.functionname
        s.text = ''.join(self.functioncode)

        return s, self.functionname
Ejemplo n.º 2
0
 def getDef(self):
     s = shardGen(shard)
     s.args['code'] = self.functioncode
     s.args['name'] = self.functionname
     
     # hack for displaying in connector gui
     s.label = self.functionname
     s.text = ''.join(self.functioncode)
     
     return s, self.functionname
Ejemplo n.º 3
0
 def getInlineDef(self):
     s = shardGen(shard)
     indent = len(self.functioncode[0]) - len(self.functioncode[0].lstrip())
     s.args['code'] = [line[indent:] for line in self.functioncode[1:]]
     s.args['name'] = self.functionname
     
     # hack for displaying in connector gui
     s.label = self.functionname
     s.text = ''.join(self.functioncode)
     
     return s, self.functionname
Ejemplo n.º 4
0
    def getInlineDef(self):
        s = shardGen(shard)
        indent = len(self.functioncode[0]) - len(self.functioncode[0].lstrip())
        s.args['code'] = [line[indent:] for line in self.functioncode[1:]]
        s.args['name'] = self.functionname

        # hack for displaying in connector gui
        s.label = self.functionname
        s.text = ''.join(self.functioncode)

        return s, self.functionname
Ejemplo n.º 5
0
    def setupWindow(self):
        self.window.title("Connector Shards")

        self.addframe = Tkinter.Frame(self.window, borderwidth=2, relief=Tkinter.GROOVE)
        self.addframe.grid(row=0, column=0, sticky=Tkinter.N+Tkinter.E+Tkinter.W+Tkinter.S, padx=4, pady=4)
        
        def menuCallback(index, text):
            self.click_menuChoice(shardGen(lookup[text]))
        
        lookup = {}
        for theclass in self.classes:
            lookup[theclass.__name__] = theclass
        
        items = list(lookup.keys())
        self.choosebutton = ScrollingMenu(self.addframe, items,
                                          command = menuCallback)
        self.choosebutton.grid(row=0, column=0, columnspan=2, sticky=Tkinter.N)

        self.argPanel = None
        self.argCanvas = Tkinter.Canvas(self.addframe, relief=Tkinter.SUNKEN, borderwidth=2)
        self.argCanvas.grid(row=1, column=0, sticky=Tkinter.N+Tkinter.S+Tkinter.E+Tkinter.W)
        self.argCanvasWID = self.argCanvas.create_window(0,0, anchor=Tkinter.NW)
        self.argCanvasScroll = Tkinter.Scrollbar(self.addframe, orient=Tkinter.VERTICAL)
        self.argCanvasScroll.grid(row=1, column=1, sticky=Tkinter.N+Tkinter.S+Tkinter.E)
        self.argCanvasScroll['command'] = self.argCanvas.yview
        self.argCanvas['yscrollcommand'] = self.argCanvasScroll.set
        
        self.click_menuChoice(shardGen(lookup[items[0]]))

        self.addbutton = Tkinter.Button(self.addframe, text="ADD Shard", command=self.click_addComponent )
        self.addbutton.grid(row=2, column=0, columnspan=2, sticky=Tkinter.S)
        self.addframe.rowconfigure(1, weight=1)
        self.addframe.columnconfigure(0, weight=1)
        
        self.updatebutton = Tkinter.Button(self.addframe, text="Update Shard", command=self.click_update)
        self.updatebutton.grid(row=3, column=0, columnspan=2, sticky=Tkinter.S)

        self.window.rowconfigure(0, weight=1)
        self.window.columnconfigure(0, weight=1)

        self.window.protocol("WM_DELETE_WINDOW", self.handleCloseWindowRequest )
Ejemplo n.º 6
0
    def setupWindow(self):
        self.window.title("Connector Shards")

        self.addframe = Tkinter.Frame(self.window, borderwidth=2, relief=Tkinter.GROOVE)
        self.addframe.grid(row=0, column=0, sticky=Tkinter.N+Tkinter.E+Tkinter.W+Tkinter.S, padx=4, pady=4)
        
        def menuCallback(index, text):
            self.click_menuChoice(shardGen(lookup[text]))
        
        lookup = {}
        for theclass in self.classes:
            lookup[theclass.__name__] = theclass
        
        items = list(lookup.keys())
        self.choosebutton = ScrollingMenu(self.addframe, items,
                                          command = menuCallback)
        self.choosebutton.grid(row=0, column=0, columnspan=2, sticky=Tkinter.N)

        self.argPanel = None
        self.argCanvas = Tkinter.Canvas(self.addframe, relief=Tkinter.SUNKEN, borderwidth=2)
        self.argCanvas.grid(row=1, column=0, sticky=Tkinter.N+Tkinter.S+Tkinter.E+Tkinter.W)
        self.argCanvasWID = self.argCanvas.create_window(0,0, anchor=Tkinter.NW)
        self.argCanvasScroll = Tkinter.Scrollbar(self.addframe, orient=Tkinter.VERTICAL)
        self.argCanvasScroll.grid(row=1, column=1, sticky=Tkinter.N+Tkinter.S+Tkinter.E)
        self.argCanvasScroll['command'] = self.argCanvas.yview
        self.argCanvas['yscrollcommand'] = self.argCanvasScroll.set
        
        self.click_menuChoice(shardGen(lookup[items[0]]))

        self.addbutton = Tkinter.Button(self.addframe, text="ADD Shard", command=self.click_addComponent )
        self.addbutton.grid(row=2, column=0, columnspan=2, sticky=Tkinter.S)
        self.addframe.rowconfigure(1, weight=1)
        self.addframe.columnconfigure(0, weight=1)
        
        self.updatebutton = Tkinter.Button(self.addframe, text="Update Shard", command=self.click_update)
        self.updatebutton.grid(row=3, column=0, columnspan=2, sticky=Tkinter.S)

        self.window.rowconfigure(0, weight=1)
        self.window.columnconfigure(0, weight=1)

        self.window.protocol("WM_DELETE_WINDOW", self.handleCloseWindowRequest )
Ejemplo n.º 7
0
    def __init__(self, root=None):
        super(Tree, self).__init__()
        self.root = root


if __name__ == "__main__":

    import sys

    # example for ShardGen.py: mouse handler from MagnaDoodle
    from MagnaGen import *
    from ShardGen import shardGen
    from ExampleMagnaShards import __INIT__  # needs to be specifically imported

    mh = shardGen(switchShard)  # mousehandler
    mh.args["name"] = "mouseHandler"
    mh.args["switchVar"] = "event.type"
    mh.args["conditions"] = ["pygame.MOUSEBUTTONDOWN", "pygame.MOUSEBUTTONUP", "pygame.MOUSEMOTION"]
    mh.args["shards"] = [MOUSEBUTTONDOWN_handler, MOUSEBUTTONUP_handler, MOUSEMOTION_handler]

    # wrap switch in loop that reads from inbox
    pyl = shardGen(forShard)  # pyevent loop
    pyl.args["name"] = "eventhandler"
    pyl.args["forVars"] = ["event"]
    pyl.args["inVar"] = r'self.recv("inbox")'
    pyl.children += [mh]

    # wrap event loop in inbox checking loop so that no invalid reads are performed
    ml = shardGen(whileShard)  # mainloop
    ml.args["name"] = "LoopOverPygameEvents"
Ejemplo n.º 8
0
 def menuCallback(index, text):
     self.click_menuChoice(shardGen(lookup[text]))
Ejemplo n.º 9
0
 def menuCallback(index, text):
     self.click_menuChoice(shardGen(lookup[text]))
Ejemplo n.º 10
0
    def __init__(self, root=None):
        super(Tree, self).__init__()
        self.root = root


if __name__ == '__main__':

    import sys

    # example for ShardGen.py: mouse handler from MagnaDoodle
    from MagnaGen import *
    from ShardGen import shardGen
    from ExampleMagnaShards import __INIT__  # needs to be specifically imported

    mh = shardGen(switchShard)  # mousehandler
    mh.args['name'] = 'mouseHandler'
    mh.args['switchVar'] = 'event.type'
    mh.args['conditions'] = [
        'pygame.MOUSEBUTTONDOWN', 'pygame.MOUSEBUTTONUP', 'pygame.MOUSEMOTION'
    ]
    mh.args['shards'] = [
        MOUSEBUTTONDOWN_handler, MOUSEBUTTONUP_handler, MOUSEMOTION_handler
    ]

    # wrap switch in loop that reads from inbox
    pyl = shardGen(forShard)  # pyevent loop
    pyl.args['name'] = 'eventhandler'
    pyl.args['forVars'] = ['event']
    pyl.args['inVar'] = r'self.recv("inbox")'
    pyl.children += [mh]