Пример #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()
Пример #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()
Пример #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()
Пример #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()
Пример #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()
Пример #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()
Пример #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()
Пример #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()
Пример #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()
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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()
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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()
Пример #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)
Пример #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()
Пример #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()
Пример #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)