99 Q_PROPERTY(RibbonStyles ribbonStyle READ currentRibbonStyle WRITE setRibbonStyle)
100 Q_PROPERTY(
bool minimumMode READ isMinimumMode WRITE setMinimumMode)
101 Q_PROPERTY(
bool minimumModeButton READ haveShowMinimumModeButton WRITE showMinimumModeButton)
102 Q_PROPERTY(QColor windowTitleTextColor READ windowTitleTextColor WRITE setWindowTitleTextColor)
103 Q_PROPERTY(QColor tabBarBaseLineColor READ tabBarBaseLineColor WRITE setTabBarBaseLineColor)
104 Q_PROPERTY(Qt::Alignment windowTitleAligment READ windowTitleAligment WRITE setWindowTitleAligment)
105 Q_PROPERTY(
bool enableWordWrap READ isEnableWordWrap WRITE setEnableWordWrap)
106 Q_PROPERTY(
bool enableShowPanelTitle READ isEnableShowPanelTitle WRITE setEnableShowPanelTitle)
107 Q_PROPERTY(
bool tabOnTitle READ isTabOnTitle WRITE setTabOnTitle)
113 RibbonStyleLoose = 0x0001,
114 RibbonStyleCompact = 0x0002,
115 RibbonStyleThreeRow = 0x0010,
116 RibbonStyleTwoRow = 0x0020,
118 RibbonStyleLooseThreeRow = RibbonStyleLoose | RibbonStyleThreeRow,
119 RibbonStyleCompactThreeRow = RibbonStyleCompact | RibbonStyleThreeRow,
120 RibbonStyleLooseTwoRow = RibbonStyleLoose | RibbonStyleTwoRow,
121 RibbonStyleCompactTwoRow = RibbonStyleCompact | RibbonStyleTwoRow
123 Q_ENUM(RibbonStyleFlag)
124 Q_DECLARE_FLAGS(RibbonStyles, RibbonStyleFlag)
138 using FpPanelIterate = SARibbonCategory::FpPanelIterate;
146 static bool isTwoRowStyle(RibbonStyles s);
147 static bool isThreeRowStyle(RibbonStyles s);
149 static bool isLooseStyle(RibbonStyles s);
150 static bool isCompactStyle(RibbonStyles s);
152 static QString versionString();
155 static QList< QColor > defaultContextCategoryColorList();
158 static void initHighDpi();
165 QAbstractButton* applicationButton();
168 void setApplicationButton(QAbstractButton* btn);
178 Q_INVOKABLE
void addCategoryPage(QWidget* category);
206 void moveCategory(
int from,
int to);
209 QList< SARibbonCategory* > categoryPages(
bool getAll =
true)
const;
216 addContextCategory(
const QString& title,
const QColor& color = QColor(),
const QVariant&
id = QVariant());
232 QList< SARibbonContextCategory* > contextCategoryList()
const;
238 QList< int > currentVisibleContextCategoryTabIndexs()
const;
241 void setMinimumMode(
bool isHide);
244 bool isMinimumMode()
const;
247 void showMinimumModeButton(
bool isShow =
true);
250 bool haveShowMinimumModeButton()
const;
253 QAction* minimumModeAction()
const;
256 bool isEnableTabDoubleClickToMinimumMode()
const;
257 void setTabDoubleClickToMinimumMode(
bool on =
true)
const;
263 int tabBarHeight()
const;
264 void setTabBarHeight(
int h,
bool resizeByNow =
true);
267 int titleBarHeight()
const;
268 void setTitleBarHeight(
int h,
bool resizeByNow =
true);
271 int categoryHeight()
const;
272 void setCategoryHeight(
int h,
bool resizeByNow =
true);
275 int normalModeMainBarHeight()
const;
278 int minimumModeMainBarHeight()
const;
296 void setTitleIconVisible(
bool on =
true);
298 bool isTitleIconVisible()
const;
301 void setRibbonStyle(RibbonStyles v);
302 RibbonStyles currentRibbonStyle()
const;
305 void setCurrentIndex(
int index);
314 bool isTwoRowStyle()
const;
315 bool isThreeRowStyle()
const;
318 bool isLooseStyle()
const;
319 bool isCompactStyle()
const;
322 void updateRibbonGeometry();
329 void setTabOnTitle(
bool on);
330 bool isTabOnTitle()
const;
333 void setTabBarBaseLineColor(
const QColor& clr);
334 QColor tabBarBaseLineColor()
const;
337 void setWindowTitleTextColor(
const QColor& clr);
338 QColor windowTitleTextColor()
const;
341 void setTitleVisible(
bool on =
false);
342 bool isTitleVisible()
const;
345 void setWindowTitleBackgroundBrush(
const QBrush& bk);
346 QBrush windowTitleBackgroundBrush()
const;
349 void setWindowTitleAligment(Qt::Alignment al);
350 Qt::Alignment windowTitleAligment()
const;
353 void setEnableWordWrap(
bool on);
354 bool isEnableWordWrap()
const;
357 void setButtonMaximumAspectRatio(qreal fac = 1.4);
358 qreal buttonMaximumAspectRatio()
const;
361 int panelTitleHeight()
const;
362 void setPanelTitleHeight(
int h);
365 bool isEnableShowPanelTitle()
const;
366 void setEnableShowPanelTitle(
bool on);
369 void setPanelSpacing(
int n);
370 int panelSpacing()
const;
373 void setPanelToolButtonIconSize(
const QSize& s);
374 QSize panelToolButtonIconSize()
const;
380 void setContextCategoryColorList(
const QList< QColor >& cls);
381 QList< QColor > contextCategoryColorList()
const;
384 void setContextCategoryTitleTextColor(
const QColor& clr);
385 QColor contextCategoryTitleTextColor()
const;
391 void setRibbonAlignment(SARibbonAlignment al);
392 SARibbonAlignment ribbonAlignment()
const;
395 bool iterateCategory(FpCategoryIterate fp)
const;
397 bool iteratePanel(FpPanelIterate fp)
const;
400 void setCornerWidgetVisible(
bool on, Qt::Corner c = Qt::TopLeftCorner);
403 void setApplicationButtonVerticalExpansion(
bool on =
true);
404 bool isApplicationButtonVerticalExpansion()
const;
407 QList< QAction* > allActions()
const;
409 bool isUseRibbonFrame()
const;
451 bool eventFilter(QObject* obj, QEvent* e)
override;
453 int calcMinTabBarWidth()
const;
455 void updateCategoryTitleToTabName();
457 void setSystemButtonGroupSize(
const QSize& s);
459 void setMainWindowStyles(SARibbonMainWindowStyles s);
461 void onWindowTitleChanged(
const QString& title);
462 void onWindowIconChanged(
const QIcon& i);
463 void onCategoryWindowTitleChanged(
const QString& title);
464 void onStackWidgetHided();
465 virtual void onCurrentRibbonTabChanged(
int index);
466 virtual void onCurrentRibbonTabClicked(
int index);
467 virtual void onCurrentRibbonTabDoubleClicked(
int index);
469 void onContextsCategoryCategoryNameChanged(
SARibbonCategory* category,
const QString& title);
470 void onTabMoved(
int from,
int to);
474 void paintInLooseStyle();
475 void paintInCompactStyle();
478 void updateContextCategoryManagerData();
479 void synchronousCategoryData(
bool autoUpdate =
true);
481 QString toDisplayTitleText(
const QString& title)
const;
483 QRect getWindowTitleRect()
const;
486 void setRibbonMainwindowStyle();
487 virtual void paintEvent(QPaintEvent* e)
override;
488 virtual void moveEvent(QMoveEvent* e)
override;
489 virtual void changeEvent(QEvent* e)
override;
491 virtual void paintTabbarBaseLine(QPainter& painter);
492 virtual void paintWindowTitle(QPainter& painter,
const QString& title,
const QRect& titleRegion);
494 paintContextCategoryTab(QPainter& painter,
const QString& title,
const QRect& contextRect,
const QColor& color);
495#if SA_DEBUG_PRINT_SARIBBONBAR
496 SA_RIBBON_EXPORT
friend QDebug operator<<(QDebug debug,
const SARibbonBar& ribbon);
管理上下文标签的类
Definition SARibbonContextCategory.h:11
如果要使用SARibbonBar,必须使用此类代替QMainWindow
Definition SARibbonMainWindow.h:60