コード例 #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
ファイル: CanvasWindow.py プロジェクト: virustyle/FabricUI
    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
ファイル: CanvasWindow.py プロジェクト: liangyongg/Beam_Tools
    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)