Exemple #1
0
 def itemChange(self, change, value):
     if change == QGraphicsItem.ItemPositionHasChanged:
         for lineID in interface.GetAllLineByNode(self.m_NodeID):
             oLineUI = GetUIMgr().GetLineUI(lineID)
             if oLineUI:
                 oLineUI.UpdatePosition()
     return super(CNodeUI, self).itemChange(change, value)
Exemple #2
0
 def ChangeSelectNode(self, graphicID, nodeID):
     """添加一个选中的节点"""
     lst = self.GetSelectNode(graphicID)
     oNodeUI = GetUIMgr().GetNodeUI(nodeID)
     if nodeID in lst:
         oNodeUI.SetUnpressStyle()
         lst.remove(nodeID)
     else:
         oNodeUI.SetPressStyle()
         lst.append(nodeID)
Exemple #3
0
    def S_FocusNode(self, graphicID, nodeID):
        if self.m_GraphicID != graphicID:
            return

        bpID = interface.GetBPIDByGraphicID(graphicID)
        GetSignal().UI_FOCUS_GRAPHIC.emit(bpID, graphicID)

        pos = interface.GetNodeAttr(nodeID, bddefine.NodeAttrName.POSITION)
        x, y = pos[0], pos[1]
        oNodeUI = GetUIMgr().GetNodeUI(nodeID)
        if oNodeUI:
            x += oNodeUI.size().width() / 2
            y += oNodeUI.size().height() / 2
        point = QPointF(x, y)
        self.centerOn(point)
        GetStatusMgr().SelectOneNode(graphicID, nodeID)
Exemple #4
0
 def UpdatePosition(self):
     startPinUI = GetUIMgr().GetPinBtnUI(self.m_StartPinID)
     nodeID = interface.GetNodeIDByPinID(self.m_StartPinID)
     nodeUI = GetUIMgr().GetNodeUI(nodeID)
     if startPinUI:
         self.m_StartPoint = startPinUI.GetScenePos()
     if self.m_EndPinID:
         endPinUI = GetUIMgr().GetPinBtnUI(self.m_EndPinID)
         self.m_EndPoint = endPinUI.GetScenePos()
     else:
         self.m_EndPoint = nodeUI.scene().GetMouseScenePos(QCursor.pos())
     self.prepareGeometryChange()
     self.RecalculateShapeAndBount()
Exemple #5
0
 def __init__(self, nodeID, parent=None):
     super(CNodeUI, self).__init__(parent)
     self.m_NodeID = nodeID
     self.m_StartPos = None
     self.m_IsNodeMove = False  # 是否节点有拖动
     self.m_NodeWidget = CNodeWidget(nodeID)
     self.InitUI()
     GetUIMgr().AddNodeUI(nodeID, self)
Exemple #6
0
 def __init__(self, pinID, parent=None):
     super(CTypeButton, self).__init__(parent)
     self.m_PinID = pinID
     self.m_NodeID = interface.GetNodeIDByPinID(pinID)
     self.m_GraphicID = interface.GetGraphicIDByNodeID(self.m_NodeID)
     self.m_IsInputPin = interface.IsInputPin(pinID)
     self.m_Center = None
     self._InitUI()
     GetUIMgr().AddPinBtnUI(pinID, self)
Exemple #7
0
 def __init__(self, lineID=-1, parent=None):
     super(CLineUI, self).__init__(parent)
     self.m_LineID = lineID
     self.setZValue(-1)
     self.m_StartPinID = None
     self.m_EndPinID = None
     self.m_StartPoint = None
     self.m_EndPoint = None
     self.m_PenColor = Qt.white
     self.m_BakColor = Qt.white
     self._InitUI()
     if lineID != -1:  # -1为临时连线
         GetUIMgr().AddLineUI(lineID, self)
Exemple #8
0
 def __init__(self, pinID, parent=None):
     super(CPinUI, self).__init__(parent)
     self.m_PinID = pinID
     self.m_NodeID = interface.GetNodeIDByPinID(pinID)
     self.m_GraphicID = interface.GetGraphicIDByNodeID(self.m_NodeID)
     self.m_Btn = None
     self.m_Label = None
     self.m_HLayout = None
     self.m_DefaultWidget = None  # 默认值控件
     self._InitUI()
     self.SetIcon()
     self.SetText()
     self.ShowDefaultWidget()
     GetUIMgr().AddPinUI(pinID, self)
Exemple #9
0
 def SelectOneNode(self, graphicID, nodeID):
     """选中一个节点"""
     for nid in self.GetSelectNode(graphicID):
         if nid == nodeID:
             continue
         oNodeUI = GetUIMgr().GetNodeUI(nid)
         oNodeUI.SetUnpressStyle()
     self.m_SelectNode[graphicID] = [nodeID]
     oNodeUI = GetUIMgr().GetNodeUI(nodeID)
     oNodeUI.SetPressStyle()
Exemple #10
0
 def GetScenePos(self):
     ePos = QPoint(*self.GetCenter())
     nodeUI = GetUIMgr().GetNodeUI(self.m_NodeID)
     nPos = self.mapTo(nodeUI.m_NodeWidget, ePos)
     sPos = nodeUI.mapToScene(nPos)
     return sPos
Exemple #11
0
 def _DelNodeUI(self, nodeID):
     GetStatusMgr().DelSelectNode(self.m_GraphicID, nodeID)
     oNodeUI = GetUIMgr().GetNodeUI(nodeID)
     if oNodeUI:
         self.removeItem(oNodeUI)
Exemple #12
0
 def SetNodeMove(self, offpos):
     for nodeID in GetStatusMgr().GetSelectNode(self.m_GraphicID):
         oNodeUI = GetUIMgr().GetNodeUI(nodeID)
         oNodeUI.SetMouseMovePos(offpos)
Exemple #13
0
 def S_OnDelLineUI(self, graphicID, lineID):
     if graphicID == self.m_GraphicID:
         oLineUI = GetUIMgr().GetLineUI(lineID)
         if oLineUI:
             self.removeItem(oLineUI)
Exemple #14
0
 def __del__(self):
     if self.m_LineID == -1:
         return
     GetUIMgr().DelLineUI(self.m_LineID)
Exemple #15
0
 def __del__(self):
     GetUIMgr().DelNodeUI(self.m_NodeID)
Exemple #16
0
 def ClearNode(self, graphicID):
     """清除节点选中状态"""
     for nid in self.GetSelectNode(graphicID):
         oNodeUI = GetUIMgr().GetNodeUI(nid)
         oNodeUI.SetUnpressStyle()
     self.m_SelectNode[graphicID] = []
Exemple #17
0
 def __del__(self):
     GetUIMgr().DelDetailUI(self.m_BPID)
Exemple #18
0
 def __del__(self):
     GetUIMgr().DelPinUI(self.m_PinID)
Exemple #19
0
 def DelSelectNode(self, graphicID, nodeID):
     lst = self.GetSelectNode(graphicID)
     oNodeUI = GetUIMgr().GetNodeUI(nodeID)
     oNodeUI.SetUnpressStyle()
     if nodeID in lst:
         lst.remove(nodeID)
Exemple #20
0
 def mouseDoubleClickEvent(self, event):
     oItem = self.currentItem()
     _, ID = oItem.GetInfo()
     oDetailUI = GetUIMgr().GetDetailUI(self.m_BPID)
     if oDetailUI:
         oDetailUI.SetVarWidget(ID)
Exemple #21
0
 def __init__(self, bpID, parent=None):
     super(CDetailUI, self).__init__(parent)
     self.m_BPID = bpID
     self.m_Box = QtWidgets.QVBoxLayout(self)
     self.m_DetaiWidget = None
     GetUIMgr().AddDetailUI(self.m_BPID, self)