176 Q_PROPERTY(RibbonStyles ribbonStyle READ currentRibbonStyle WRITE setRibbonStyle)
177 Q_PROPERTY(
bool minimumMode READ isMinimumMode WRITE setMinimumMode)
178 Q_PROPERTY(
bool minimumModeButton READ haveShowMinimumModeButton WRITE showMinimumModeButton)
179 Q_PROPERTY(QColor windowTitleTextColor READ windowTitleTextColor WRITE setWindowTitleTextColor)
180 Q_PROPERTY(QColor tabBarBaseLineColor READ tabBarBaseLineColor WRITE setTabBarBaseLineColor)
181 Q_PROPERTY(Qt::Alignment windowTitleAligment READ windowTitleAligment WRITE setWindowTitleAligment)
182 Q_PROPERTY(
bool enableWordWrap READ isEnableWordWrap WRITE setEnableWordWrap)
183 Q_PROPERTY(
bool enableShowPanelTitle READ isEnableShowPanelTitle WRITE setEnableShowPanelTitle)
184 Q_PROPERTY(
bool tabOnTitle READ isTabOnTitle WRITE setTabOnTitle)
190 RibbonStyleLoose = 0x0001,
191 RibbonStyleCompact = 0x0002,
192 RibbonStyleThreeRow = 0x0010,
193 RibbonStyleTwoRow = 0x0020,
195 RibbonStyleLooseThreeRow = RibbonStyleLoose | RibbonStyleThreeRow,
196 RibbonStyleCompactThreeRow = RibbonStyleCompact | RibbonStyleThreeRow,
197 RibbonStyleLooseTwoRow = RibbonStyleLoose | RibbonStyleTwoRow,
198 RibbonStyleCompactTwoRow = RibbonStyleCompact | RibbonStyleTwoRow
200 Q_ENUM(RibbonStyleFlag)
201 Q_DECLARE_FLAGS(RibbonStyles, RibbonStyleFlag)
215 using FpPanelIterate = SARibbonCategory::FpPanelIterate;
223 static bool isTwoRowStyle(RibbonStyles s);
225 static bool isThreeRowStyle(RibbonStyles s);
229 static bool isCompactStyle(RibbonStyles s);
231 static QString versionString();
234 static QList< QColor > defaultContextCategoryColorList();
237 static void initHighDpi();
245 QAbstractButton* applicationButton();
248 void setApplicationButton(QAbstractButton* btn);
259 Q_INVOKABLE
void addCategoryPage(QWidget* category);
288 void moveCategory(
int from,
int to);
291 QList< SARibbonCategory* > categoryPages(
bool getAll =
true)
const;
298 addContextCategory(
const QString& title,
const QColor& color = QColor(),
const QVariant&
id = QVariant());
315 QList< SARibbonContextCategory* > contextCategoryList()
const;
321 QList< int > currentVisibleContextCategoryTabIndexs()
const;
324 void setMinimumMode(
bool isHide);
327 bool isMinimumMode()
const;
330 void showMinimumModeButton(
bool isShow =
true);
333 bool haveShowMinimumModeButton()
const;
336 QAction* minimumModeAction()
const;
339 bool isEnableTabDoubleClickToMinimumMode()
const;
341 void setTabDoubleClickToMinimumMode(
bool on =
true)
const;
347 int tabBarHeight()
const;
349 void setTabBarHeight(
int h,
bool resizeByNow =
true);
352 int titleBarHeight()
const;
354 void setTitleBarHeight(
int h,
bool resizeByNow =
true);
357 int categoryHeight()
const;
359 void setCategoryHeight(
int h,
bool resizeByNow =
true);
362 int normalModeMainBarHeight()
const;
365 int minimumModeMainBarHeight()
const;
383 void setTitleIconVisible(
bool on =
true);
385 bool isTitleIconVisible()
const;
388 void setRibbonStyle(RibbonStyles v);
390 RibbonStyles currentRibbonStyle()
const;
393 void setCurrentIndex(
int index);
402 bool isTwoRowStyle()
const;
404 bool isThreeRowStyle()
const;
407 bool isLooseStyle()
const;
409 bool isCompactStyle()
const;
412 void updateRibbonGeometry();
420 void setTabOnTitle(
bool on);
422 bool isTabOnTitle()
const;
425 void setTabBarBaseLineColor(
const QColor& clr);
427 QColor tabBarBaseLineColor()
const;
430 void setWindowTitleTextColor(
const QColor& clr);
432 QColor windowTitleTextColor()
const;
435 void setTitleVisible(
bool on =
false);
437 bool isTitleVisible()
const;
440 void setWindowTitleBackgroundBrush(
const QBrush& bk);
442 QBrush windowTitleBackgroundBrush()
const;
445 void setWindowTitleAligment(Qt::Alignment al);
447 Qt::Alignment windowTitleAligment()
const;
450 void setEnableWordWrap(
bool on);
452 bool isEnableWordWrap()
const;
455 void setButtonMaximumAspectRatio(qreal fac = 1.4);
457 qreal buttonMaximumAspectRatio()
const;
460 void setPanelTitleHeight(
int h);
462 int panelTitleHeight()
const;
465 void setEnableShowPanelTitle(
bool on);
467 bool isEnableShowPanelTitle()
const;
470 void setPanelSpacing(
int n);
472 int panelSpacing()
const;
475 void setPanelToolButtonIconSize(
const QSize& smallSize,
const QSize& largeSize);
477 QPair< QSize, QSize > panelToolButtonIconSize()
const;
480 void setPanelLargeIconSize(
const QSize& largeSize);
482 QSize panelLargeIconSize()
const;
485 void setPanelSmallIconSize(
const QSize& smallSize);
487 QSize panelSmallIconSize()
const;
493 void setContextCategoryColorList(
const QList< QColor >& cls);
495 QList< QColor > contextCategoryColorList()
const;
498 void setContextCategoryTitleTextColor(
const QColor& clr);
500 QColor contextCategoryTitleTextColor()
const;
506 void setRibbonAlignment(SARibbonAlignment al);
508 SARibbonAlignment ribbonAlignment()
const;
511 bool iterateCategory(FpCategoryIterate fp)
const;
513 bool iteratePanel(FpPanelIterate fp)
const;
516 void setCornerWidgetVisible(
bool on, Qt::Corner c = Qt::TopLeftCorner);
519 void setApplicationButtonVerticalExpansion(
bool on =
true);
521 bool isApplicationButtonVerticalExpansion()
const;
524 QList< QAction* > allActions()
const;
526 bool isUseRibbonFrame()
const;
613 bool eventFilter(QObject* obj, QEvent* e)
override;
615 int calcMinTabBarWidth()
const;
617 void updateCategoryTitleToTabName();
619 void setSystemButtonGroupSize(
const QSize& s);
621 void setMainWindowStyles(SARibbonMainWindowStyles s);
624 void onWindowTitleChanged(
const QString& title);
626 void onWindowIconChanged(
const QIcon& i);
628 void onCategoryWindowTitleChanged(
const QString& title);
630 void onStackWidgetHided();
632 virtual void onCurrentRibbonTabChanged(
int index);
634 virtual void onCurrentRibbonTabClicked(
int index);
636 virtual void onCurrentRibbonTabDoubleClicked(
int index);
640 void onContextsCategoryCategoryNameChanged(
SARibbonCategory* category,
const QString& title);
642 void onTabMoved(
int from,
int to);
646 void paintInLooseStyle();
647 void paintInCompactStyle();
650 void updateContextCategoryManagerData();
651 void synchronousCategoryData(
bool autoUpdate =
true);
653 QString toDisplayTitleText(
const QString& title)
const;
655 QRect getWindowTitleRect()
const;
661 virtual void paintEvent(QPaintEvent* e)
override;
663 virtual void moveEvent(QMoveEvent* e)
override;
665 virtual void changeEvent(QEvent* e)
override;
668 virtual void paintTabbarBaseLine(QPainter& painter);
670 virtual void paintWindowTitle(QPainter& painter,
const QString& title,
const QRect& titleRegion);
673 paintContextCategoryTab(QPainter& painter,
const QString& title,
const QRect& contextRect,
const QColor& color);
674#if SA_DEBUG_PRINT_SARIBBONBAR
675 SA_RIBBON_EXPORT
friend QDebug operator<<(QDebug debug,
const SARibbonBar& ribbon);
Definition SARibbonContextCategory.h:19
Definition SARibbonMainWindow.h:86