9 #include <KChartPosition.h>
12 #include "KChartMath_p.h"
27 static const char * staticPositionNames[] = {
28 QT_TRANSLATE_NOOP(
"Position",
"Unknown Position"),
29 QT_TRANSLATE_NOOP(
"Position",
"Center"),
30 QT_TRANSLATE_NOOP(
"Position",
"NorthWest"),
31 QT_TRANSLATE_NOOP(
"Position",
"North"),
32 QT_TRANSLATE_NOOP(
"Position",
"NorthEast"),
33 QT_TRANSLATE_NOOP(
"Position",
"East"),
34 QT_TRANSLATE_NOOP(
"Position",
"SouthEast"),
35 QT_TRANSLATE_NOOP(
"Position",
"South"),
36 QT_TRANSLATE_NOOP(
"Position",
"SouthWest"),
37 QT_TRANSLATE_NOOP(
"Position",
"West"),
38 QT_TRANSLATE_NOOP(
"Position",
"Floating")
46 static Position staticPositionUnknown =
Position( KChartEnums::PositionUnknown );
47 static Position staticPositionCenter =
Position( KChartEnums::PositionCenter );
48 static Position staticPositionNorthWest =
Position( KChartEnums::PositionNorthWest );
49 static Position staticPositionNorth =
Position( KChartEnums::PositionNorth );
50 static Position staticPositionNorthEast =
Position( KChartEnums::PositionNorthEast );
52 static Position staticPositionSouthEast =
Position( KChartEnums::PositionSouthEast );
53 static Position staticPositionSouth =
Position( KChartEnums::PositionSouth );
54 static Position staticPositionSouthWest =
Position( KChartEnums::PositionSouthWest );
56 static Position staticPositionFloating =
Position( KChartEnums::PositionFloating );
58 static const int maxPositionValue = 10;
62 const Position& Position::Unknown = staticPositionUnknown;
63 const Position& Position::Center = staticPositionCenter;
64 const Position& Position::NorthWest = staticPositionNorthWest;
65 const Position& Position::North = staticPositionNorth;
66 const Position& Position::NorthEast = staticPositionNorthEast;
67 const Position& Position::East = staticPositionEast;
68 const Position& Position::SouthEast = staticPositionSouthEast;
69 const Position& Position::South = staticPositionSouth;
70 const Position& Position::SouthWest = staticPositionSouthWest;
71 const Position& Position::West = staticPositionWest;
72 const Position& Position::Floating = staticPositionFloating;
87 assert( 0 <=
value ); assert(
value <= maxPositionValue );
116 bool Position::isUnknown()
const
118 return m_value == Position::Unknown.
value();
121 bool Position::isWestSide()
const
123 return m_value == Position::SouthWest.
value() ||
124 m_value == Position::West.
value() ||
125 m_value == Position::NorthWest.
value();
127 bool Position::isNorthSide()
const
129 return m_value == Position::NorthWest.
value() ||
130 m_value == Position::North.
value() ||
131 m_value == Position::NorthEast.
value();
133 bool Position::isEastSide()
const
135 return m_value == Position::NorthEast.
value() ||
136 m_value == Position::East.
value() ||
137 m_value == Position::SouthEast.
value();
139 bool Position::isSouthSide()
const
141 return m_value == Position::SouthWest.
value() ||
142 m_value == Position::South.
value() ||
143 m_value == Position::SouthEast.
value();
146 bool Position::isCorner()
const
148 return m_value == Position::NorthWest.
value() ||
149 m_value == Position::NorthEast.
value() ||
150 m_value == Position::SouthEast.
value() ||
151 m_value == Position::SouthWest.
value();
153 bool Position::isPole()
const
155 return m_value == Position::North.
value() ||
156 m_value == Position::South.
value();
159 bool Position::isFloating()
const
161 return m_value == Position::Floating.
value();
169 return staticPositionNames[m_value];
177 return tr(staticPositionNames[m_value]);
191 const int start = ( options & IncludeCenter ) ? 1 : 2;
192 const int end = ( options & IncludeFloating ) ? maxPositionValue : maxPositionValue-1;
193 for (
int i=
start; i<=end; ++i)
194 list.
append( staticPositionNames[i] );
208 const int start = ( options & IncludeCenter ) ? 1 : 2;
209 const int end = ( options & IncludeFloating ) ? maxPositionValue : maxPositionValue-1;
210 for (
int i=
start; i<=end; ++i)
215 Position Position::fromName(
const char * name)
217 for (
int i=1; i<=maxPositionValue; ++i)
218 if ( !qstricmp(
name, staticPositionNames[i] ) )
224 return fromName(
name.data() );
227 bool Position::operator==(
const Position& r )
const
233 bool Position::operator==(
int value_ )
const
235 return (
value() == value_ );
239 #if !defined(QT_NO_DEBUG_STREAM)
242 dbg <<
"KChart::Position("