33#include <NDEVR/RibbonLayoutMode.h>
34#include <NDEVR/Button.h>
35#include <NDEVR/QCustomLabel.h>
52 void removeButton(
Button* button);
55 void setIgnoredSize(
bool ignored);
56 QSize sizeHint()
const override;
57 QSize minimumSizeHint()
const override;
58 void setSpacing(
int spacing);
59 int currentPrimary()
const;
60 int currentSecondary()
const;
61 int largeButtonWidth()
const;
62 int mediumButtonWidth()
const;
63 void setIconSizeMultiplier(
fltp04 size_multiplier);
67 virtual void setVisible(
bool is_visible)
override;
71 void setNumberOfRows(
uint04 number_of_rows);
72 int marginThickness()
const;
73 void setExpandingIcons(
bool expanding);
77 uint04 numOfColumns()
const;
78 void resizeEvent(QResizeEvent* resize_event)
override;
79 void setFixedNumOfRows(
uint01 fixed_num_of_rows);
80 void updateRibbonLayout();
81 virtual void sortButtons(
const std::function<
bool(
Button*,
Button*)>& sorter);
85 void setVertical(
bool is_vertical);
86 void updateButtonSize(
uint04 button,
int secondary_size,
bool use_default);
87 bool event(QEvent* ev)
override;
89 void addToButtonSize(
Button* button);
91 void updateLayout(QSize size);
93 void resetButtonState();
95 bool requestLarger(
int secondary_size);
97 bool requestSmaller(
uint01 priority,
uint04 col_count,
int secondary_size);
101 void _ribbonResizeEvent(
int primary,
int secondary);
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:59
Definition QCustomLabel.h:42
Definition RibbonGroup.h:47
Definition RibbonSubGroup.h:43
Vector< 2, int > largeButtonSize()
Definition RibbonSubGroup.h:90
Vector< 2, int > m_full_size
Definition RibbonSubGroup.h:109
bool m_ignored_size
Definition RibbonSubGroup.h:118
QWidget * m_button_panel
Definition RibbonSubGroup.h:107
uint01 m_num_of_rows
Definition RibbonSubGroup.h:114
void requestLayoutUpdate()
void setLayoutMode(RibbonLayoutMode layout_mode)
Definition RibbonSubGroup.h:69
bool m_auto_fill_table
Definition RibbonSubGroup.h:120
TranslatedString m_title
Definition RibbonSubGroup.h:113
bool m_is_vertical
Definition RibbonSubGroup.h:117
QGridLayout * m_layout
Definition RibbonSubGroup.h:104
int m_last_width
Definition RibbonSubGroup.h:106
Vector< 2, int > m_estimated_size
Definition RibbonSubGroup.h:111
const Buffer< Button * > & buttons() const
Definition RibbonSubGroup.h:51
Vector< 2, int > m_large_button_size
Definition RibbonSubGroup.h:110
RibbonLayoutMode m_layout_mode
Definition RibbonSubGroup.h:108
uint01 m_fixed_num_of_rows
Definition RibbonSubGroup.h:115
Vector< 2, int > estimatedSize() const
Definition RibbonSubGroup.h:66
QCustomLabel * m_label
Definition RibbonSubGroup.h:105
const TranslatedString & title() const
Definition RibbonSubGroup.h:76
Buffer< Button * > m_buttons
Definition RibbonSubGroup.h:103
bool m_expanding_icons
Definition RibbonSubGroup.h:119
fltp04 m_icon_size_multiplier
Definition RibbonSubGroup.h:121
Any text displayed to the user should be defined as a TranslatedString which allows the.
Definition TranslatedString.h:13
A fixed-size array with better performance compared to dynamic containers.
Definition Vector.hpp:60
float fltp04
Defines an alias representing a 4 byte floating-point number.
Definition BaseValues.hpp:152
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:93
RibbonLayoutMode
Definition RibbonLayoutMode.hpp:36
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:115
Definition BaseValues.hpp:267