Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
previewframe.cpp
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
// Qt-Security score:significant reason:default
4
5
#
include
"previewframe.h"
6
#
include
"previewwidget.h"
7
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
>
14
15
QT_BEGIN_NAMESPACE
16
17
namespace
qdesigner_internal
{
18
19
class
PreviewMdiArea
:
public
QMdiArea
{
20
public
:
21
PreviewMdiArea
(QWidget *parent =
nullptr
) :
QMdiArea
(
parent
) {}
22
protected
:
23
bool
viewportEvent
(QEvent *event)
override
;
24
};
25
26
bool
PreviewMdiArea
::
viewportEvent
(QEvent * event) {
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));
33
//: Palette editor background
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."
));
36
return
true
;
37
}
38
39
PreviewFrame
::PreviewFrame(QWidget *parent) :
40
QFrame(parent),
41
m_mdiArea(
new
PreviewMdiArea(
this
))
42
{
43
m_mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
44
m_mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
45
setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
46
setLineWidth(1);
47
48
QVBoxLayout *vbox =
new
QVBoxLayout(
this
);
49
vbox->setContentsMargins(QMargins());
50
vbox->addWidget(m_mdiArea);
51
52
setMinimumSize(ensureMdiSubWindow()->minimumSizeHint());
53
}
54
55
void
PreviewFrame
::
setPreviewPalette
(
const
QPalette &pal)
56
{
57
ensureMdiSubWindow()->setPalette(pal);
58
}
59
60
void
PreviewFrame
::
setSubWindowActive
(
bool
active)
61
{
62
m_mdiArea->setActiveSubWindow (active ? ensureMdiSubWindow() :
nullptr
);
63
}
64
65
QMdiSubWindow *
PreviewFrame
::ensureMdiSubWindow()
66
{
67
if
(!m_mdiSubWindow) {
68
PreviewWidget
*previewWidget =
new
PreviewWidget(m_mdiArea);
69
m_mdiSubWindow = m_mdiArea->addSubWindow(previewWidget, Qt::WindowTitleHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
70
m_mdiSubWindow->move(10,10);
71
m_mdiSubWindow->showMaximized();
72
}
73
74
const
Qt::WindowStates state = m_mdiSubWindow->windowState();
75
if
(state & Qt::WindowMinimized)
76
m_mdiSubWindow->setWindowState(state & ~Qt::WindowMinimized);
77
78
return
m_mdiSubWindow;
79
}
80
}
81
82
QT_END_NAMESPACE
qdesigner_internal::PreviewFrame
Definition
previewframe.h:19
qdesigner_internal::PreviewFrame::setPreviewPalette
void setPreviewPalette(const QPalette &palette)
Definition
previewframe.cpp:55
qdesigner_internal::PreviewFrame::setSubWindowActive
void setSubWindowActive(bool active)
Definition
previewframe.cpp:60
qdesigner_internal::PreviewMdiArea
Definition
previewframe.cpp:19
qdesigner_internal::PreviewMdiArea::viewportEvent
bool viewportEvent(QEvent *event) override
Definition
previewframe.cpp:26
qdesigner_internal::PreviewMdiArea::PreviewMdiArea
PreviewMdiArea(QWidget *parent=nullptr)
Definition
previewframe.cpp:21
qdesigner_internal::PreviewWidget
Definition
previewwidget.h:15
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qdesigner_internal
Auxiliary methods to store/retrieve settings.
Definition
buddyeditor.cpp:67
qttools
src
designer
src
components
propertyeditor
previewframe.cpp
Generated on
for Qt by
1.18.0