98 friend class SARibbonCategoryPrivate;
99 friend class SARibbonCustomizeWidgetPrivate;
101 Q_PROPERTY(
bool isCanCustomize READ isCanCustomize WRITE setCanCustomize)
102 Q_PROPERTY(
bool isExpanding READ isExpanding WRITE setExpanding)
103 Q_PROPERTY(QString panelName READ panelName WRITE setPanelName)
132 Q_ENUM(PanelLayoutMode)
138 explicit SARibbonPanel(
const QString& name, QWidget* parent =
nullptr);
140 using QWidget::addAction;
145 void addAction(QAction* act,
146 QToolButton::ToolButtonPopupMode popMode,
149 void addLargeAction(QAction* action);
151 void addMediumAction(QAction* action);
153 void addSmallAction(QAction* action);
156 void addSmallAction(QAction* action, QToolButton::ToolButtonPopupMode popMode);
158 void addLargeAction(QAction* action, QToolButton::ToolButtonPopupMode popMode);
160 void addMediumAction(QAction* action, QToolButton::ToolButtonPopupMode popMode);
162 QAction* addAction(const QString& text,
164 QToolButton::ToolButtonPopupMode popMode,
168 void addMenu(QMenu* menu,
170 QToolButton::ToolButtonPopupMode popMode = QToolButton::InstantPopup);
172 void addLargeMenu(QMenu* menu, QToolButton::ToolButtonPopupMode popMode = QToolButton::InstantPopup);
174 void addMediumMenu(QMenu* menu, QToolButton::ToolButtonPopupMode popMode = QToolButton::InstantPopup);
176 void addSmallMenu(QMenu* menu, QToolButton::ToolButtonPopupMode popMode = QToolButton::InstantPopup);
182 QAction* addSmallWidget(QWidget* w);
185 QAction* addMediumWidget(QWidget* w);
188 QAction* addLargeWidget(QWidget* w);
194 QAction* addSeparator();
201 void setOptionAction(QAction* action);
204 bool isHaveOptionAction() const;
210 PanelLayoutMode panelLayoutMode() const;
211 void setPanelLayoutMode(PanelLayoutMode mode);
214 void resetToolButtonSize();
217 bool isTwoRow() const;
220 void setExpanding(
bool isExpanding = true);
222 bool isExpanding() const;
225 int titleHeight() const;
228 bool isEnableShowTitle() const;
231 int actionIndex(QAction* act) const;
234 void moveAction(
int from,
int to);
237 bool isCanCustomize() const;
238 void setCanCustomize(
bool b);
241 QString panelName() const;
242 void setPanelName(const QString& title);
245 int largeButtonHeight() const;
254 void updateItemGeometry();
266 void setToolButtonIconSize(const QSize& s);
267 QSize toolButtonIconSize() const;
276 bool isEnableWordWrap() const;
279 qreal buttonMaximumAspectRatio() const;
282 bool iterateButton(FpRibbonToolButtonIterate fp) const;
285 virtual QSize sizeHint() const Q_DECL_OVERRIDE;
286 virtual QSize minimumSizeHint() const Q_DECL_OVERRIDE;
290 static
int panelHeightHint(const QFontMetrics& fm, PanelLayoutMode layMode,
int panelTitleHeight);
292 static
void setActionRowProportionProperty(QAction* action,
SARibbonPanelItem::RowProportion rp);
294 static
SARibbonPanelItem::RowProportion getActionRowProportionProperty(QAction* action);
296 static
void setActionToolButtonPopupModeProperty(QAction* action, QToolButton::ToolButtonPopupMode popMode);
298 static QToolButton::ToolButtonPopupMode getActionToolButtonPopupModeProperty(QAction* action);
300 static
void setActionToolButtonStyleProperty(QAction* action, Qt::ToolButtonStyle buttonStyle);
302 static Qt::ToolButtonStyle getActionToolButtonStyleProperty(QAction* action);
310 void actionTriggered(QAction* action);
316 void panelNameChanged(const QString& n);
319 virtual
void actionEvent(QActionEvent* e) Q_DECL_OVERRIDE;
320 virtual
void changeEvent(QEvent* e) Q_DECL_OVERRIDE;
328 void setTitleHeight(
int h);
331 void setSpacing(
int n);
334 void setEnableShowTitle(
bool on);
337 void setEnableWordWrap(
bool on);
340 void setButtonMaximumAspectRatio(qreal fac = 1.4);