Esempio n. 1
0
 def addInstBlockPort(
     self,
     execPath,
     instName,
     blockName,
     desiredPortName,
     typeSpec,
     pathToConnect,
     extDep,
     metaData,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_AddInstBlockPort(
         self.binding,
         execPath,
         exec_,
         instName,
         blockName,
         desiredPortName,
         typeSpec,
         pathToConnect,
         extDep,
         metaData,
         )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualPortName()
Esempio n. 2
0
 def addBlockPort(
     self,
     execPath,
     blockName,
     desiredPortName,
     portType,
     typeSpec,
     pathToConnect,
     connectType,
     extDep,
     metaData,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_AddBlockPort(
         self.binding,
         execPath,
         exec_,
         blockName,
         desiredPortName,
         self.decodePortType(portType),
         typeSpec,
         pathToConnect,
         self.decodePortType(connectType),
         extDep,
         metaData,
         )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualPortName()
Esempio n. 3
0
 def instPreset(self, execPath, presetPath, posX, posY):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_InstPreset(self.binding, execPath, exec_,
                                   presetPath, QtCore.QPointF(posX, posY))
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualNodeName()
Esempio n. 4
0
 def addFunc(self, execPath, title, initialCode, posX, posY):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_AddFunc(self.binding, execPath, exec_, title,
                                initialCode, QtCore.QPointF(posX, posY))
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualNodeName()
Esempio n. 5
0
 def addPort(
     self,
     execPath,
     desiredPortName,
     portTypeStr,
     typeSpec,
     portToConnect,
     extDep,
     metaData,
 ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     portTypeStrLower = portTypeStr.lower()
     if portTypeStrLower == "io":
         portType = self.client.DFG.PortTypes.IO
     elif portTypeStrLower == "out":
         portType = self.client.DFG.PortTypes.Out
     else:
         portType = self.client.DFG.PortTypes.In
     cmd = DFG.DFGUICmd_AddPort(
         self.binding,
         execPath,
         exec_,
         desiredPortName,
         portType,
         typeSpec,
         portToConnect,
         extDep,
         metaData,
     )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualPortName()
Esempio n. 6
0
 def editPort(
     self,
     execPath,
     oldPortName,
     desiredNewPortName,
     portType,
     typeSpec,
     extDep,
     metaData,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_EditPort(
         self.binding,
         execPath,
         exec_,
         oldPortName,
         desiredNewPortName,
         self.decodePortType(portType),
         typeSpec,
         extDep,
         metaData,
         )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualNewPortName()
Esempio n. 7
0
 def implodeNodes(self, execPath, packedNodeNames, desiredNodeName):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     nodeNames = BindingWrapper.splitNames(packedNodeNames)
     cmd = DFG.DFGUICmd_ImplodeNodes(self.binding, execPath, exec_,
                                     nodeNames, desiredNodeName)
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualImplodedNodeName()
Esempio n. 8
0
 def addSet(self, execPath, desiredNodeName, varPath, posX, posY):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_AddSet(self.binding, execPath, exec_,
                               desiredNodeName, varPath,
                               QtCore.QPointF(posX, posY))
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualNodeName()
Esempio n. 9
0
 def importNodeFromJSON(self, execPath, nodeName, filePath, posX, posY):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_ImportNodeFromJSON(self.binding, execPath, exec_,
                                           nodeName, filePath,
                                           QtCore.QPointF(posX, posY))
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualNodeName()
Esempio n. 10
0
 def moveNodes(self, execPath, packedNodeNames, packedNewTopLeftPosXs,
               packedNewTopLeftPosYs):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     nodeNames = BindingWrapper.splitNames(packedNodeNames)
     newTopLeftPoss = BindingWrapper.splitPoss(packedNewTopLeftPosXs,
                                               packedNewTopLeftPosYs)
     cmd = DFG.DFGUICmd_MoveNodes(self.binding, execPath, exec_, nodeNames,
                                  newTopLeftPoss)
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 11
0
 def connect(
     self,
     execPath,
     srcPort,
     dstPort,
 ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_Connect(self.binding, execPath, exec_, srcPort,
                                dstPort)
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 12
0
 def dismissLoadDiags(
     self,
     packedIndices,
     ):
     rootExec = self.binding.getExec()
     indices = BindingWrapper.splitInts(packedIndices)
     cmd = DFG.DFGUICmd_DismissLoadDiags(
         self.binding,
         indices,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 13
0
 def splitFromPreset(
     self,
     execPath,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_SplitFromPreset(
         self.binding,
         execPath,
         exec_,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 14
0
    def _initTreeView(self):
        """Initializes the preset TreeView.

        Also connects the DFG Controller's dirty signal to the onDirty method.
        """

        controller = self.dfgWidget.getDFGController()
        self.treeWidget = DFG.PresetTreeWidget(controller, self.config, True, False, False, False, False, True)
        self.dfgWidget.newPresetSaved.connect(self.treeWidget.refresh)
        controller.varsChanged.connect(self.treeWidget.refresh)
        controller.dirty.connect(self.onDirty)
        controller.topoDirty.connect(self.onTopoDirty)
Esempio n. 15
0
    def _initDFG(self):
        """Initializes the Data Flow Graph.

        An evalContext is created to provide contextual information about the
        evaluation to operators and other objects and systems with Fabric
        Engine.

        A binding to a graph is initialized and is setup so the application can
        interact with it via the DFGWidget and through other scripted methods
        within the application.

        The UICmdHandler handles the interaction between the UI and the client.

        The DFGWidget is the UI that reflects the binding to the graph that is
        created and changed through the application.
        """

        self.evalContext = self.client.RT.types.EvalContext.create()
        self.evalContext = self.evalContext.getInstance('EvalContext')
        self.evalContext.host = 'Canvas'

        self.astManager = KLASTManager(self.client)
        self.host = self.client.getDFGHost()
        self.mainBinding = self.host.createBindingToNewGraph()
        self.lastSavedBindingVersion = self.mainBinding.getVersion()
        self.lastAutosaveBindingVersion = self.lastSavedBindingVersion

        graph = self.mainBinding.getExec()
        self.scriptEditor = ScriptEditor(self.client, self.mainBinding,
                                         self.qUndoStack, self.logWidget,
                                         self.settings, self, self.config)
        self.dfguiCommandHandler = UICmdHandler(self.client, self.scriptEditor)

        astManager = KLASTManager(self.client)
        self.lastSavedBindingVersion = self.mainBinding.getVersion()
        self.lastAutosaveBindingVersion = self.lastSavedBindingVersion

        graph = self.mainBinding.getExec()
        self.dfgWidget = DFG.DFGWidget(None, self.client, self.host,
                                       self.mainBinding, '', graph,
                                       self.astManager,
                                       self.dfguiCommandHandler, self.config)
        self.scriptEditor.setDFGControllerGlobal(
            self.dfgWidget.getDFGController())

        tabSearchWidget = self.dfgWidget.getTabSearchWidget()
        tabSearchWidget.enabled.connect(self.enableShortCutsAndUndoRedo)

        self.dfgWidget.onGraphSet.connect(self.onGraphSet)
        self.dfgWidget.additionalMenuActionsRequested.connect(
            self.onAdditionalMenuActionsRequested)
        self.dfgWidget.urlDropped.connect(self.onUrlDropped)
Esempio n. 16
0
 def disconnect(
     self,
     execPath,
     packedSrcPorts,
     packedDstPorts,
 ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     srcPorts = BindingWrapper.splitNames(packedSrcPorts)
     dstPorts = BindingWrapper.splitNames(packedDstPorts)
     cmd = DFG.DFGUICmd_Disconnect(self.binding, execPath, exec_, srcPorts,
                                   dstPorts)
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 17
0
 def setArgValue(
     self,
     argName,
     typeName,
     valueJSON,
     ):
     value = self.rtvalEncoderDecoder.getFromString(typeName, valueJSON)
     cmd = DFG.DFGUICmd_SetArgValue(
         self.binding,
         argName,
         value,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 18
0
 def removePort(
     self,
     execPath,
     portName,
 ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_RemovePort(
         self.binding,
         execPath,
         exec_,
         portName,
     )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 19
0
 def setCode(
     self,
     execPath,
     code,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_SetCode(
         self.binding,
         execPath,
         exec_,
         code,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 20
0
 def setExtDeps(
     self,
     execPath,
     packedExtDeps,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     extDeps = BindingWrapper.splitNames(packedExtDeps)
     cmd = DFG.DFGUICmd_SetExtDeps(
         self.binding,
         execPath,
         exec_,
         extDeps,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 21
0
 def explodeNode(
     self,
     execPath,
     nodeName
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_ExplodeNode(
         self.binding,
         execPath,
         exec_,
         nodeName
         )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getExplodedNodeNames()
Esempio n. 22
0
 def removePort(
     self,
     execPath,
     packedPortNames,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     portNames = BindingWrapper.splitNames(packedPortNames)
     cmd = DFG.DFGUICmd_RemovePort(
         self.binding,
         execPath,
         exec_,
         portNames,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 23
0
 def reorderPorts(
     self,
     execPath,
     packedIndices,
 ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     indices = BindingWrapper.splitInts(packedIndices)
     cmd = DFG.DFGUICmd_ReorderPorts(
         self.binding,
         execPath,
         exec_,
         indices,
     )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 24
0
 def setNodeComment(
     self,
     execPath,
     nodeName,
     comment,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_SetNodeComment(
         self.binding,
         execPath,
         exec_,
         nodeName,
         comment,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 25
0
 def setRefVarPath(
     self,
     execPath,
     refName,
     varPath,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_SetRefVarPath(
         self.binding,
         execPath,
         exec_,
         refName,
         varPath,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 26
0
 def renamePort(
     self,
     execPath,
     portPath,
     desiredNewPortName,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_RenamePort(
         self.binding,
         execPath,
         exec_,
         portPath,
         desiredNewPortName,
         )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getActualNewPortName()
Esempio n. 27
0
 def setPortDefaultValue(
     self,
     execPath,
     portPath,
     typeName,
     valueJSON,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     value = self.rtvalEncoderDecoder.getFromString(typeName, valueJSON)
     cmd = DFG.DFGUICmd_SetPortDefaultValue(
         self.binding,
         execPath,
         exec_,
         portPath,
         value,
         )
     InvokeCmd(cmd, self.qUndoStack)
Esempio n. 28
0
 def paste(
     self,
     execPath,
     json,
     cursorPosX,
     cursorPosY,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_Paste(
         self.binding,
         execPath,
         exec_,
         json,
         QtCore.QPointF(cursorPosX, cursorPosY),
         )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getPastedItemNames()
Esempio n. 29
0
 def createPreset(
     self,
     execPath,
     nodeName,
     presetDirPath,
     presetName,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_CreatePreset(
         self.binding,
         execPath,
         exec_,
         nodeName,
         presetDirPath,
         presetName,
         )
     InvokeCmd(cmd, self.qUndoStack)
     return cmd.getPathname()
Esempio n. 30
0
 def resizeBackDrop(
     self,
     execPath,
     backDropNodeName,
     newTopLeftPosX,
     newTopLeftPosY,
     newSizeW,
     newSizeH,
     ):
     rootExec = self.binding.getExec()
     exec_ = rootExec.getSubExec(execPath)
     cmd = DFG.DFGUICmd_ResizeBackDrop(
         self.binding,
         execPath,
         exec_,
         backDropNodeName,
         QtCore.QPointF(newTopLeftPosX, newTopLeftPosY),
         QtCore.QSizeF(newSizeW, newSizeH),
         )
     InvokeCmd(cmd, self.qUndoStack)