Exemple #1
0
    def __init__(self):
        self.w = vanilla.Window((400, 400),
                                "Merz Playground",
                                minSize=(200, 200))
        self.w.getNSWindow().setFrameUsingName_(self.windowAutoSaveName)

        # Code
        # ----
        self.codeGroup = vanilla.Group((0, 0, 0, 0))
        self.codeEditor = self.codeGroup.codeEditor = CodeEditor(
            (0, 0, -0, -45))
        self.runButton = self.codeGroup.runButton = vanilla.Button(
            (15, -35, -15, 20), "Run", callback=self.runCode)
        self.runButton.bind("r", ["command"])
        self.outputEditor = OutPutEditor((0, 0, -0, -0), readOnly=True)

        paneDescriptions = [
            dict(view=self.codeGroup,
                 identifier="codeGroup",
                 minSize=50,
                 canCollapse=False),
            dict(view=self.outputEditor,
                 identifier="outputEditor",
                 size=100,
                 minSize=50,
                 canCollapse=False),
        ]
        self.codeSplitView = vanilla.SplitView((0, 0, 0, 0),
                                               paneDescriptions,
                                               isVertical=False)

        # Merz
        # ----
        self.merzView = merz.MerzView((0, 0, 0, 0),
                                      backgroundColor=(1, 1, 1, 1))

        # Splits
        # ------
        paneDescriptions = [
            dict(view=self.codeSplitView,
                 identifier="codeSplitView",
                 minSize=50,
                 canCollapse=False),
            dict(view=self.merzView, identifier="merzView", minSize=50)
        ]
        self.w.splitView = vanilla.SplitView((0, 0, 0, 0), paneDescriptions)

        self.setUpBaseWindowBehavior()
        self.w.open()
Exemple #2
0
    def __init__(self):
        # make a window
        self.w = Window((400, 400),
                        "DrawBot",
                        minSize=(200, 200),
                        textured=False)
        # setting previously stored frames, if any
        self.w.getNSWindow().setFrameUsingName_(self.windowAutoSaveName)
        try:
            # on 10.7+ full screen support
            self.w.getNSWindow().setCollectionBehavior_(
                128)  #NSWindowCollectionBehaviorFullScreenPrimary
        except:
            pass

        toolbarItems = [
            dict(
                itemIdentifier="run",
                label="Run",
                imageNamed="toolbarRun",
                callback=self.toolbarRun,
            ),
            dict(
                itemIdentifier="comment",
                label="Comment",
                imageNamed="toolbarComment",
                callback=self.toolbarComment,
            ),
            dict(
                itemIdentifier="uncomment",
                label="Uncomment",
                imageNamed="toolbarUncomment",
                callback=self.toolbarUncomment,
            ),
            dict(
                itemIdentifier="indent",
                label="Indent",
                imageNamed="toolbarIndent",
                callback=self.toolbarIndent,
            ),
            dict(
                itemIdentifier="dedent",
                label="Dedent",
                imageNamed="toolbarDedent",
                callback=self.toolbarDedent,
            ),
            dict(itemIdentifier=NSToolbarFlexibleSpaceItemIdentifier),
            dict(
                itemIdentifier="save",
                label="Save",
                imageNamed="toolbarScriptSave",
                callback=self.toolbarSave,
            ),
            dict(
                itemIdentifier="savePDF",
                label="Save PDF",
                imageObject=createSavePDFImage(),
                callback=self.toolbarSavePDF,
            ),
            dict(itemIdentifier=NSToolbarSpaceItemIdentifier),
            dict(
                itemIdentifier="reload",
                label="Reload",
                imageNamed="toolbarScriptReload",
                callback=self.toolbarReload,
            ),
            dict(
                itemIdentifier="new",
                label="New",
                imageNamed="toolbarScriptNew",
                callback=self.toolbarNewScript,
            ),
            dict(
                itemIdentifier="open",
                label="Open",
                imageNamed="toolbarScriptOpen",
                callback=self.toolbarOpen,
            ),
            dict(itemIdentifier=NSToolbarFlexibleSpaceItemIdentifier),
        ]
        toolbar = self.w.addToolbar(
            toolbarIdentifier="tinyDrawBotScriptingToolbar",
            toolbarItems=toolbarItems,
            addStandardItems=False)

        # the code editor
        self.codeView = CodeEditor((0, 0, -0, -0))
        self.codeView.setCallback(self.runCode)
        # the output view (will catch all stdout and stderr)
        self.outPutView = OutPutEditor((0, 0, -0, -0), readOnly=True)
        # the view to draw in
        self.drawView = DrawView((0, 0, -0, -0))
        # the view with all thumbnails
        self.thumbnails = ThumbnailView((0, 0, -0, -0))
        # connect the thumbnail view with the draw view
        self.thumbnails.setDrawView(self.drawView)

        # collect all code text view in a splitview
        paneDescriptors = [
            dict(view=self.codeView,
                 identifier="codeView",
                 minSize=50,
                 canCollapse=False),
            dict(view=self.outPutView,
                 identifier="outPutView",
                 size=100,
                 minSize=50,
                 canCollapse=False),
        ]
        self.codeSplit = SplitView((0, 0, -0, -0),
                                   paneDescriptors,
                                   isVertical=False)

        # collect the draw scroll view and the code split view in a splitview
        paneDescriptors = [
            dict(view=self.thumbnails,
                 identifier="thumbnails",
                 minSize=100,
                 size=100,
                 maxSize=100),
            dict(view=self.drawView, identifier="drawView", minSize=50),
            dict(view=self.codeSplit,
                 identifier="codeSplit",
                 minSize=50,
                 canCollapse=False),
        ]
        self.w.split = SplitView((0, 0, -0, -0), paneDescriptors)

        # setup BaseWindowController base behavoir
        self.setUpBaseWindowBehavior()

        # get the real size of the window
        windowX, windowY, windowWidth, windowHeight = self.w.getPosSize()
        # set the split view dividers at a specific position based on the window size
        self.w.split.setDividerPosition(0, 0)
        self.w.split.setDividerPosition(1, windowWidth * .6)
        self.codeSplit.setDividerPosition(0, windowHeight * .7)
 def __init__(self):
     self.w = Window((800, 600), "Tiny Draw Bot", minSize=(200, 200))
     try:
         self.w.getNSWindow().setCollectionBehavior_(128) #NSWindowCollectionBehaviorFullScreenPrimary
     except:
         pass
     
     self.editor = TinyDrawBotTextEditor((0, 0, -0, -0))
     self.codeOutPut = OutPutEditor((0, 0, -0, -0))
     self.editor.setOutputView_(self.codeOutPut)
     
     self.drawView = DrawView(self.codeOutPut)
     self.drawScrollView = ScrollView((0, 0, -0, -0), self.drawView)
     
     self.editor.setDrawView(self.drawView)
     
     textPaneDescriptors = [
         dict(view=self.editor, identifier="codeTextView"),
         dict(view=self.codeOutPut, identifier="outputTextView", size=100),
     ]
     self.textSplit = SplitView((0, 0, -0, -0), textPaneDescriptors, isVertical=False)
     
     paneDescriptors = [
         dict(view=self.drawScrollView, identifier="codeView"),
         dict(view=self.textSplit, identifier="drawView"),
     ]
     self.w.split = SplitView((0, 0, -0, -0), paneDescriptors)
     
     
     toolbarItems = [
         dict(itemIdentifier="run",
             label="Run",
             imageNamed="toolbarRun",
             callback=self.toolbarRun,
             ),
         dict(itemIdentifier="comment",
             label="Comment",
             imageNamed="toolbarComment",
             callback=self.toolbarComment,
             ),
         dict(itemIdentifier="uncomment",
             label="Uncomment",
             imageNamed="toolbarUncomment",
             callback=self.toolbarUncomment,
             ),
         dict(itemIdentifier="indent",
             label="Indent",
             imageNamed="toolbarIndent",
             callback=self.toolbarIndent,
             ),
         dict(itemIdentifier="dedent",
             label="Dedent",
             imageNamed="toolbarDedent",
             callback=self.toolbarDedent,
             ),
         dict(itemIdentifier=NSToolbarFlexibleSpaceItemIdentifier),
         
         dict(itemIdentifier="save",
             label="Save",
             imageNamed="toolbarScriptSave",
             callback=self.toolbarSave,
             ),
         dict(itemIdentifier="savePDF",
             label="Save PDF",
             imageObject=createSavePDFImage(),
             callback=self.toolbarSavePDF,
             ),
         
         dict(itemIdentifier=NSToolbarSpaceItemIdentifier),
         
         dict(itemIdentifier="reload",
             label="Reload",
             imageNamed="toolbarScriptReload",
             callback=self.toolbarReload,
             ),
         dict(itemIdentifier="new",
             label="New",
             imageNamed="toolbarScriptNew",
             callback=self.toolbarNewScript,
             ),
         dict(itemIdentifier="open",
             label="Open",
             imageNamed="toolbarScriptOpen",
             callback=self.toolbarOpen,
             ),
         dict(itemIdentifier=NSToolbarFlexibleSpaceItemIdentifier),
         ]
     toolbar = self.w.addToolbar(toolbarIdentifier="tinyDrawBotScriptingToolbar", toolbarItems=toolbarItems, addStandardItems=False)
     
     self.setUpBaseWindowBehavior()
     
     documentController = NSDocumentController.sharedDocumentController()
     documentClass = documentController.documentClassForType_("Python Source File")
     self.document = documentClass.alloc().init()
     self.document.vanillaWindowController = self
     documentController.addDocument_(self.document)
     self.document.addWindowController_(self.w.getNSWindowController())
     
     self.w.open()