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 enableIconRightText READ isEnableIconRightText WRITE setEnableIconRightText)
185 Q_PROPERTY(
bool tabOnTitle READ isTabOnTitle WRITE setTabOnTitle)
191 RibbonStyleLoose = 0x0001,
192 RibbonStyleCompact = 0x0002,
193 RibbonStyleThreeRow = 0x0010,
194 RibbonStyleTwoRow = 0x0020,
195 RibbonStyleSingleRow = 0x0040,
197 RibbonStyleLooseThreeRow = RibbonStyleLoose | RibbonStyleThreeRow,
198 RibbonStyleCompactThreeRow = RibbonStyleCompact | RibbonStyleThreeRow,
199 RibbonStyleLooseTwoRow = RibbonStyleLoose | RibbonStyleTwoRow,
200 RibbonStyleCompactTwoRow = RibbonStyleCompact | RibbonStyleTwoRow,
201 RibbonStyleLooseSingleRow = RibbonStyleLoose | RibbonStyleSingleRow,
202 RibbonStyleCompactSingleRow = RibbonStyleCompact | RibbonStyleSingleRow
204 Q_ENUM(RibbonStyleFlag)
205 Q_DECLARE_FLAGS(RibbonStyles, RibbonStyleFlag)
219 using FpPanelIterate = SARibbonCategory::FpPanelIterate;
227 static bool isTwoRowStyle(RibbonStyles s);
229 static bool isThreeRowStyle(RibbonStyles s);
233 static bool isCompactStyle(RibbonStyles s);
235 static bool isSingleRowStyle(RibbonStyles s);
237 static QString versionString();
240 static QList< QColor > defaultContextCategoryColorList();
243 static void initHighDpi();
251 QAbstractButton* applicationButton();
254 void setApplicationButton(QAbstractButton* btn);
265 Q_INVOKABLE
void addCategoryPage(QWidget* category);
288 void setCategoriesVisible(
const QList< SARibbonCategory* >& categories,
bool visible);
297 void moveCategory(
int from,
int to);
300 QList< SARibbonCategory* > categoryPages(
bool getAll =
true)
const;
307 addContextCategory(
const QString& title,
const QColor& color = QColor(),
const QVariant&
id = QVariant());
324 QList< SARibbonContextCategory* > contextCategoryList()
const;
330 QList< int > currentVisibleContextCategoryTabIndexs()
const;
333 void setMinimumMode(
bool isHide);
336 bool isMinimumMode()
const;
339 void showMinimumModeButton(
bool isShow =
true);
342 bool haveShowMinimumModeButton()
const;
345 QAction* minimumModeAction()
const;
348 bool isEnableTabDoubleClickToMinimumMode()
const;
350 void setTabDoubleClickToMinimumMode(
bool on =
true)
const;
356 int tabBarHeight()
const;
358 void setTabBarHeight(
int h,
bool resizeByNow =
true);
361 int titleBarHeight()
const;
363 void setTitleBarHeight(
int h,
bool resizeByNow =
true);
366 int categoryHeight()
const;
368 void setCategoryHeight(
int h,
bool resizeByNow =
true);
371 int normalModeMainBarHeight()
const;
374 int minimumModeMainBarHeight()
const;
392 void setTitleIconVisible(
bool on =
true);
394 bool isTitleIconVisible()
const;
397 void setRibbonStyle(RibbonStyles v);
399 RibbonStyles currentRibbonStyle()
const;
402 void setCurrentIndex(
int index);
411 bool isTwoRowStyle()
const;
413 bool isThreeRowStyle()
const;
416 bool isLooseStyle()
const;
418 bool isCompactStyle()
const;
420 bool isSingleRowStyle()
const;
423 void updateRibbonGeometry();
431 void setTabOnTitle(
bool on);
433 bool isTabOnTitle()
const;
436 void setTabBarBaseLineColor(
const QColor& clr);
438 QColor tabBarBaseLineColor()
const;
441 void setWindowTitleTextColor(
const QColor& clr);
443 QColor windowTitleTextColor()
const;
446 void setTitleVisible(
bool on =
false);
448 bool isTitleVisible()
const;
451 void setWindowTitleBackgroundBrush(
const QBrush& bk);
453 QBrush windowTitleBackgroundBrush()
const;
456 void setWindowTitleAligment(Qt::Alignment al);
458 Qt::Alignment windowTitleAligment()
const;
461 void setEnableWordWrap(
bool on);
463 bool isEnableWordWrap()
const;
466 void setEnableIconRightText(
bool on);
468 bool isEnableIconRightText()
const;
471 void setButtonMaximumAspectRatio(qreal fac = 1.4);
473 qreal buttonMaximumAspectRatio()
const;
476 void setPanelTitleHeight(
int h);
478 int panelTitleHeight()
const;
481 void setEnableShowPanelTitle(
bool on);
483 bool isEnableShowPanelTitle()
const;
486 void setPanelSpacing(
int n);
488 int panelSpacing()
const;
491 void setPanelToolButtonIconSize(
const QSize& smallSize,
const QSize& largeSize);
493 QPair< QSize, QSize > panelToolButtonIconSize()
const;
496 void setPanelLargeIconSize(
const QSize& largeSize);
498 QSize panelLargeIconSize()
const;
501 void setPanelSmallIconSize(
const QSize& smallSize);
503 QSize panelSmallIconSize()
const;
509 void setContextCategoryColorList(
const QList< QColor >& cls);
511 QList< QColor > contextCategoryColorList()
const;
514 void setContextCategoryTitleTextColor(
const QColor& clr);
516 QColor contextCategoryTitleTextColor()
const;
522 void setRibbonAlignment(SARibbonAlignment al);
524 SARibbonAlignment ribbonAlignment()
const;
527 bool iterateCategory(FpCategoryIterate fp)
const;
529 bool iteratePanel(FpPanelIterate fp)
const;
532 void setCornerWidgetVisible(
bool on, Qt::Corner c = Qt::TopLeftCorner);
535 void setApplicationButtonVerticalExpansion(
bool on =
true);
537 bool isApplicationButtonVerticalExpansion()
const;
540 QList< QAction* > allActions()
const;
542 bool isUseRibbonFrame()
const;
629 bool eventFilter(QObject* obj, QEvent* e)
override;
631 int calcMinTabBarWidth()
const;
633 void updateCategoryTitleToTabName();
635 void setSystemButtonGroupSize(
const QSize& s);
637 void setMainWindowStyles(SARibbonMainWindowStyles s);
640 void onWindowTitleChanged(
const QString& title);
642 void onWindowIconChanged(
const QIcon& i);
644 void onCategoryWindowTitleChanged(
const QString& title);
646 void onStackWidgetHided();
648 virtual void onCurrentRibbonTabChanged(
int index);
650 virtual void onCurrentRibbonTabClicked(
int index);
652 virtual void onCurrentRibbonTabDoubleClicked(
int index);
656 void onContextsCategoryCategoryNameChanged(
SARibbonCategory* category,
const QString& title);
658 void onTabMoved(
int from,
int to);
662 void paintInLooseStyle();
663 void paintInCompactStyle();
666 void updateContextCategoryManagerData();
667 void synchronousCategoryData(
bool autoUpdate =
true);
669 QString toDisplayTitleText(
const QString& title)
const;
671 QRect getWindowTitleRect()
const;
677 virtual void paintEvent(QPaintEvent* e)
override;
679 virtual void moveEvent(QMoveEvent* e)
override;
681 virtual void changeEvent(QEvent* e)
override;
684 virtual void paintTabbarBaseLine(QPainter& painter);
686 virtual void paintWindowTitle(QPainter& painter,
const QString& title,
const QRect& titleRegion);
689 paintContextCategoryTab(QPainter& painter,
const QString& title,
const QRect& contextRect,
const QColor& color);
690#if SA_DEBUG_PRINT_SARIBBONBAR
691 SA_RIBBON_EXPORT
friend QDebug operator<<(QDebug debug,
const SARibbonBar& ribbon);
Definition SARibbonContextCategory.h:19
Definition SARibbonMainWindow.h:86