def __init__(self, parent=None): super(NodeViewer, self).__init__(parent) if parent is not None: self.setWindowFlags(QtCore.Qt.Window) scene_pos = (SCENE_AREA / 2) * -1 self.setScene(NodeScene(self)) self.setSceneRect(scene_pos, scene_pos, SCENE_AREA, SCENE_AREA) self.setRenderHint(QtGui.QPainter.Antialiasing, True) self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setViewportUpdateMode(QtWidgets.QGraphicsView.FullViewportUpdate) self.setAcceptDrops(True) self.resize(1000, 800) self._pipe_layout = PIPE_LAYOUT_CURVED self._detached_port = None self._start_port = None self._origin_pos = None self._previous_pos = QtCore.QPoint(self.width(), self.height()) self._prev_selection = [] self._node_positions = {} self._rubber_band = QtWidgets.QRubberBand( QtWidgets.QRubberBand.Rectangle, self) self._LIVE_PIPE = LivePipe() self._LIVE_PIPE.setVisible(False) self.scene().addItem(self._LIVE_PIPE) self._SLICER_PIPE = SlicerPipe() self._SLICER_PIPE.setVisible(False) self.scene().addItem(self._SLICER_PIPE) self._undo_stack = QtWidgets.QUndoStack(self) self._context_menu = QtWidgets.QMenu('main', self) self._context_menu.setStyleSheet(STYLE_QMENU) self._search_widget = TabSearchWidget(self) self._search_widget.search_submitted.connect(self._on_search_submitted) # workaround fix for shortcuts from the non-native menu actions # don't seem to trigger so we create a hidden menu bar. menu_bar = QtWidgets.QMenuBar(self) menu_bar.setNativeMenuBar(False) # shortcuts don't work with "setVisibility(False)". menu_bar.resize(0, 0) menu_bar.addMenu(self._context_menu) self.acyclic = True self.LMB_state = False self.RMB_state = False self.MMB_state = False self.ALT_state = False self.CTRL_state = False self.SHIFT_state = False
def __init__(self, parent=None): super(NodeViewer, self).__init__(parent) self.setScene(NodeScene(self)) self.setRenderHint(QtGui.QPainter.Antialiasing, True) self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setViewportUpdateMode(QtWidgets.QGraphicsView.FullViewportUpdate) self.setCacheMode(QtWidgets.QGraphicsView.CacheBackground) self.setOptimizationFlag( QtWidgets.QGraphicsView.DontAdjustForAntialiasing) self.setAcceptDrops(True) self.resize(850, 800) self._scene_range = QtCore.QRectF(0, 0, self.size().width(), self.size().height()) self._update_scene() self._last_size = self.size() self._pipe_layout = PIPE_LAYOUT_CURVED self._detached_port = None self._start_port = None self._origin_pos = None self._previous_pos = QtCore.QPoint(self.width(), self.height()) self._prev_selection_nodes = [] self._prev_selection_pipes = [] self._node_positions = {} self._rubber_band = QtWidgets.QRubberBand( QtWidgets.QRubberBand.Rectangle, self) self._LIVE_PIPE = LivePipe() self._LIVE_PIPE.setVisible(False) self.scene().addItem(self._LIVE_PIPE) self._SLICER_PIPE = SlicerPipe() self._SLICER_PIPE.setVisible(False) self.scene().addItem(self._SLICER_PIPE) self._undo_stack = QtWidgets.QUndoStack(self) self._search_widget = TabSearchMenuWidget(self) self._search_widget.search_submitted.connect(self._on_search_submitted) # workaround fix for shortcuts from the non-native menu actions # don't seem to trigger so we create a hidden menu bar. menu_bar = QtWidgets.QMenuBar(self) menu_bar.setNativeMenuBar(False) # shortcuts don't work with "setVisibility(False)". menu_bar.setMaximumWidth(0) self._ctx_menu = BaseMenu('NodeGraph', self) self._ctx_node_menu = BaseMenu('Nodes', self) menu_bar.addMenu(self._ctx_menu) menu_bar.addMenu(self._ctx_node_menu) self._ctx_node_menu.setDisabled(True) self.acyclic = True self.LMB_state = False self.RMB_state = False self.MMB_state = False self.ALT_state = False self.CTRL_state = False self.SHIFT_state = False self.COLLIDING_state = False