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
default_container.h
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
#
ifndef
DEFAULT_CONTAINER_H
6
#
define
DEFAULT_CONTAINER_H
7
8
#
include
<
QtDesigner
/
container
.
h
>
9
#
include
<
QtDesigner
/
extension
.
h
>
10
#
include
<
extensionfactory_p
.
h
>
11
12
#
include
<
QtWidgets
/
qstackedwidget
.
h
>
13
#
include
<
QtWidgets
/
qtabwidget
.
h
>
14
#
include
<
QtWidgets
/
qtoolbox
.
h
>
15
#
include
<
QtWidgets
/
qscrollarea
.
h
>
16
#
include
<
QtWidgets
/
qdockwidget
.
h
>
17
18
QT_BEGIN_NAMESPACE
19
20
namespace
qdesigner_internal
{
21
22
// ------------ QStackedWidgetContainer
23
class
QStackedWidgetContainer
:
public
QObject
,
public
QDesignerContainerExtension
24
{
25
Q_OBJECT
26
Q_INTERFACES(QDesignerContainerExtension)
27
public
:
28
explicit
QStackedWidgetContainer
(
QStackedWidget
*
widget
,
QObject
*
parent
=
nullptr
);
29
30
int
count
()
const
override
{
return
m_widget->count(); }
31
QWidget
*
widget
(
int
index)
const
override
{
return
m_widget->widget(index); }
32
33
int
currentIndex
()
const
override
{
return
m_widget->currentIndex(); }
34
void
setCurrentIndex
(
int
index)
override
;
35
36
bool
canAddWidget
()
const
override
{
return
true
; }
37
void
addWidget
(QWidget *widget)
override
;
38
void
insertWidget
(
int
index, QWidget *widget)
override
;
39
bool
canRemove
(
int
)
const
override
{
return
true
; }
40
void
remove
(
int
index)
override
;
41
42
private
:
43
QStackedWidget *m_widget;
44
};
45
46
// ------------ QTabWidgetContainer
47
class
QTabWidgetContainer
:
public
QObject
,
public
QDesignerContainerExtension
48
{
49
Q_OBJECT
50
Q_INTERFACES(QDesignerContainerExtension)
51
public
:
52
explicit
QTabWidgetContainer
(
QTabWidget
*
widget
,
QObject
*
parent
=
nullptr
);
53
54
int
count
()
const
override
{
return
m_widget->count(); }
55
QWidget
*
widget
(
int
index)
const
override
{
return
m_widget->widget(index); }
56
57
int
currentIndex
()
const
override
{
return
m_widget->currentIndex(); }
58
void
setCurrentIndex
(
int
index)
override
;
59
60
bool
canAddWidget
()
const
override
{
return
true
; }
61
void
addWidget
(QWidget *widget)
override
;
62
void
insertWidget
(
int
index, QWidget *widget)
override
;
63
bool
canRemove
(
int
)
const
override
{
return
true
; }
64
void
remove
(
int
index)
override
;
65
66
private
:
67
QTabWidget *m_widget;
68
};
69
70
// ------------ QToolBoxContainer
71
class
QToolBoxContainer
:
public
QObject
,
public
QDesignerContainerExtension
72
{
73
Q_OBJECT
74
Q_INTERFACES(QDesignerContainerExtension)
75
public
:
76
explicit
QToolBoxContainer
(
QToolBox
*
widget
,
QObject
*
parent
=
nullptr
);
77
78
int
count
()
const
override
{
return
m_widget->count(); }
79
QWidget
*
widget
(
int
index)
const
override
{
return
m_widget->widget(index); }
80
81
int
currentIndex
()
const
override
{
return
m_widget->currentIndex(); }
82
void
setCurrentIndex
(
int
index)
override
;
83
84
bool
canAddWidget
()
const
override
{
return
true
; }
85
void
addWidget
(QWidget *widget)
override
;
86
void
insertWidget
(
int
index, QWidget *widget)
override
;
87
bool
canRemove
(
int
)
const
override
{
return
true
; }
88
void
remove
(
int
index)
override
;
89
90
private
:
91
QToolBox *m_widget;
92
};
93
94
// ------------ SingleChildContainer:
95
// Template for containers that have a single child widget using widget()/setWidget().
96
97
template
<
class
Container>
98
class
SingleChildContainer
:
public
QDesignerContainerExtension
99
{
100
protected
:
101
explicit
SingleChildContainer
(Container *widget,
bool
active =
true
);
102
public
:
103
int
count
()
const
override
;
104
QWidget
*
widget
(
int
index)
const
override
;
105
int
currentIndex
()
const
override
;
106
void
setCurrentIndex
(
int
/*index*/
)
override
{}
107
void
addWidget
(QWidget *widget)
override
;
108
void
insertWidget
(
int
index, QWidget *widget)
override
;
109
void
remove
(
int
/*index*/
)
override
{}
110
111
bool
canAddWidget
()
const
override
{
return
false
; }
112
bool
canRemove
(
int
)
const
override
{
return
false
; }
113
114
private
:
115
const
bool
m_active;
116
Container *m_container;
117
};
118
119
template
<
class
Container>
120
SingleChildContainer
<Container>::
SingleChildContainer
(Container *widget,
bool
active) :
121
m_active(active),
122
m_container(widget)
123
{
124
}
125
126
template
<
class
Container>
127
int
SingleChildContainer
<Container>::
count
()
const
128
{
129
return
m_active && m_container->widget() ? 1 : 0;
130
}
131
132
template
<
class
Container>
133
QWidget
*
SingleChildContainer
<Container>::
widget
(
int
/* index */
)
const
134
{
135
return
m_container->widget();
136
}
137
138
template
<
class
Container>
139
int
SingleChildContainer
<Container>::
currentIndex
()
const
140
{
141
return
m_active && m_container->widget() ? 0 : -1;
142
}
143
144
template
<
class
Container>
145
void
SingleChildContainer
<Container>::
addWidget
(QWidget *widget)
146
{
147
Q_ASSERT(m_container->widget() ==
nullptr
);
148
widget->setParent(m_container);
149
m_container->setWidget(widget);
150
}
151
152
template
<
class
Container>
153
void
SingleChildContainer
<Container>::
insertWidget
(
int
/* index */
, QWidget *widget)
154
{
155
addWidget(widget);
156
}
157
158
// ------------ QScrollAreaContainer
159
class
QScrollAreaContainer
:
public
QObject
,
public
SingleChildContainer
<
QScrollArea
>
160
{
161
Q_OBJECT
162
Q_INTERFACES(QDesignerContainerExtension)
163
public
:
164
explicit
QScrollAreaContainer
(
QScrollArea
*
widget
,
QObject
*
parent
=
nullptr
);
165
};
166
167
// --------------- QDockWidgetContainer
168
class
QDockWidgetContainer
:
public
QObject
,
public
SingleChildContainer
<
QDockWidget
>
169
{
170
Q_OBJECT
171
Q_INTERFACES(QDesignerContainerExtension)
172
public
:
173
explicit
QDockWidgetContainer
(
QDockWidget
*
widget
,
QObject
*
parent
=
nullptr
);
174
};
175
176
using
QDesignerStackedWidgetContainerFactory
=
ExtensionFactory
<
QDesignerContainerExtension
,
QStackedWidget
,
QStackedWidgetContainer
>;
177
using
QDesignerTabWidgetContainerFactory
=
ExtensionFactory
<
QDesignerContainerExtension
,
QTabWidget
,
QTabWidgetContainer
>;
178
using
QDesignerToolBoxContainerFactory
=
ExtensionFactory
<
QDesignerContainerExtension
,
QToolBox
,
QToolBoxContainer
>;
179
using
QScrollAreaContainerFactory
=
ExtensionFactory
<
QDesignerContainerExtension
,
QScrollArea
,
QScrollAreaContainer
>;
180
using
QDockWidgetContainerFactory
=
ExtensionFactory
<
QDesignerContainerExtension
,
QDockWidget
,
QDockWidgetContainer
>;
181
}
// namespace qdesigner_internal
182
183
QT_END_NAMESPACE
184
185
#
endif
// DEFAULT_CONTAINER_H
qdesigner_internal::QDockWidgetContainer
Definition
default_container.h:169
qdesigner_internal::QScrollAreaContainer
Definition
default_container.h:160
qdesigner_internal::QStackedWidgetContainer
Definition
default_container.h:24
qdesigner_internal::QStackedWidgetContainer::setCurrentIndex
void setCurrentIndex(int index) override
Definition
default_container.cpp:38
qdesigner_internal::QStackedWidgetContainer::canAddWidget
bool canAddWidget() const override
Definition
default_container.h:36
qdesigner_internal::QStackedWidgetContainer::count
int count() const override
Definition
default_container.h:30
qdesigner_internal::QStackedWidgetContainer::canRemove
bool canRemove(int) const override
Definition
default_container.h:39
qdesigner_internal::QStackedWidgetContainer::currentIndex
int currentIndex() const override
Definition
default_container.h:33
qdesigner_internal::QStackedWidgetContainer::insertWidget
void insertWidget(int index, QWidget *widget) override
Definition
default_container.cpp:49
qdesigner_internal::QStackedWidgetContainer::addWidget
void addWidget(QWidget *widget) override
Definition
default_container.cpp:43
qdesigner_internal::QStackedWidgetContainer::remove
void remove(int index) override
Definition
default_container.cpp:55
qdesigner_internal::QStackedWidgetContainer::widget
QWidget * widget(int index) const override
Definition
default_container.h:31
qdesigner_internal::QTabWidgetContainer
Definition
default_container.h:48
qdesigner_internal::QTabWidgetContainer::remove
void remove(int index) override
Definition
default_container.cpp:84
qdesigner_internal::QTabWidgetContainer::addWidget
void addWidget(QWidget *widget) override
Definition
default_container.cpp:72
qdesigner_internal::QTabWidgetContainer::count
int count() const override
Definition
default_container.h:54
qdesigner_internal::QTabWidgetContainer::canAddWidget
bool canAddWidget() const override
Definition
default_container.h:60
qdesigner_internal::QTabWidgetContainer::currentIndex
int currentIndex() const override
Definition
default_container.h:57
qdesigner_internal::QTabWidgetContainer::insertWidget
void insertWidget(int index, QWidget *widget) override
Definition
default_container.cpp:78
qdesigner_internal::QTabWidgetContainer::canRemove
bool canRemove(int) const override
Definition
default_container.h:63
qdesigner_internal::QTabWidgetContainer::widget
QWidget * widget(int index) const override
Definition
default_container.h:55
qdesigner_internal::QTabWidgetContainer::setCurrentIndex
void setCurrentIndex(int index) override
Definition
default_container.cpp:67
qdesigner_internal::QToolBoxContainer
Definition
default_container.h:72
qdesigner_internal::QToolBoxContainer::count
int count() const override
Definition
default_container.h:78
qdesigner_internal::QToolBoxContainer::canAddWidget
bool canAddWidget() const override
Definition
default_container.h:84
qdesigner_internal::QToolBoxContainer::widget
QWidget * widget(int index) const override
Definition
default_container.h:79
qdesigner_internal::QToolBoxContainer::insertWidget
void insertWidget(int index, QWidget *widget) override
Definition
default_container.cpp:107
qdesigner_internal::QToolBoxContainer::currentIndex
int currentIndex() const override
Definition
default_container.h:81
qdesigner_internal::QToolBoxContainer::setCurrentIndex
void setCurrentIndex(int index) override
Definition
default_container.cpp:96
qdesigner_internal::QToolBoxContainer::remove
void remove(int index) override
Definition
default_container.cpp:113
qdesigner_internal::QToolBoxContainer::addWidget
void addWidget(QWidget *widget) override
Definition
default_container.cpp:101
qdesigner_internal::QToolBoxContainer::canRemove
bool canRemove(int) const override
Definition
default_container.h:87
qdesigner_internal::SingleChildContainer
Definition
default_container.h:99
qdesigner_internal::SingleChildContainer::canAddWidget
bool canAddWidget() const override
Definition
default_container.h:111
qdesigner_internal::SingleChildContainer::canRemove
bool canRemove(int) const override
Definition
default_container.h:112
qdesigner_internal::SingleChildContainer::SingleChildContainer
SingleChildContainer(Container *widget, bool active=true)
Definition
default_container.h:120
qdesigner_internal::SingleChildContainer::setCurrentIndex
void setCurrentIndex(int) override
Definition
default_container.h:106
qdesigner_internal::SingleChildContainer::addWidget
void addWidget(QWidget *widget) override
Definition
default_container.h:145
qdesigner_internal::SingleChildContainer::count
int count() const override
Definition
default_container.h:127
qdesigner_internal::SingleChildContainer::widget
QWidget * widget(int index) const override
Definition
default_container.h:133
qdesigner_internal::SingleChildContainer::insertWidget
void insertWidget(int index, QWidget *widget) override
Definition
default_container.h:153
qdesigner_internal::SingleChildContainer::currentIndex
int currentIndex() const override
Definition
default_container.h:139
qdesigner_internal::SingleChildContainer::remove
void remove(int) override
Definition
default_container.h:109
setCurrentContainerIndex
static void setCurrentContainerIndex(int index, Container *container)
Definition
default_container.cpp:13
PageLabel
static constexpr auto PageLabel
Definition
default_container.cpp:27
ensureNoParent
static void ensureNoParent(QWidget *widget)
Definition
default_container.cpp:21
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
formeditor
default_container.h
Generated on
for Qt by
1.18.0