OverlayWidget

Qualified name: mv::gui::OverlayWidget

class OverlayWidget : public QWidget

Overlay widget class.

Overlays the target widget with an overlay widget and keeps its geometry in sync with the target widget.

By default, the overlay widget and its children are immune to mouse events (similar to the Qt widget attribute Qt::WA_TransparentForMouseEvents). To enable/disable child widget mouse events, call OverlayWidget::addMouseEventReceiverWidget(…) or OverlayWidget::removeMouseEventReceiverWidget(…) respectively.

For more information, refer to the mv::util::WidgetOverlayer class.

Author

Thomas Kroes

Subclassed by mv::Navigator2D::ZoomOverlayWidget, mv::gui::ActionOverlayWidget, mv::gui::ViewPluginLearningCenterOverlayWidget, mv::gui::ViewPluginOverlayWidget, mv::gui::WidgetActionBadgeOverlayWidget, mv::gui::WidgetActionHighlightWidget

Public Functions

OverlayWidget(QWidget *target, float initialOpacity = 1.0f)

Construct with pointer to target widget and initial opacity.

Parameters:
  • target – Pointer to target widget (used to synchronize the geometry with)

  • initialOpacity – Opacity at initialization

mv::util::WidgetOverlayer &getWidgetOverlayer()

Get the utility class for overlaying the widget.

Returns:

Widget overlayer

virtual void addMouseEventReceiverWidget(QWidget *mouseEventReceiverWidget) final

Add mouseEventReceiverWidget.

Parameters:

mouseEventReceiverWidget – Pointer to mouse event receiver widget that should be added

virtual void removeMouseEventReceiverWidget(QWidget *mouseEventReceiverWidget) final

Remove mouseEventReceiverWidget.

Parameters:

mouseEventReceiverWidget – Pointer to mouse event receiver widget that should be removed

void updateMask()

Update widget mask to selectively process mouse events.

Protected Functions

void resizeEvent(QResizeEvent *event) override

Update the mask region when the overlay widget changes size.

Parameters:

event – Pointer to resize event that occurred