KD Chart 2
[rev.2.5]
|
00001 /**************************************************************************** 00002 ** Copyright (C) 2001-2012 Klaralvdalens Datakonsult AB. All rights reserved. 00003 ** 00004 ** This file is part of the KD Chart library. 00005 ** 00006 ** Licensees holding valid commercial KD Chart licenses may use this file in 00007 ** accordance with the KD Chart Commercial License Agreement provided with 00008 ** the Software. 00009 ** 00010 ** 00011 ** This file may be distributed and/or modified under the terms of the 00012 ** GNU General Public License version 2 and version 3 as published by the 00013 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** Contact info@kdab.com if any conditions of this licensing are not 00019 ** clear to you. 00020 ** 00021 **********************************************************************/ 00022 00023 #ifndef __KDCHARTENUMS_H__ 00024 #define __KDCHARTENUMS_H__ 00025 00026 #include "KDChartGlobal.h" 00027 00028 #include <QRectF> 00029 #include <QObject> 00030 #include <QVector> 00031 00040 class KDCHART_EXPORT KDChartEnums :public QObject 00041 { 00042 Q_OBJECT 00043 Q_ENUMS( TextLayoutPolicy ) 00044 Q_ENUMS( AreaName ) 00045 Q_ENUMS( PositionFlag ) 00046 00047 public: 00095 enum GranularitySequence { 00096 GranularitySequence_10_20, 00097 GranularitySequence_10_50, 00098 GranularitySequence_25_50, 00099 GranularitySequence_125_25, 00100 GranularitySequenceIrregular }; 00101 00109 static QString granularitySequenceToString( GranularitySequence sequence ) { 00110 switch( sequence ) { 00111 case GranularitySequence_10_20: 00112 return QString::fromLatin1("GranularitySequence_10_20"); 00113 case GranularitySequence_10_50: 00114 return QString::fromLatin1("GranularitySequence_10_50"); 00115 case GranularitySequence_25_50: 00116 return QString::fromLatin1("GranularitySequence_25_50"); 00117 case GranularitySequence_125_25: 00118 return QString::fromLatin1("GranularitySequence_125_25"); 00119 case GranularitySequenceIrregular: 00120 return QString::fromLatin1("GranularitySequenceIrregular"); 00121 } 00122 Q_ASSERT( !"Unknown GranularitySequenceValue" ); 00123 return QString::fromLatin1("GranularitySequence_10_20"); 00124 } 00125 00126 00133 static GranularitySequence stringToGranularitySequence( const QString& string ) { 00134 if( string == QString::fromLatin1("GranularitySequence_10_20") ) 00135 return GranularitySequence_10_20; 00136 if( string == QString::fromLatin1("GranularitySequence_10_50") ) 00137 return GranularitySequence_10_50; 00138 if( string == QString::fromLatin1("GranularitySequence_25_50") ) 00139 return GranularitySequence_25_50; 00140 if( string == QString::fromLatin1("GranularitySequence_125") ) 00141 return GranularitySequence_125_25; 00142 if( string == QString::fromLatin1("GranularitySequenceIrregular") ) 00143 return GranularitySequenceIrregular; 00144 // default, should not happen 00145 return GranularitySequence_10_20; 00146 } 00147 00148 00161 enum TextLayoutPolicy { LayoutJustOverwrite, 00162 LayoutPolicyRotate, 00163 LayoutPolicyShiftVertically, 00164 LayoutPolicyShiftHorizontally, 00165 LayoutPolicyShrinkFontSize }; 00166 00174 static QString layoutPolicyToString( TextLayoutPolicy type ); 00175 00176 00183 static TextLayoutPolicy stringToLayoutPolicy( const QString& string ); 00184 00185 00192 enum PositionValue { 00193 PositionUnknown = 0, 00194 PositionCenter = 1, 00195 PositionNorthWest = 2, 00196 PositionNorth = 3, 00197 PositionNorthEast = 4, 00198 PositionEast = 5, 00199 PositionSouthEast = 6, 00200 PositionSouth = 7, 00201 PositionSouthWest = 8, 00202 PositionWest = 9, 00203 PositionFloating =10 00204 }; 00205 00206 00222 enum MeasureCalculationMode { MeasureCalculationModeAbsolute, 00223 MeasureCalculationModeRelative, 00224 MeasureCalculationModeAuto, 00225 MeasureCalculationModeAutoArea, 00226 MeasureCalculationModeAutoOrientation }; 00227 00235 static QString measureCalculationModeToString( MeasureCalculationMode mode ) { 00236 switch( mode ) { 00237 case MeasureCalculationModeAbsolute: 00238 return QString::fromLatin1("MeasureCalculationModeAbsolute"); 00239 case MeasureCalculationModeAuto: 00240 return QString::fromLatin1("MeasureCalculationModeAuto"); 00241 case MeasureCalculationModeAutoArea: 00242 return QString::fromLatin1("MeasureCalculationModeAutoArea"); 00243 case MeasureCalculationModeAutoOrientation: 00244 return QString::fromLatin1("MeasureCalculationModeAutoOrientation"); 00245 case MeasureCalculationModeRelative: 00246 return QString::fromLatin1("MeasureCalculationModeRelative"); 00247 } 00248 Q_ASSERT( !"unhandled MeasureCalculationMode" ); 00249 return QString::fromLatin1("MeasureCalculationModeAuto"); 00250 } 00251 00252 00259 static MeasureCalculationMode stringToMeasureCalculationMode( const QString& string ) { 00260 if( string == QString::fromLatin1("MeasureCalculationModeAbsolute") ) 00261 return MeasureCalculationModeAbsolute; 00262 if( string == QString::fromLatin1("MeasureCalculationModeAuto") ) 00263 return MeasureCalculationModeAuto; 00264 if( string == QString::fromLatin1("MeasureCalculationModeAutoArea") ) 00265 return MeasureCalculationModeAutoArea; 00266 if( string == QString::fromLatin1("MeasureCalculationModeAutoOrientation") ) 00267 return MeasureCalculationModeAutoOrientation; 00268 if( string == QString::fromLatin1("MeasureCalculationModeRelative") ) 00269 return MeasureCalculationModeRelative; 00270 // default, should not happen 00271 return MeasureCalculationModeAuto; 00272 } 00273 00290 enum MeasureOrientation { MeasureOrientationAuto, 00291 MeasureOrientationHorizontal, 00292 MeasureOrientationVertical, 00293 MeasureOrientationMinimum, 00294 MeasureOrientationMaximum }; 00295 00303 static QString measureOrientationToString( MeasureOrientation mode ) { 00304 switch( mode ) { 00305 case MeasureOrientationAuto: 00306 return QString::fromLatin1("MeasureOrientationAuto"); 00307 case MeasureOrientationHorizontal: 00308 return QString::fromLatin1("MeasureOrientationHorizontal"); 00309 case MeasureOrientationVertical: 00310 return QString::fromLatin1("MeasureOrientationVertical"); 00311 case MeasureOrientationMinimum: 00312 return QString::fromLatin1("MeasureOrientationMinimum"); 00313 case MeasureOrientationMaximum: 00314 return QString::fromLatin1("MeasureOrientationMaximum"); 00315 } 00316 Q_ASSERT( !"Unknown MeasureOrientation value" ); 00317 return QString::fromLatin1("MeasureOrientationAuto"); 00318 } 00319 00320 00327 static MeasureOrientation stringToMeasureOrientation( const QString& string ) { 00328 if( string == QString::fromLatin1("MeasureOrientationAuto") ) 00329 return MeasureOrientationAuto; 00330 if( string == QString::fromLatin1("MeasureOrientationHorizontal") ) 00331 return MeasureOrientationHorizontal; 00332 if( string == QString::fromLatin1("MeasureOrientationVertical") ) 00333 return MeasureOrientationVertical; 00334 if( string == QString::fromLatin1("MeasureOrientationMinimum") ) 00335 return MeasureOrientationMinimum; 00336 if( string == QString::fromLatin1("MeasureOrientationMaximum") ) 00337 return MeasureOrientationMaximum; 00338 // default, should not happen 00339 return MeasureOrientationAuto; 00340 } 00341 00342 00343 }; 00344 00345 00346 #endif