Пример #1
0
 def mousePressEvent(self, event):
     """ mousePressEvent(event: QMouseEvent) -> None
     Toggle port selection
     
     """
     buttons = self.translateButton(event)
     if buttons == QtCore.Qt.LeftButton:
         scenePos = self.mapToScene(event.pos())
         item = self.scene().itemAt(scenePos)
         if isinstance(item, QAbstractGraphicsPortItem):
             is_input = item.port.type == 'input'
             if self.single_output and not is_input and len(self._selected_output_ports) > 0 and item != self._selected_output_ports[0]:
                 # Deselect current output port if another port selected in single output mode
                 self._selected_output_ports[0].setSelected(False)
                 del self._selected_output_ports[:]
             if is_input:
                 port_set = self._selected_input_ports
             else:
                 port_set = self._selected_output_ports
             if item in port_set:
                 port_set.remove(item)
             else:
                 port_set.append(item)
             self._clicked_port = item
         else:
             self._clicked_port = None
         event.accept()
     else:
         QPipelineView.mousePressEvent(self, event)
Пример #2
0
 def mousePressEvent(self, event):
     """ mousePressEvent(event: QMouseEvent) -> None
     Toggle port selection
     
     """
     buttons = self.translateButton(event)
     if buttons == QtCore.Qt.LeftButton:
         scenePos = self.mapToScene(event.pos())
         item = self.scene().itemAt(scenePos)
         if isinstance(item, QAbstractGraphicsPortItem):
             is_input = item.port.type == 'input'
             if self.single_output and not is_input and len(
                     self._selected_output_ports
             ) > 0 and item != self._selected_output_ports[0]:
                 # Deselect current output port if another port selected in single output mode
                 self._selected_output_ports[0].setSelected(False)
                 del self._selected_output_ports[:]
             if is_input:
                 port_set = self._selected_input_ports
             else:
                 port_set = self._selected_output_ports
             if item in port_set:
                 port_set.remove(item)
             else:
                 port_set.append(item)
             self._clicked_port = item
         else:
             self._clicked_port = None
         event.accept()
     else:
         QPipelineView.mousePressEvent(self, event)