15class RibbonAppWindowPrivate
19 RibbonAppWindowPrivate();
26RibbonAppWindowPrivate::RibbonAppWindowPrivate()
32void RibbonAppWindowPrivate::init()
39 m_windowAgent->setup(q);
40 m_windowAgent->setTitleBar(ribbonBar);
41 m_windowAgent->addCaptionClassName(QString::fromLatin1(
"QxRibbon::RibbonBar"));
46 m_windowButtonGroup->setSignalEnabled(
true);
48 &RibbonAppWindow::showMinimized);
50 if (q->isMaximized()) {
62 Qt::WindowStates s = q->windowState();
63 if (s.testFlag(Qt::WindowFullScreen)) {
64 m_windowButtonGroup->setVisible(
false);
66 m_windowButtonGroup->setVisible(
true);
68 m_windowButtonGroup->setWindowStates(s);
69 m_windowAgent->setHitTestVisible(m_windowButtonGroup,
true);
72RibbonAppWindow::RibbonAppWindow(QWidget *parent, Qt::WindowFlags flags)
90 if (!(flags & Qt::WindowMaximizeButtonHint)) {
91 if (isMaximized() || isFullScreen()) {
96 if (d->m_windowButtonGroup) {
97 if (flags & Qt::WindowMaximizeButtonHint) {
99 d->m_windowButtonGroup->widgetForMaximizeButton());
103 d->m_windowButtonGroup->updateWindowFlags(flags);
117 case QEvent::WindowStateChange: {
118 Qt::WindowStates s = windowState();
119 if (d->m_windowButtonGroup) {
120 if (s.testFlag(Qt::WindowFullScreen)) {
121 d->m_windowButtonGroup->setVisible(
false);
123 d->m_windowButtonGroup->setVisible(
true);
125 d->m_windowButtonGroup->setWindowStates(s);
128 Q_EMIT windowStateChanged(s);
virtual bool event(QEvent *e) override
void updateWindowFlags(Qt::WindowFlags flags) override
~RibbonAppWindow() override
RibbonBar 继承 QMenuBar, 在 RibbonWindow 中直接替换了原来的 QMenuBar
void setWindowButtonGroup(QWidget *widget)
virtual void updateWindowFlags(Qt::WindowFlags flags)
virtual bool event(QEvent *e) override
#define QX_APP_END_NAMESPACE
#define QX_INIT_PRIVATE(Class)
#define QX_DECLARE_PUBLIC(Class)
#define Q_NULLPTR
Copyleft (C) 2025 maminjie canpool@163.com SPDX-License-Identifier: MulanPSL-2.0
#define QX_APP_BEGIN_NAMESPACE
#define QX_FINI_PRIVATE()
#define QX_RIBBON_PREPEND_NAMESPACE(name)
#define QX_RIBBON_USE_NAMESPACE
#define QX_WINDOW_USE_NAMESPACE