script = 'fill(random(), random(), random())\nrect(10+random()*100, 10+random()*100, 200, 300)' newDrawing() namespace = DrawBotNamespace(_drawBotDrawingTool, _drawBotDrawingTool._magicVariables) _drawBotDrawingTool._addToNamespace(namespace) # Creates a new standard output, catching all print statements and tracebacks. stdout = StdOutput(output, outputView=outputWindow.outputView) stderr = StdOutput(output, isError=True, outputView=outputWindow.outputView) # Calls DrawBot's ScriptRunner with above parameters. ScriptRunner(script, None, namespace=namespace, stdout=stdout, stderr=stderr) _drawBotDrawingTool._drawInContext(context) pdfDocument = _drawBotDrawingTool.pdfImage() if __name__ == '__main__': w = Window((10, 10, 400, 200), 'Window') w.button = Button((20, 20, 100, 30), 'Hit', callback=hitCallback) w.open() outputWindow = Window((500, 10, 400, 300), minSize=(1, 1), closable=True) outputWindow.outputView = OutPutEditor((0, 0, -0, -0), readOnly=True) outputWindow.open()
return data def show(self): self.w.show() def documentWindowToFront(self, sender=None): self.w.makeKey() def do(sender): controller = getController() controller.runCode() # runt je script opnieuw. def getController(): document = AppKit.NSDocumentController.sharedDocumentController().currentDocument() print document if not document: raise DrawBotError("There is no document open") controller = document.vanillaWindowController try: controller._variableController.buildUI(variables) controller._variableController.show() except: controller._variableController = VariableController(variables, controller.runCode, document) return controller w = Window((978, 388, 400, 400), 'Test Vanilla in DrawBot') w.button = Button((10, 10, 150, 30), 'Do', callback=do) w.checkbox = CheckBox((10, 150, 150, 30), 'Check', callback=do) w.open()