KD Chart API Documentation 3.1
Loading...
Searching...
No Matches
KDChartPosition.cpp
Go to the documentation of this file.
1/****************************************************************************
2**
3** This file is part of the KD Chart library.
4**
5** SPDX-FileCopyrightText: 2001 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6**
7** SPDX-License-Identifier: MIT
8**
9****************************************************************************/
10
11#include <KDChartEnums.h>
12#include <KDChartPosition.h>
13
14#include <QByteArray>
15#include <QList>
16#include <QString>
17#include <QStringList>
18
19#include <KDABLibFakes>
20
21#include <cassert>
22
23using namespace KDChart;
24
25namespace {
30static const char *staticPositionNames[] = {
31 QT_TRANSLATE_NOOP("Position", "Unknown Position"),
32 QT_TRANSLATE_NOOP("Position", "Center"),
33 QT_TRANSLATE_NOOP("Position", "NorthWest"),
34 QT_TRANSLATE_NOOP("Position", "North"),
35 QT_TRANSLATE_NOOP("Position", "NorthEast"),
36 QT_TRANSLATE_NOOP("Position", "East"),
37 QT_TRANSLATE_NOOP("Position", "SouthEast"),
38 QT_TRANSLATE_NOOP("Position", "South"),
39 QT_TRANSLATE_NOOP("Position", "SouthWest"),
40 QT_TRANSLATE_NOOP("Position", "West"),
41 QT_TRANSLATE_NOOP("Position", "Floating")};
42
47static Position staticPositionUnknown = Position(KDChartEnums::PositionUnknown);
48static Position staticPositionCenter = Position(KDChartEnums::PositionCenter);
49static Position staticPositionNorthWest = Position(KDChartEnums::PositionNorthWest);
50static Position staticPositionNorth = Position(KDChartEnums::PositionNorth);
51static Position staticPositionNorthEast = Position(KDChartEnums::PositionNorthEast);
52static Position staticPositionEast = Position(KDChartEnums::PositionEast);
53static Position staticPositionSouthEast = Position(KDChartEnums::PositionSouthEast);
54static Position staticPositionSouth = Position(KDChartEnums::PositionSouth);
55static Position staticPositionSouthWest = Position(KDChartEnums::PositionSouthWest);
56static Position staticPositionWest = Position(KDChartEnums::PositionWest);
57static Position staticPositionFloating = Position(KDChartEnums::PositionFloating);
58
59static const int maxPositionValue = 10;
60
61} // anon namespace
62
63const Position &Position::Unknown = staticPositionUnknown;
64const Position &Position::Center = staticPositionCenter;
65const Position &Position::NorthWest = staticPositionNorthWest;
66const Position &Position::North = staticPositionNorth;
67const Position &Position::NorthEast = staticPositionNorthEast;
68const Position &Position::East = staticPositionEast;
69const Position &Position::SouthEast = staticPositionSouthEast;
70const Position &Position::South = staticPositionSouth;
71const Position &Position::SouthWest = staticPositionSouthWest;
72const Position &Position::West = staticPositionWest;
73const Position &Position::Floating = staticPositionFloating;
74
81
82Position::Position(int value)
83 : m_value(value)
84{
85 assert(0 <= value);
86 assert(value <= maxPositionValue);
87}
88
102 : m_value(value)
103{
104}
105
110{
111 return static_cast<KDChartEnums::PositionValue>(m_value);
112}
113
115{
116 return m_value == Position::Unknown.value();
117}
118
120{
121 return m_value == Position::SouthWest.value() || m_value == Position::West.value() || m_value == Position::NorthWest.value();
122}
124{
125 return m_value == Position::NorthWest.value() || m_value == Position::North.value() || m_value == Position::NorthEast.value();
126}
128{
129 return m_value == Position::NorthEast.value() || m_value == Position::East.value() || m_value == Position::SouthEast.value();
130}
132{
133 return m_value == Position::SouthWest.value() || m_value == Position::South.value() || m_value == Position::SouthEast.value();
134}
135
137{
138 return m_value == Position::NorthWest.value() || m_value == Position::NorthEast.value() || m_value == Position::SouthEast.value() || m_value == Position::SouthWest.value();
139}
141{
142 return m_value == Position::North.value() || m_value == Position::South.value();
143}
144
146{
147 return m_value == Position::Floating.value();
148}
149
153const char *Position::name() const
154{
155 return staticPositionNames[m_value];
156}
157
162{
163 return tr(staticPositionNames[m_value]);
164}
165
174{
176 const int start = (options & IncludeCenter) ? 1 : 2;
177 const int end = (options & IncludeFloating) ? maxPositionValue : maxPositionValue - 1;
178 for (int i = start; i <= end; ++i)
179 list.append(staticPositionNames[i]);
180 return list;
181}
182
191{
192 QStringList list;
193 const int start = (options & IncludeCenter) ? 1 : 2;
194 const int end = (options & IncludeFloating) ? maxPositionValue : maxPositionValue - 1;
195 for (int i = start; i <= end; ++i)
196 list.append(Position(i).printableName());
197 return list;
198}
199
201{
202 for (int i = 1; i <= maxPositionValue; ++i)
203 if (!qstricmp(name, staticPositionNames[i]))
204 return Position(i);
205 return Position(0);
206}
207
209{
210 return fromName(name.data());
211}
212
213bool Position::operator==(const Position &r) const
214{
215 return (value() == r.value());
216}
217
218bool Position::operator==(int value_) const
219{
220 return (value() == value_);
221}
222
223#if !defined(QT_NO_DEBUG_STREAM)
225{
226 dbg << "KDChart::Position("
227 << p.name() << ")";
228 return dbg;
229}
230#endif /* QT_NO_DEBUG_STREAM */
Definition of global enums.
Defines a position, using compass terminology.
QString printableName() const
static Position fromName(const char *name)
static const Position & West
static QList< QByteArray > names(Options options=Options(IncludeCenter|IncludeFloating))
Returns a list of all string, corresponding to the pre-defined positions.
static const Position & South
bool operator==(const Position &) const
static QStringList printableNames(Options options=Options(IncludeCenter|IncludeFloating))
Returns a list of all translated string, corresponding to the pre-defined positions.
static const Position & Floating
const char * name() const
static const Position & North
static const Position & SouthWest
static const Position & NorthEast
static const Position & NorthWest
static const Position & SouthEast
static const Position & East
KDChartEnums::PositionValue value() const
static const Position & Center
static const Position & Unknown
QDebug operator<<(QDebug stream, const DataDimension &r)
void append(const T &value)

© 2001 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-chart/
Generated on Wed May 1 2024 00:01:10 for KD Chart API Documentation by doxygen 1.9.8