7#include <QtCore/qcoreapplication.h>
8#include <QtCore/qdebug.h>
9#include <QtGui/qpainter.h>
10#include <QtWidgets/qmdiarea.h>
11#include <QtWidgets/qmdisubwindow.h>
12#include <QtGui/qevent.h>
26 if (event->type() != QEvent::Paint)
27 return QMdiArea::viewportEvent (event);
28 QWidget *paintWidget = viewport();
29 QPainter p(paintWidget);
30 p.fillRect(rect(), paintWidget->palette().color(backgroundRole()).darker());
31 p.setPen(QPen(Qt::white));
33 p.drawText(0, height() / 2, width(), height(), Qt::AlignHCenter,
34 QCoreApplication::translate(
"qdesigner_internal::PreviewMdiArea",
"The moose in the noose\nate the goose who was loose."));
40 m_mdiArea(
new PreviewMdiArea(
this))
42 m_mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
43 m_mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
44 setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
47 QVBoxLayout *vbox =
new QVBoxLayout(
this);
48 vbox->setContentsMargins(QMargins());
49 vbox->addWidget(m_mdiArea);
51 setMinimumSize(ensureMdiSubWindow()->minimumSizeHint());
56 ensureMdiSubWindow()->setPalette(pal);
61 m_mdiArea->setActiveSubWindow (active ? ensureMdiSubWindow() :
nullptr);
66 if (!m_mdiSubWindow) {
68 m_mdiSubWindow = m_mdiArea->addSubWindow(previewWidget, Qt::WindowTitleHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
69 m_mdiSubWindow->move(10,10);
70 m_mdiSubWindow->showMaximized();
73 const Qt::WindowStates state = m_mdiSubWindow->windowState();
74 if (state & Qt::WindowMinimized)
75 m_mdiSubWindow->setWindowState(state & ~Qt::WindowMinimized);
77 return m_mdiSubWindow;
void setPreviewPalette(const QPalette &palette)
void setSubWindowActive(bool active)
bool viewportEvent(QEvent *event) override
PreviewMdiArea(QWidget *parent=nullptr)
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.