API Documentation
Loading...
Searching...
No Matches
ContainerWidgetBase Class Reference

The root class that 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 subrscribe 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. Othewise it is always on index 0 which contains the section content in the specified layout. More...

#include <ContainerWidget.h>

Inheritance diagram for ContainerWidgetBase:
[legend]
Collaboration diagram for ContainerWidgetBase:
[legend]

Public Member Functions

 ContainerWidgetBase (QWidget *parent=nullptr)
 
virtual ~ContainerWidgetBase ()
 
- Public Member Functions inherited from QCustomStackedWidgetBase
void setAnimation (enum QEasingCurve::Type animationtype)
 
void setCustomPixmap (QPixmap *pixmap)
 
void setSpeed (int speed)
 
void setVerticalMode (bool vertical=true)
 
void setWrap (bool wrap)
 

Protected Member Functions

virtual FloatingWidgetaddSectionContent (SectionContent *sc)
 
virtual SectionWidgetaddSectionContent (SectionContent *sc, SectionWidget *sw, DropArea area=e_drop_center)
 
void beginResetAll ()
 
void bringFloatingWidgetsForward ()
 
virtual void clearAllNonFloatingContent ()
 
virtual void clearAllSectionContent ()
 
Buffer< SectionContent * > contents () const
 
DropOverlaydropOverlay ()
 
void endResetAll ()
 
bool event (QEvent *event) override
 
bool hasSectionContent (SectionContent *sc)
 
bool hideSectionContent (SectionContent *sc, PopupInfo end=PopupInfo())
 
bool isSectionContentVisible (SectionContent *sc)
 
FloatingWidgetmakeFloating (SectionContent *sc, bool show, PopupInfo start=PopupInfo(), PopupInfo end=PopupInfo())
 
FloatingWidgetmakeFullScreen (SectionContent *sc, PopupInfo start=PopupInfo())
 
QSize minimumSizeHint () const override
 
QRect outerBottomDropRect () const
 
QRect outerLeftDropRect () const
 
QRect outerRightDropRect () const
 
QRect outerTopDropRect () const
 
bool popWindowStack ()
 
bool raiseSectionContent (SectionContent *sc)
 
void removeFromResetShow (UUID id)
 
bool removeSectionContent (SectionContent *sc)
 
void resizeEvent (QResizeEvent *event) override
 
virtual void setShouldAnimateAdd (bool animate)
 
void setTabLock (bool tab_lock)
 
bool showSectionContent (SectionContent *sc, PopupInfo start=PopupInfo(), PopupInfo end=PopupInfo())
 
QSize sizeHint () const override
 
void swapSectionContent (SectionContent *section_a, SectionContent *section_b)
 
- Protected Member Functions inherited from QCustomStackedWidgetBase
uint04 activeIndex () const
 
QWidget * activeWidget () const
 
virtual uint04 addWidget (QWidget *w)
 
double animationPercent () const
 
uint04 count () const
 
uint04 currentIndex () const
 
QWidget * currentWidget () const
 
bool eventFilter (QObject *object, QEvent *event) override
 
uint04 indexOf (QWidget *widget) const
 
void insertWidget (uint04 index, QWidget *w)
 
QSize minimumSizeHint () const override
 
virtual void moveContent (uint04 from, uint04 to)
 
void paintEvent (QPaintEvent *) override
 
 QCustomStackedWidgetBase (QWidget *parent=nullptr)
 
void removeWidget (QWidget *widget)
 
void removeWidget (QWidget *widget, QWidget *slide_to_if_active)
 
void resizeEvent (QResizeEvent *event) override
 
void setAnimationPercent (double animation_percent)
 
virtual void setCurrentIdx (uint04 current_index)
 
void showEvent (QShowEvent *event) override
 
QSize sizeHint () const override
 
virtual void slideInAnimation (enum StackAnimationDirection direction=e_automatic, bool cache_in_image=false)
 
virtual void slideInAnimation (PopupInfo origin_rect, enum StackAnimationDirection direction=e_automatic, bool cache_in_image=false)
 
virtual void slideInIdx (uint04 idx, enum StackAnimationDirection direction)
 
virtual void slideInIdx (uint04 idx, int delay_time=0, enum StackAnimationDirection direction=e_automatic)
 
virtual void slideInIdx (uint04 idx, PopupInfo origin_rect, int delay_time=0, enum StackAnimationDirection direction=e_automatic)
 
virtual void slideInNext ()
 
virtual void slideInPrev ()
 
virtual void slideInWgt (QWidget *widget, enum StackAnimationDirection direction=e_automatic, bool force_slide=false)
 
virtual void swapIndices (uint04 a, uint04 b)
 
QWidget * widget (uint04 index) const
 
virtual ~QCustomStackedWidgetBase ()
 

Protected Attributes

bool m_animate_add = true
 
DropOverlaym_drop_overlay
 
Buffer< std::pair< QPointer< QWidget >, Buffer< QPointer< FloatingWidget > > > > m_fullscreen_stack
 
Buffer< std::pair< QPointer< QWidget >, Buffer< QPointer< FloatingWidget > > > > m_reset_fullscreen_stack
 
bool m_reset_is_on_home = false
 
Buffer< UUIDm_reset_visible_sections
 
Dictionary< UUID, SectionContent * > m_section_content
 
Dictionary< UUID, SectionWidget * > m_sections
 
Buffer< SharedSectionContentArea * > m_shared_content
 
SectionWidgetm_top_section_widget = nullptr
 
SharedSectionContentArea * m_top_splitter = nullptr
 
- Protected Attributes inherited from QCustomStackedWidgetBase
double m_animation_percent
 
enum QEasingCurve::Type m_animationtype
 
Buffer< QWidget * > m_child_widgets
 
uint04 m_current_index
 
bool m_is_animating
 
uint04 m_last
 
int m_last_animation_time
 
QPointer< QPropertyAnimation > m_move_animation
 
uint04 m_next
 
uint04 m_now
 
QPoint m_offset
 
PopupInfo m_popup_info
 
int m_speed
 
bool m_vertical
 
bool m_wrap = false
 

Friends

class CustomDockButton
 
class DockItem
 
class FloatingWidget
 
class MainWindow
 
class QCustomDockWidget
 
class SectionContent
 
class SectionTab
 
class SectionWidget
 

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
}
 
- Signals inherited from QCustomStackedWidgetBase
void animationFinished ()
 
- Static Public Attributes inherited from QCustomStackedWidgetBase
static ApplicationOption< sint04default_stack_animation_speed
 
- Protected Slots inherited from QCustomStackedWidgetBase
void animationDoneSlot ()
 
void childDestroyedSlot (QObject *widget)
 
- Properties inherited from QCustomStackedWidgetBase
double animation_percent
 

Detailed Description

The root class that 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 subrscribe 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. Othewise it is always on index 0 which contains the section content in the specified layout.


Constructor & Destructor Documentation

◆ ContainerWidgetBase()

ContainerWidgetBase ( QWidget * parent = nullptr)
explicit

◆ ~ContainerWidgetBase()

virtual ~ContainerWidgetBase ( )
virtual

Member Function Documentation

◆ addSectionContent() [1/2]

virtual FloatingWidget * addSectionContent ( SectionContent * sc)
protectedvirtual

◆ addSectionContent() [2/2]

virtual SectionWidget * addSectionContent ( SectionContent * sc,
SectionWidget * sw,
DropArea area = e_drop_center )
protectedvirtual

◆ beginResetAll()

void beginResetAll ( )
protected

◆ bringFloatingWidgetsForward()

void bringFloatingWidgetsForward ( )
protected

◆ clearAllNonFloatingContent()

virtual void clearAllNonFloatingContent ( )
protectedvirtual

◆ clearAllSectionContent()

virtual void clearAllSectionContent ( )
protectedvirtual

Reimplemented in ContainerWidget.

◆ contents()

Buffer< SectionContent * > contents ( ) const
protected

◆ dropOverlay()

DropOverlay * dropOverlay ( )
protected

◆ endResetAll()

void endResetAll ( )
protected

◆ event()

bool event ( QEvent * event)
overrideprotected

◆ hasSectionContent()

bool hasSectionContent ( SectionContent * sc)
protected

◆ hideSectionContent()

bool hideSectionContent ( SectionContent * sc,
PopupInfo end = PopupInfo() )
protected

◆ isSectionContentVisible()

bool isSectionContentVisible ( SectionContent * sc)
protected

◆ makeFloating()

FloatingWidget * makeFloating ( SectionContent * sc,
bool show,
PopupInfo start = PopupInfo(),
PopupInfo end = PopupInfo() )
protected

◆ makeFullScreen()

FloatingWidget * makeFullScreen ( SectionContent * sc,
PopupInfo start = PopupInfo() )
protected

◆ minimumSizeHint()

QSize minimumSizeHint ( ) const
overrideprotected

◆ outerBottomDropRect()

QRect outerBottomDropRect ( ) const
protected

◆ outerLeftDropRect()

QRect outerLeftDropRect ( ) const
protected

◆ outerRightDropRect()

QRect outerRightDropRect ( ) const
protected

◆ outerTopDropRect()

QRect outerTopDropRect ( ) const
protected

◆ popWindowStack()

bool popWindowStack ( )
protected

◆ raiseSectionContent()

bool raiseSectionContent ( SectionContent * sc)
protected

◆ removeFromResetShow()

void removeFromResetShow ( UUID id)
protected

◆ removeSectionContent()

bool removeSectionContent ( SectionContent * sc)
protected

◆ resizeEvent()

void resizeEvent ( QResizeEvent * event)
overrideprotected

◆ setShouldAnimateAdd()

virtual void setShouldAnimateAdd ( bool animate)
protectedvirtual

Reimplemented in ContainerWidget.

◆ setTabLock()

void setTabLock ( bool tab_lock)
protected

◆ showSectionContent()

bool showSectionContent ( SectionContent * sc,
PopupInfo start = PopupInfo(),
PopupInfo end = PopupInfo() )
protected

◆ sizeHint()

QSize sizeHint ( ) const
overrideprotected

◆ swapSectionContent()

void swapSectionContent ( SectionContent * section_a,
SectionContent * section_b )
protected

Friends And Related Symbol Documentation

◆ CustomDockButton

friend class CustomDockButton
friend

◆ DockItem

friend class DockItem
friend

◆ FloatingWidget

friend class FloatingWidget
friend

◆ MainWindow

friend class MainWindow
friend

◆ QCustomDockWidget

friend class QCustomDockWidget
friend

◆ SectionContent

friend class SectionContent
friend

◆ SectionTab

friend class SectionTab
friend

◆ SectionWidget

friend class SectionWidget
friend

Member Data Documentation

◆ m_animate_add

bool m_animate_add = true
protected

◆ m_drop_overlay

DropOverlay* m_drop_overlay
protected

◆ m_fullscreen_stack

Buffer<std::pair<QPointer<QWidget>, Buffer<QPointer<FloatingWidget> > > > m_fullscreen_stack
protected

◆ m_reset_fullscreen_stack

Buffer<std::pair<QPointer<QWidget>, Buffer<QPointer<FloatingWidget> > > > m_reset_fullscreen_stack
protected

◆ m_reset_is_on_home

bool m_reset_is_on_home = false
protected

◆ m_reset_visible_sections

Buffer<UUID> m_reset_visible_sections
protected

◆ m_section_content

Dictionary<UUID, SectionContent*> m_section_content
protected

◆ m_sections

Dictionary<UUID, SectionWidget*> m_sections
protected

◆ m_shared_content

Buffer<SharedSectionContentArea*> m_shared_content
protected

◆ m_top_section_widget

SectionWidget* m_top_section_widget = nullptr
protected

◆ m_top_splitter

SharedSectionContentArea* m_top_splitter = nullptr
protected

The documentation for this class was generated from the following file: