![]() |
NDEVR
API Documentation
|
manages a series of SectionContent that can share the same space or lay out in various patterns including as floating windows used within NDEVR API Widget Docking system. More...
Public Member Functions | |
| ContainerWidget (QWidget *parent=nullptr) | |
| Constructs a ContainerWidget with the given parent widget. | |
| void | clearAllSectionContent () override |
| Removes all section content from this container, including floating widgets. | |
| void | setShouldAnimateAdd (bool animate) override |
| Sets whether adding new section content should be animated. | |
| void | setTabLock (bool tab_lock) |
| Locks or unlocks tab movement for all section widgets in this container. | |
| Public Member Functions inherited from ContainerWidgetBase | |
| ContainerWidgetBase (QWidget *parent=nullptr) | |
| Constructs a ContainerWidgetBase with the given parent widget. | |
| Public Member Functions inherited from QCustomStackedWidgetBase | |
| void | animationFinished () |
| Signal emitted when a slide animation completes. | |
| QSize | minimumSizeHint () const override |
| Returns the minimum recommended size for the stacked widget. | |
| void | setAnimation (enum QEasingCurve::Type animationtype) |
| Sets the easing curve type used for slide animations. | |
| virtual void | setCurrentIdx (uint04 current_index) |
| Sets the current visible page index without animation. | |
| void | setCustomPixmap (QPixmap *pixmap) |
| Sets a custom pixmap to render during slide transitions instead of widget captures. | |
| void | setSpeed (int speed) |
| Sets the animation duration in milliseconds for slide transitions. | |
| void | setVerticalMode (bool vertical=true) |
| Enables or disables vertical slide animation mode. | |
| void | setWrap (bool wrap) |
| Sets whether page navigation wraps around from last to first and vice versa. | |
| QSize | sizeHint () const override |
| Returns the recommended size for the stacked widget. | |
Additional Inherited Members | |
| Public Types inherited from QCustomStackedWidgetBase | |
| enum | StackAnimationDirection { e_left_to_right , e_right_to_left , e_top_to_bottom , e_bottom_to_top , e_automatic } |
| Defines the direction of slide animations between stacked pages. More... | |
| Static Public Attributes inherited from QCustomStackedWidgetBase | |
| static ApplicationOption< sint04 > | default_stack_animation_speed |
| Default time in milliseconds to animate a slide transition. | |
| Protected Member Functions inherited from ContainerWidgetBase | |
| virtual FloatingWidget * | addSectionContent (SectionContent *sc) |
| Adds section content as a new floating widget. | |
| virtual SectionWidget * | addSectionContent (SectionContent *sc, SectionWidget *sw, DropArea area=e_drop_center) |
| Adds section content to an existing section widget in the specified drop area. | |
| void | beginResetAll () |
| Begins a reset-all operation, saving current state for later restoration. | |
| void | bringFloatingWidgetsForward () |
| Brings all floating widgets owned by this container to the front of the window stack. | |
| virtual void | clearAllNonFloatingContent () |
| Removes all non-floating section content from this container. | |
| Buffer< SectionContent * > | contents () const |
| Returns all section contents managed by this container. | |
| DropOverlay * | dropOverlay () |
| Returns the drop overlay used for drag-and-drop visual feedback. | |
| void | endResetAll () |
| Ends a reset-all operation, restoring layout to the saved state. | |
| bool | event (QEvent *event) override |
| Handles events for this widget, including custom event processing. | |
| bool | hasSectionContent (SectionContent *sc) |
| Checks whether the given section content exists within this container. | |
| bool | hideSectionContent (SectionContent *sc, PopupInfo end=PopupInfo()) |
| Hides the given section content, optionally with popup animation. | |
| bool | isSectionContentVisible (SectionContent *sc) |
| Checks whether the given section content is currently visible. | |
| FloatingWidget * | makeFloating (SectionContent *sc, bool show, PopupInfo start=PopupInfo(), PopupInfo end=PopupInfo()) |
| Makes the given section content into a floating widget. | |
| FloatingWidget * | makeFullScreen (SectionContent *sc, PopupInfo start=PopupInfo()) |
| Makes the given section content fullscreen. | |
| QSize | minimumSizeHint () const override |
| Returns the minimum recommended size for this widget. | |
| QRect | outerBottomDropRect () const |
| Returns the drop rectangle for the outer bottom area of this container. | |
| QRect | outerLeftDropRect () const |
| Returns the drop rectangle for the outer left area of this container. | |
| QRect | outerRightDropRect () const |
| Returns the drop rectangle for the outer right area of this container. | |
| QRect | outerTopDropRect () const |
| Returns the drop rectangle for the outer top area of this container. | |
| bool | popWindowStack () |
| Pops the top item from the fullscreen window stack, restoring the previous state. | |
| bool | raiseSectionContent (SectionContent *sc) |
| Raises the given section content to the front of its section widget. | |
| void | removeFromResetShow (UUID id) |
| Removes the given section ID from the list of sections to be shown during reset restoration. | |
| bool | removeSectionContent (SectionContent *sc) |
| Removes the given section content from this container. | |
| void | resizeEvent (QResizeEvent *event) override |
| Handles resize events to update internal layout geometry. | |
| void | setTabLock (bool tab_lock) |
| Locks or unlocks tab movement for all section widgets in this container. | |
| bool | showSectionContent (SectionContent *sc, PopupInfo start=PopupInfo(), PopupInfo end=PopupInfo()) |
| Shows the given section content, optionally with popup animation. | |
| QSize | sizeHint () const override |
| Returns the recommended size for this widget. | |
| void | swapSectionContent (SectionContent *section_a, SectionContent *section_b) |
| Swaps the positions of two section contents within the container. | |
| Protected Member Functions inherited from QCustomStackedWidgetBase | |
| QCustomStackedWidgetBase (QWidget *parent=nullptr) | |
| Constructs the stacked widget base. | |
| uint04 | activeIndex () const |
| Returns the index of the currently active (or animating-to) widget. | |
| QWidget * | activeWidget () const |
| Returns the currently active (or animating-to) widget. | |
| virtual uint04 | addWidget (QWidget *w) |
| Adds a widget as a new page in the stacked widget. | |
| void | animationDoneSlot () |
| Slot called when the slide animation completes to finalize the transition. | |
| double | animationPercent () const |
| Returns the current animation interpolation percent. | |
| void | childDestroyedSlot (QObject *widget) |
| Slot called when a child widget is destroyed, to remove it from the page list. | |
| uint04 | count () const |
| Returns the number of pages in the stacked widget. | |
| uint04 | currentIndex () const |
| Returns the index of the currently displayed page. | |
| QWidget * | currentWidget () const |
| Returns the currently displayed widget. | |
| bool | eventFilter (QObject *object, QEvent *event) override |
| Filters events for child widgets to handle layout and visibility changes. | |
| uint04 | indexOf (QWidget *widget) const |
| Returns the index of the given widget in the stacked widget. | |
| void | insertWidget (uint04 index, QWidget *w) |
| Inserts a widget at a specific index in the stacked widget. | |
| virtual void | moveContent (uint04 from, uint04 to) |
| Moves a child widget from one index to another. | |
| void | paintEvent (QPaintEvent *) override |
| Custom paint event that renders slide transition animations. | |
| void | removeWidget (QWidget *widget) |
| Removes a widget from the stacked widget. | |
| void | removeWidget (QWidget *widget, QWidget *slide_to_if_active) |
| Removes a widget and slides to a replacement widget if it was the active page. | |
| void | resizeEvent (QResizeEvent *event) override |
| Handles resize events to update child widget geometries. | |
| void | setAnimationPercent (double animation_percent) |
| Sets the current animation interpolation percent for the Q_PROPERTY system. | |
| void | showEvent (QShowEvent *event) override |
| Handles show events to ensure proper layout of the active widget. | |
| virtual void | slideInAnimation (enum StackAnimationDirection direction=e_automatic, bool cache_in_image=false) |
| Executes the slide animation between the current and next pages. | |
| virtual void | slideInAnimation (PopupInfo origin_rect, enum StackAnimationDirection direction=e_automatic, bool cache_in_image=false) |
| Executes the slide animation using popup origin information. | |
| virtual void | slideInIdx (uint04 idx, enum StackAnimationDirection direction) |
| Slides to the page at the given index with the specified direction. | |
| virtual void | slideInIdx (uint04 idx, int delay_time=0, enum StackAnimationDirection direction=e_automatic) |
| Slides to the page at the given index with animation. | |
| virtual void | slideInIdx (uint04 idx, PopupInfo origin_rect, int delay_time=0, enum StackAnimationDirection direction=e_automatic) |
| Slides to the page at the given index with animation and popup origin info. | |
| virtual void | slideInNext () |
| Slides to the next page with animation. | |
| virtual void | slideInPrev () |
| Slides to the previous page with animation. | |
| virtual void | slideInWgt (QWidget *widget, enum StackAnimationDirection direction=e_automatic, bool force_slide=false) |
| Slides to a specific widget with animation. | |
| virtual void | swapIndices (uint04 a, uint04 b) |
| Swaps two child widgets at the given indices. | |
| QWidget * | widget (uint04 index) const |
| Returns the widget at the given index. | |
| Protected Attributes inherited from ContainerWidgetBase | |
| bool | m_animate_add = true |
| Whether to animate the addition of new section content. | |
| DropOverlay * | m_drop_overlay |
| The overlay shown during drag-and-drop operations. | |
| Buffer< std::pair< QPointer< QWidget >, Buffer< QPointer< FloatingWidget > > > > | m_fullscreen_stack |
| Stack of fullscreen states for navigating back. | |
| Buffer< std::pair< QPointer< QWidget >, Buffer< QPointer< FloatingWidget > > > > | m_reset_fullscreen_stack |
| Saved fullscreen stack for reset restoration. | |
| bool | m_reset_is_on_home = false |
| Whether the reset state corresponds to the home layout. | |
| Buffer< UUID > | m_reset_visible_sections |
| UUIDs of sections that should be visible after a reset. | |
| Dictionary< UUID, SectionContent * > | m_section_content |
| Maps section content UUIDs to their SectionContent pointers. | |
| Dictionary< UUID, SectionWidget * > | m_sections |
| Maps section UUIDs to their SectionWidget pointers. | |
| Buffer< SharedSectionContentArea * > | m_shared_content |
| All shared content area splitters in this container. | |
| SectionWidget * | m_top_section_widget = nullptr |
| The top-level section widget, if any. | |
| SharedSectionContentArea * | m_top_splitter = nullptr |
| The top-level splitter managing the layout of all sections. | |
| Protected Attributes inherited from QCustomStackedWidgetBase | |
| double | m_animation_percent |
| The current animation interpolation percent (0.0 to 1.0). | |
| enum QEasingCurve::Type | m_animationtype |
| The easing curve type for slide animations. | |
| Buffer< QWidget * > | m_child_widgets |
| The list of child page widgets. | |
| uint04 | m_current_index |
| The index of the currently displayed page. | |
| bool | m_is_animating |
| Whether a slide animation is currently in progress. | |
| uint04 | m_last |
| The index of the previously displayed page. | |
| int | m_last_animation_time |
| The duration of the last animation in milliseconds. | |
| QPointer< QPropertyAnimation > | m_move_animation |
| The property animation driving slide transitions. | |
| uint04 | m_next |
| The index of the page being animated to. | |
| uint04 | m_now |
| The index of the currently displayed page during animation. | |
| QPoint | m_offset |
| The pixel offset used during slide animation rendering. | |
| PopupInfo | m_popup_info |
| The popup info used for animation origin calculations. | |
| int | m_speed |
| The animation duration in milliseconds. | |
| bool | m_vertical |
| Whether slide animations are in vertical mode. | |
| bool | m_wrap = false |
| Whether page navigation wraps around at boundaries. | |
manages a series of SectionContent that can share the same space or lay out in various patterns including as floating windows used within NDEVR API Widget Docking system.
While the NDEVR API Widget Docking system allows widgets to be floating, they must still subscribe to a ContainerWidgetBase which acts as a parent window and, if necessary, causes the widget to rejoin the Container. When asked for being displayed full-screen, the widget will take over the complete space of the ContainerWidgetBase. A ContainerWidgetBase inherits from QCustomStackedWidgetBase which which is only used when a widget wants to go fullscreen. Otherwise it is always on index 0 which contains the section content in the specified layout.
Definition at line 290 of file ContainerWidget.h.
|
inline |
Constructs a ContainerWidget with the given parent widget.
| [in] | parent | The parent QWidget, or nullptr for no parent. |
Definition at line 297 of file ContainerWidget.h.
References ContainerWidgetBase::ContainerWidgetBase().
|
inlineoverridevirtual |
Sets whether adding new section content should be animated.
| [in] | animate | Whether to animate the addition of content. |
Reimplemented from ContainerWidgetBase.
Definition at line 311 of file ContainerWidget.h.
References ContainerWidgetBase::setShouldAnimateAdd().
|
inline |
Locks or unlocks tab movement for all section widgets in this container.
| [in] | tab_lock | Whether tabs should be locked in place. |
Definition at line 319 of file ContainerWidget.h.
References ContainerWidgetBase::setTabLock().