8#include <QtCore/qcoreapplication.h>
9#include <QtCore/qdebug.h>
10#include <QtGui/qpainter.h>
11#include <QtWidgets/qmdiarea.h>
12#include <QtWidgets/qmdisubwindow.h>
13#include <QtGui/qevent.h>
27 if (event->type() != QEvent::Paint)
28 return QMdiArea::viewportEvent (event);
29 QWidget *paintWidget = viewport();
30 QPainter p(paintWidget);
31 p.fillRect(rect(), paintWidget->palette().color(backgroundRole()).darker());
32 p.setPen(QPen(Qt::white));
34 p.drawText(0, height() / 2, width(), height(), Qt::AlignHCenter,
35 QCoreApplication::translate(
"qdesigner_internal::PreviewMdiArea",
"The moose in the noose\nate the goose who was loose."));
41 m_mdiArea(
new PreviewMdiArea(
this))
43 m_mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
44 m_mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
45 setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
48 QVBoxLayout *vbox =
new QVBoxLayout(
this);
49 vbox->setContentsMargins(QMargins());
50 vbox->addWidget(m_mdiArea);
52 setMinimumSize(ensureMdiSubWindow()->minimumSizeHint());
57 ensureMdiSubWindow()->setPalette(pal);
62 m_mdiArea->setActiveSubWindow (active ? ensureMdiSubWindow() :
nullptr);
67 if (!m_mdiSubWindow) {
69 m_mdiSubWindow = m_mdiArea->addSubWindow(previewWidget, Qt::WindowTitleHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
70 m_mdiSubWindow->move(10,10);
71 m_mdiSubWindow->showMaximized();
74 const Qt::WindowStates state = m_mdiSubWindow->windowState();
75 if (state & Qt::WindowMinimized)
76 m_mdiSubWindow->setWindowState(state & ~Qt::WindowMinimized);
78 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.