Example #1
0
 def event(self, event: QEvent) -> bool:
     if event.type() == QEvent.LayoutRequest:
         self.__layout()
     elif event.type() == QEvent.GraphicsSceneResize:
         self.__layout()
     elif event.type() == QEvent.ContentsRectChange:
         self.__layout()
     return super().event(event)
Example #2
0
 def changeEvent(self, event: QEvent) -> None:
     if event.type() == QEvent.FontChange:
         self.picture = None
         self.update()
     elif event.type() == QEvent.PaletteChange:
         self.picture = None
         self.label.setDefaultTextColor(self.palette().color(QPalette.Text))
         self.update()
     super().changeEvent(event)
Example #3
0
 def event(self, event: QEvent) -> bool:
     if event.type() == QEvent.LayoutRequest:
         self.__layout()
     elif event.type() == QEvent.ContentsRectChange:
         self.__layout()
     elif event.type() == QEvent.GraphicsSceneHelp:
         self.helpEvent(cast(QGraphicsSceneHelpEvent, event))
         if event.isAccepted():
             return True
     return super().event(event)
Example #4
0
 def event(self, event: QEvent) -> bool:
     # Reimplemented
     if event.type() == QEvent.LayoutRequest and \
             self.parentLayoutItem() is None:
         self.__updateSizeConstraints()
         self.resize(self.effectiveSizeHint(Qt.PreferredSize))
     elif event.type() == QEvent.GraphicsSceneHelp:
         self.helpEvent(cast(QGraphicsSceneHelpEvent, event))
         if event.isAccepted():
             return True
     return super().event(event)
 def changeEvent(self, event: QEvent):
     if event.type() == QEvent.PaletteChange:
         color = self.palette().color(QPalette.Text)
         for item in self.items:
             if isinstance(item, LabelItem):
                 item.setText(item.text, color=color)
     super(LegendItem, self).changeEvent(event)
Example #6
0
 def changeEvent(self, event: QEvent) -> None:
     super().changeEvent(event)
     if event.type() == QEvent.PaletteChange:
         effect = self.findChild(QGraphicsDropShadowEffect,
                                 "sticky-view-shadow")
         if effect is not None:
             palette = self.palette()
             effect.setColor(palette.color(QPalette.Foreground))
Example #7
0
 def event(self, event: QEvent) -> bool:
     if event.type() == QEvent.ToolTip and self.toolTip():
         action = self.defaultAction()
         if action is not None and action.toolTip():
             text = tooltip_with_shortcut(action.toolTip(),
                                          action.shortcut())
             QToolTip.showText(event.globalPos(), text)
             return True
     return super().event(event)
Example #8
0
 def changeEvent(self, event: QEvent) -> None:
     if event.type() == QEvent.PaletteChange:
         brush = self.palette().brush(QPalette.Text)
         labels = [
             it for it in self.childItems()
             if isinstance(it, QGraphicsSimpleTextItem)
         ]
         apply_all(labels, lambda it: it.setBrush(brush))
     super().changeEvent(event)
Example #9
0
 def viewportEvent(self, event: QEvent) -> bool:
     if event.type() == QEvent.Wheel:
         # delegate wheel events to parent StickyGraphicsView
         parent = self.parent().parent().parent()
         if isinstance(parent, StickyGraphicsView):
             QCoreApplication.sendEvent(parent.viewport(), event)
             if event.isAccepted():
                 return True
     return super().viewportEvent(event)
Example #10
0
 def eventFilter(self, recv: QObject, event: QEvent) -> bool:
     etype = event.type()
     if etype == LinkEvent.InputLinkRemoved:
         event = typing.cast(LinkEvent, event)
         link = event.link()
         log.info("Scheduling close signal (%s).", link)
         signals: List[Signal] = [
             Signal.Close(link, None, id, event.pos())
             for id in self.link_contents(link)
         ]
         self._schedule(signals)
     return super().eventFilter(recv, event)
 def __dispatch_events(self, node: Node, event: QEvent) -> None:
     """
     Dispatch relevant workflow events to the GUI widget
     """
     if event.type() in (
             WorkflowEvent.InputLinkAdded,
             WorkflowEvent.InputLinkRemoved,
             WorkflowEvent.InputLinkStateChange,
             WorkflowEvent.OutputLinkAdded,
             WorkflowEvent.OutputLinkRemoved,
             WorkflowEvent.OutputLinkStateChange,
             WorkflowEvent.NodeStateChange,
             WorkflowEvent.WorkflowEnvironmentChange,
     ):
         item = self.__item_for_node.get(node)
         if item is not None and item.widget is not None:
             QCoreApplication.sendEvent(item.widget, event)
Example #12
0
 def selectionCommand(
         self,
         index: QModelIndex,
         event: QEvent = None) -> QItemSelectionModel.SelectionFlags:
     flags = super().selectionCommand(index, event)
     selmodel = self.selectionModel()
     if not index.isValid():  # Click on empty viewport; don't clear
         return QItemSelectionModel.NoUpdate
     if selmodel.isSelected(index):
         currsel = selmodel.selectedIndexes()
         if len(currsel) == 1 and index == currsel[0]:
             # Is the last selected index; do not deselect it
             return QItemSelectionModel.NoUpdate
     if (event is not None and event.type() == QEvent.MouseMove
             and flags & QItemSelectionModel.ToggleCurrent):
         # Disable ctrl drag 'toggle'; can be made to deselect the last
         # index, would need to keep track of the current selection
         # (selectionModel does this but does not expose it)
         flags &= ~QItemSelectionModel.Toggle
         flags |= QItemSelectionModel.Select
     return flags
Example #13
0
 def changeEvent(self, event: QEvent) -> None:
     if event.type() == QEvent.StyleChange:
         self.styleChange.emit()
     super().changeEvent(event)
Example #14
0
 def changeEvent(self, event: QEvent) -> None:
     if event.type() in (QEvent.StyleChange, QEvent.FontChange):
         table_view_compact(self)
     super().changeEvent(event)
Example #15
0
 def eventFilter(self, obj: QDateTimeEdit, event: QEvent) -> bool:
     if event.type() == QEvent.Wheel:
         return True
     return super().eventFilter(obj, event)
Example #16
0
 def eventFilter(self, obj: Union[QSlider, QDoubleSpinBox], event: QEvent) \
         -> bool:
     if event.type() == QEvent.Wheel:
         return True
     return super().eventFilter(obj, event)
Example #17
0
 def eventFilter(self, recv: QObject, event: QEvent) -> bool:
     if event.type() == QEvent.LayoutRequest \
             and recv is self.__centralWidget:
         self._layout()
     return super().eventFilter(recv, event)
Example #18
0
 def viewportEvent(self, event: QEvent) -> bool:
     if event.type() == QEvent.Resize:
         self._layout()
     return super().viewportEvent(event)
Example #19
0
 def event(self, event: QEvent) -> bool:
     if event.type() == QEvent.Gesture:
         self.gestureEvent(cast(QGestureEvent, event))
     return super().event(event)
Example #20
0
 def eventFilter(self, reciever: QObject, event: QEvent) -> bool:
     if reciever is self.__object and event.type() in self.__etypes:
         self.__record.append(event.type())
         if self.__loop.isRunning():
             self.__loop.quit()
     return super().eventFilter(reciever, event)
Example #21
0
 def eventFilter(self, recv: QObject, event: QEvent) -> bool:
     if event.type() in (QEvent.Show,
                         QEvent.Hide) and recv is self.widget():
         return False
     else:
         return super().eventFilter(recv, event)
Example #22
0
 def viewportEvent(self, event: QEvent) -> bool:
     """Reimplemented."""
     if event.type() == QEvent.Resize:
         self.__updateHeader()
         self.__updateFooter()
     return super().viewportEvent(event)