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
qtgradientmanager.cpp
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
include
"qtgradientmanager_p.h"
6
7
#
include
<
QtGui
/
qpixmap
.
h
>
8
9
#
include
<
QtCore
/
qmetaobject
.
h
>
10
11
QT_BEGIN_NAMESPACE
12
13
QtGradientManager
::
QtGradientManager
(
QObject
*
parent
)
14
:
QObject
(
parent
)
15
{
16
}
17
18
QMap<QString, QGradient> QtGradientManager::gradients()
const
19
{
20
return
m_idToGradient;
21
}
22
23
QString
QtGradientManager
::
uniqueId
(
const
QString &id)
const
24
{
25
if
(!m_idToGradient.contains(id))
26
return
id;
27
28
QString base = id;
29
while
(base.size() > 0 && base.at(base.size() - 1).isDigit())
30
base = base.left(base.size() - 1);
31
QString newId = base;
32
int
counter = 0;
33
while
(m_idToGradient.contains(newId)) {
34
++counter;
35
newId = base + QString::number(counter);
36
}
37
return
newId;
38
}
39
40
QString
QtGradientManager
::addGradient(
const
QString &id,
const
QGradient &gradient)
41
{
42
QString newId = uniqueId(id);
43
44
m_idToGradient[newId] = gradient;
45
46
emit gradientAdded(newId, gradient);
47
48
return
newId;
49
}
50
51
void
QtGradientManager
::
removeGradient
(
const
QString &id)
52
{
53
if
(!m_idToGradient.contains(id))
54
return
;
55
56
emit gradientRemoved(id);
57
58
m_idToGradient.remove(id);
59
}
60
61
void
QtGradientManager
::
renameGradient
(
const
QString &id,
const
QString &newId)
62
{
63
if
(!m_idToGradient.contains(id))
64
return
;
65
66
if
(newId == id)
67
return
;
68
69
QString changedId = uniqueId(newId);
70
QGradient gradient = m_idToGradient.value(id);
71
72
emit gradientRenamed(id, changedId);
73
74
m_idToGradient.remove(id);
75
m_idToGradient[changedId] = gradient;
76
}
77
78
void
QtGradientManager
::
changeGradient
(
const
QString &id,
const
QGradient &newGradient)
79
{
80
if
(!m_idToGradient.contains(id))
81
return
;
82
83
if
(m_idToGradient.value(id) == newGradient)
84
return
;
85
86
emit gradientChanged(id, newGradient);
87
88
m_idToGradient[id] = newGradient;
89
}
90
91
void
QtGradientManager
::
clear
()
92
{
93
const
QMap<QString, QGradient> grads = gradients();
94
for
(
auto
it = grads.cbegin(), end = grads.cend(); it != end; ++it)
95
removeGradient(it.key());
96
}
97
98
QT_END_NAMESPACE
QObjectData::parent
QObject * parent
Definition
qobject.h:74
QObject
\inmodule QtCore
Definition
qobject.h:106
QtGradientManager
Definition
qtgradientmanager_p.h:34
QtGradientManager::changeGradient
void changeGradient(const QString &id, const QGradient &newGradient)
Definition
qtgradientmanager.cpp:78
QtGradientManager::removeGradient
void removeGradient(const QString &id)
Definition
qtgradientmanager.cpp:51
QtGradientManager::clear
void clear()
Definition
qtgradientmanager.cpp:91
QtGradientManager::renameGradient
void renameGradient(const QString &id, const QString &newId)
Definition
qtgradientmanager.cpp:61
QtGradientManager::uniqueId
QString uniqueId(const QString &id) const
Definition
qtgradientmanager.cpp:23
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qttools
src
shared
qtgradienteditor
qtgradientmanager.cpp
Generated on
for Qt by
1.18.0