Example #1
0
    def __init__(self, widget):
        QGraphicsView.__init__(self)

        self.setScene(NodeSpace(MT.project.root))
        self.widget = widget
        #QGL.setPreferredPaintEngine(QPaintEngine.OpenGL2)
        #glFmt = QGLFormat.defaultFormat()
        #glFmt.setSwapInterval(0)
        #glFmt.setRgba(True)
        #glFmt.setDoubleBuffer(True)
        #glFmt.setOverlay(False)
        #QGLFormat.setDefaultFormat(glFmt)
        #glFmt.setSampleBuffers(True)
        #glWidget = QGLWidget(glFmt)
        #glWidget.setAutoFillBackground(False)
        self.setViewportUpdateMode(QGraphicsView.FullViewportUpdate)
        #self.setViewport(glWidget)
        #self.setViewport(QGLWidget())
        self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setUpdatesEnabled(True)
        self.setDragMode(QGraphicsView.RubberBandDrag)

        self.cb = MT.attachToSignal("addNode", self.addNode)
        self.cb2 = MT.attachToSignal("removeNode", self.removeNode)
        self.cb3 = MT.attachToSignal("newProject", self.newGraph)

        self.space = MT.project.root
        self.setAcceptDrops(True)
        self.dragPos = None

        containerShortcut = QShortcut(self)
        deleteShortcut = QShortcut(self)
        browserShortcut = QShortcut(self)
        containerShortcut.setContext(Qt.WidgetShortcut)
        deleteShortcut.setContext(Qt.WidgetShortcut)
        browserShortcut.setContext(Qt.WidgetShortcut)
        containerShortcut.setKey("c")
        browserShortcut.setKey(" ")
        deleteShortcut.setKey(QKeySequence(Qt.Key_Delete))
        containerShortcut.activated.connect(self.createContainer)
        deleteShortcut.activated.connect(self.deleteNode)
        browserShortcut.activated.connect(self.showNodeBrowser)
        self.nodeBrowser = None
Example #2
0
    def __init__(self, widget):
        QGraphicsView.__init__(self)

        self.setScene(NodeSpace(MT.project.root))
        self.widget = widget
        #QGL.setPreferredPaintEngine(QPaintEngine.OpenGL2)
        #glFmt = QGLFormat.defaultFormat()
        #glFmt.setSwapInterval(0)
        #glFmt.setRgba(True)
        #glFmt.setDoubleBuffer(True)
        #glFmt.setOverlay(False)
        #QGLFormat.setDefaultFormat(glFmt)
        #glFmt.setSampleBuffers(True)
        #glWidget = QGLWidget(glFmt)
        #glWidget.setAutoFillBackground(False)
        self.setViewportUpdateMode(QGraphicsView.FullViewportUpdate)
        #self.setViewport(glWidget)
        #self.setViewport(QGLWidget())
        self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setUpdatesEnabled(True)
        self.setDragMode(QGraphicsView.RubberBandDrag)

        self.cb = MT.attachToSignal("addNode", self.addNode)
        self.cb2 = MT.attachToSignal("removeNode", self.removeNode)
        self.cb3 = MT.attachToSignal("newProject", self.newGraph)

        self.space = MT.project.root
        self.setAcceptDrops(True)
        self.dragPos = None

        containerShortcut = QShortcut(self)
        deleteShortcut = QShortcut(self)
        browserShortcut = QShortcut(self)
        containerShortcut.setContext(Qt.WidgetShortcut)
        deleteShortcut.setContext(Qt.WidgetShortcut)
        browserShortcut.setContext(Qt.WidgetShortcut)
        containerShortcut.setKey("c")
        browserShortcut.setKey(" ")
        deleteShortcut.setKey(Qt.Key_Delete)
        containerShortcut.activated.connect(self.createContainer)
        deleteShortcut.activated.connect(self.deleteNode)
        browserShortcut.activated.connect(self.showNodeBrowser)
        self.nodeBrowser = None
Example #3
0
    def __init__(self, space):
        self.space = space
        QGraphicsScene.__init__(self)
        self.setItemIndexMethod(QGraphicsScene.NoIndex)
        self.tmpLink = None
        self.createNetwork()

        self.nodes = {}
        self.links = {}

        setattr(MT, "graph", self)
        self.cb = MT.attachToSignal("createLink", self.drawLink)
        self.setSceneRect(-5000, -5000, 10000, 10000)
Example #4
0
    def __init__(self, space):
        self.space = space
        QGraphicsScene.__init__(self)
        self.setItemIndexMethod(QGraphicsScene.NoIndex)
        self.tmpLink = None
        self.nodes = {}
        self.links = {}

        self.createNetwork()

        setattr(MT, "graph", self)
        self.cb = MT.attachToSignal("createLink", self.drawLink)
        self.setSceneRect(-5000, -5000, 10000, 10000)
Example #5
0
    def __init__(self,
                 data,
                 parent=None,
                 options=True,
                 width=NodeDesigner.width,
                 height=NodeDesigner.height):
        QGraphicsSvgItem.__init__(self, parent)
        self.data = data

        self._width = width
        self.height = height

        self.viewed = False

        self._viewSockets = False
        self._visibleSockets = []

        self.setFlag(QGraphicsItem.ItemIsMovable, True)
        self.setFlag(QGraphicsItem.ItemIsFocusable, True)
        self.setFlag(QGraphicsItem.ItemIsSelectable, True)

        self.setFlag(QGraphicsItem.ItemSendsGeometryChanges, True)

        self.setAcceptHoverEvents(True)
        self.setAcceptDrops(True)

        self.nameBG = NodeNameBG(self)
        self.name = NodeName(self)
        self.nameBG._width = self.name.boundingRect().width()
        self.nameBG.height = self.name.boundingRect().height()

        self.out = []
        pos = width
        colors = QColor()
        altcolor = False
        for out in self.data.outsockets:
            vis = NodeOutSocket(self, out, altcolor)
            altcolor = not altcolor
            vis.setPos(QPoint(pos, 0))
            pos += vis._width + 2  #slight margin
            self.out.append(vis)

        self.addsocketcb = MT.attachToBoundSignal(data, "outSocketAdded",
                                                  self.newOutSocket)
        self.updateToolTipCB = MT.attachToSignal("CACHE_FINISHED",
                                                 self.updateToolTip)

        if options:
            self.nodeOptions = NodeOptionsButton(self)
        self.posCB = MT.attachToBoundSignal(data, "nodePositionChanged",
                                            self.updatePositionFromData)
Example #6
0
    def __init__(self, parent=None):
        self.start = 0
        self.end = 100
        self.frame = 1
        self.isPlaying = False
        self.visibleStart = self.start
        self.visibleEnd = self.end
        QWidget.__init__(self)
        self.setLayout(QVBoxLayout())
        self.layout().setSpacing(0)
        self.layout().setMargin(0)
        self.scrubwidget = TimelineScrubWidget(self)
        self.layout().addWidget(self.scrubwidget)

        start = QSpinBox()
        start.setRange(0, 99999999)
        end = QSpinBox()
        end.setRange(0, 99999999)
        visiblestart = QSpinBox()
        visiblestart.setRange(0, 99999999)
        visibleend = QSpinBox()
        visibleend.setRange(0, 99999999)
        self.frameBox = QSpinBox()
        self.frameBox.valueChanged.connect(self.setFrame)
        self.frameBox.setRange(self.start, self.end)
        self.playbutton = QPushButton("Play")
        self.playbutton.clicked.connect(self.play)
        stop = QPushButton("stop")
        stop.clicked.connect(self.stop)

        start.setValue(self.start)
        end.setValue(self.end)
        self.frameBox.setValue(self.frame)
        visiblestart.setValue(self.visibleStart)
        visibleend.setValue(self.visibleEnd)


        lay = QHBoxLayout()
        self.layout().addLayout(lay)
        lay.addWidget(start)
        lay.addWidget(visiblestart)
        lay.addStretch()
        lay.addWidget(self.playbutton)
        lay.addWidget(stop)
        lay.addWidget(self.frameBox)
        lay.addStretch()
        lay.addWidget(visibleend)
        lay.addWidget(end)

        self.cb = MT.attachToSignal("frameChanged", self.setFrame)
Example #7
0
    def __init__(self, node = None, parent=None):
        QWidget.__init__(self, parent)
        self.tree = QTreeView()
        self.model = QStandardItemModel(0, 2, parent);
        self.tree.setModel(self.model)
        self.model.setHorizontalHeaderLabels(["Name", "Value"])
        self.tree.setItemDelegate(Delegate(self))

        lay = QVBoxLayout()
        lay.setContentsMargins(0, 0, 0, 0)
        lay.setSpacing(0)
        self.setLayout(lay)
        lay.addWidget(self.tree)

        self.customWidget = None
        self.node = None

        if node is None:
            self.cb = MT.attachToSignal("selectionChanged", self.updateEditor)
            self.cb2 = MT.attachToSignal("linkChanged", self.updateEditorLinks)
            self.tree.expanded.connect(self.connect)
            self.tree.collapsed.connect(self.disconnect)
        else:
            self.updateEditor(node)
Example #8
0
    def __init__(self, node=None, parent=None):
        QWidget.__init__(self, parent)
        self.tree = QTreeView()
        self.model = QStandardItemModel(0, 2, parent)
        self.tree.setModel(self.model)
        self.model.setHorizontalHeaderLabels(["Name", "Value"])
        self.tree.setItemDelegate(Delegate(self))

        lay = QVBoxLayout()
        lay.setContentsMargins(0, 0, 0, 0)
        lay.setSpacing(0)
        self.setLayout(lay)
        lay.addWidget(self.tree)

        self.customWidget = None
        self.node = None

        if node is None:
            self.cb = MT.attachToSignal("selectionChanged", self.updateEditor)
            self.cb2 = MT.attachToSignal("linkChanged", self.updateEditorLinks)
            self.tree.expanded.connect(self.connect)
            self.tree.collapsed.connect(self.disconnect)
        else:
            self.updateEditor(node)