34#include <NDEVR/SectionContent.h>
35#include <NDEVR/QCustomStackedWidget.h>
36#include <NDEVR/UUID.h>
37#include <NDEVR/Buffer.h>
44class QPropertyAnimation;
47 class ContainerWidgetBase;
49 class SectionWidgetTabsScrollArea;
57 Q_PROPERTY(
double animation_progress READ animationProgress WRITE setAnimationProgress)
61 explicit operator const QWidget* ()
const {
return this; }
62 explicit operator QWidget* () {
return this; }
63 explicit operator const QObject* ()
const {
return this; }
64 explicit operator QObject* () {
return this; }
68 QRect titleAreaGeometry()
const;
75 void createCollapseAnimation();
76 bool takeContent(
uint04 index);
79 uint04 contentCount()
const;
81 uint04 indexOfContentByTitlePos(
const QPoint& pos, QWidget* exclude =
nullptr)
const;
82 bool isLayoutVertical()
const;
83 void hideCurrentSection();
84 bool isRibbonHorizontal()
const;
85 bool isRibbonLayoutHorizontal()
const;
86 void setTabLock(
bool tab_lock);
87 void setTabVisible(
bool visible);
88 uint04 activeIndex()
const;
89 uint04 currentIndex()
const;
90 bool event(QEvent* event)
override;
94 void setAnimationProgress(
double width);
95 int prefferedContentWidth()
const;
97 QSize minimumSizeHint()
const override;
98 QSize normalMinimumSize()
const;
99 QSize sizeHint()
const override;
100 void finishAnimation();
101 void setCurrentIndex(
uint04 index,
bool animate);
105 bool hasVisibleTab()
const;
106 void updateLayout(QBoxLayout* layout);
107 void setMinimizeAllowed(
bool allowed);
108 bool minimizeAllowed();
109 void resizeEvent(QResizeEvent* event)
override;
110 void setupAsBoxWidget(
bool is_box_widget);
114 virtual void showEvent(QShowEvent*)
override;
120 void showTabMenuButtonIfNeeded();
121 void onTabsMenuButtonClicked();
124 void onTabsMenuActionTriggered(
bool);
141 double m_max_animation_progress;
142 QPixmap* m_cached_image;
143 QPointer<QPropertyAnimation> m_resize_animation;
145 bool m_has_rendered =
false;
146 bool m_minimize_allowed =
true;
147 bool m_show_tabs =
true;
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition SectionContent.h:47
RibbonArea
Definition RibbonArea.h:68
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:181