11#include <QStackedWidget>
16class RibbonQuickAccessBar;
17class RibbonControlButton;
27 void setPopup(
bool popup);
29 void moveWidget(
int from,
int to);
35 virtual bool event(QEvent *event);
60 return (this->pageContext == pageContext);
85 void setApplicationButton(QAbstractButton *btn);
88 void setMinimizedFlag(
bool flag);
89 void updateMinimumButtonIcon();
91 QColor getPageContextColor();
95 return ((m_ribbonStyle & 0x00FF) == 0);
99 return ((m_ribbonStyle & 0xFF00) != 0);
102 void updateTabData();
103 void updatePageContextManagerData();
104 void updateRibbonElementGeometry();
105 void updateRibbonBarHeight();
107 void paintInOfficeStyle(QPainter &p);
108 void paintInWpsLiteStyle(QPainter &p);
109 void paintBackground(QPainter &painter);
110 void paintWindowTitle(QPainter &painter,
const QString &title,
const QRect &titleRegion);
111 void paintPageContextTab(QPainter &painter,
const QString &title, QRect contextRect,
const QColor &color);
113 void resizeInOfficeStyle();
114 void resizeInWpsLiteStyle();
115 void resizeStackedWidget();
118 int minimumWidthInOfficeStyle()
const;
119 int minimumWidthInWpsLiteStyle()
const;
121 int calcMinTabBarWidth()
const;
122 int mainBarHeight()
const;
129 void onWindowTitleChanged(
const QString &title);
130 void onWindowIconChanged(
const QIcon &icon);
131 void onPageWindowTitleChanged(
const QString &title);
133 void onCurrentRibbonTabChanged(
int index);
134 void onCurrentRibbonTabClicked(
int index);
135 void onCurrentRibbonTabDoubleClicked(
int index);
136 void onTabMoved(
int from,
int to);
137 void onStackWidgetHided();
138 void onFontChanged();
QList< int > tabPageIndex
bool operator==(const RibbonPageContext *pageContext)
RibbonPageContext * pageContext
Qt::Alignment m_titleAligment
bool isTwoRowStyle() const
QWidget * m_tabBarBaseLine
RibbonBar::TabBarPosition m_tabBarPosition
RibbonQuickAccessBarContainer * m_quickAccessBar
QList< PageContextManagerData > m_currentShowingPageContextList
RibbonButtonGroup * m_bottomLeftButtonGroup
QList< RibbonPageContext * > m_pageContextList
RibbonControlButton * m_minimumPageButton
隐藏面板按钮
bool isOfficeStyle() const
bool m_pageContextCoverTab
RibbonButtonGroup * m_topLeftButtonGroup
QList< RibbonTabData > m_hidedPage
RibbonBar::RibbonStyle m_lastShowStyle
RibbonBar::RibbonStyle m_ribbonStyle
RibbonStackedWidget * m_stack
int m_pageContextColorListIndex
RibbonBar::QuickAccessBarPosition m_quickAccessBarPosition
QWidget * m_windowButtonGroup
RibbonButtonGroup * m_bottomRightButtonGroup
在 tabbar 右边的按钮群
int m_iconRightBorderPosition
标题栏x值的最小值,在有图标和快捷启动按钮,此值都需要变化
QList< QColor > m_pageContextColorList
QAbstractButton * m_applicationButton
RibbonButtonGroup * m_topRightButtonGroup
RibbonBar 继承 QMenuBar, 在 RibbonWindow 中直接替换了原来的 QMenuBar
#define QX_DECLARE_PUBLIC(Class)
#define Q_NULLPTR
Copyleft (C) 2025 maminjie canpool@163.com SPDX-License-Identifier: MulanPSL-2.0
#define QX_RIBBON_END_NAMESPACE
#define QX_RIBBON_BEGIN_NAMESPACE
#define QX_RIBBON_PREPEND_NAMESPACE(name)