File indexing completed on 2024-05-12 16:33:32
0001 /* This file is part of the KDE project 0002 0003 Copyright 2007 Inge Wallin <inge@lysator.liu.se> 0004 0005 This library is free software; you can redistribute it and/or 0006 modify it under the terms of the GNU Library General Public 0007 License as published by the Free Software Foundation; either 0008 version 2 of the License, or (at your option) any later version. 0009 0010 This library is distributed in the hope that it will be useful, 0011 but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0013 Library General Public License for more details. 0014 0015 You should have received a copy of the GNU Library General Public License 0016 along with this library; see the file COPYING.LIB. If not, write to 0017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0018 * Boston, MA 02110-1301, USA. 0019 */ 0020 0021 0022 // Own 0023 #include "KChartConvertions.h" 0024 0025 // KChart 0026 #include <KChartEnums> 0027 #include <KChartCartesianAxis> 0028 0029 0030 namespace KoChart { 0031 0032 KChart::CartesianAxis::Position PositionToKChartAxisPosition(Position position) 0033 { 0034 switch (position) { 0035 case BottomPosition: 0036 return KChart::CartesianAxis::Bottom; 0037 case TopPosition: 0038 return KChart::CartesianAxis::Top; 0039 case EndPosition: 0040 return KChart::CartesianAxis::Right; 0041 case StartPosition: 0042 return KChart::CartesianAxis::Left; 0043 } 0044 0045 Q_ASSERT("Unknown KChart::CartesianAxis::Position!"); 0046 return KChart::CartesianAxis::Bottom; 0047 } 0048 0049 // Used to save e.g. legend-position attribute to ODF. Do not change these strings. 0050 QString PositionToString(Position position) 0051 { 0052 switch (position) { 0053 case StartPosition: 0054 return QString("start"); 0055 case TopPosition: 0056 return QString("top"); 0057 case BottomPosition: 0058 return QString("bottom"); 0059 case TopStartPosition: 0060 return QString("top-start"); 0061 case BottomStartPosition: 0062 return QString("bottom-start"); 0063 case TopEndPosition: 0064 return QString("top-end"); 0065 case BottomEndPosition: 0066 return QString("bottom-end"); 0067 case EndPosition: 0068 return QString("end"); 0069 case CenterPosition: 0070 return QString("center"); 0071 case FloatingPosition: 0072 return QString(); 0073 } 0074 0075 Q_ASSERT("Unknown Position!"); 0076 return QString(); 0077 } 0078 0079 KChartEnums::PositionValue PositionToKChartPositionValue(Position position) 0080 { 0081 switch (position) { 0082 case StartPosition: 0083 return KChartEnums::PositionWest; 0084 case TopPosition: 0085 return KChartEnums::PositionNorth; 0086 case BottomPosition: 0087 return KChartEnums::PositionSouth; 0088 case TopStartPosition: 0089 return KChartEnums::PositionNorthWest; 0090 case BottomStartPosition: 0091 return KChartEnums::PositionSouthWest; 0092 case TopEndPosition: 0093 return KChartEnums::PositionNorthEast; 0094 case BottomEndPosition: 0095 return KChartEnums::PositionSouthEast; 0096 case EndPosition: 0097 return KChartEnums::PositionEast; 0098 case CenterPosition: 0099 return KChartEnums::PositionCenter; 0100 case FloatingPosition: 0101 return KChartEnums::PositionFloating; 0102 } 0103 0104 Q_ASSERT("Unknown Position!"); 0105 return KChartEnums::PositionEast; 0106 } 0107 0108 Position KChartPositionValueToPosition(KChartEnums::PositionValue position) 0109 { 0110 switch (position) { 0111 case KChartEnums::PositionNorthWest: 0112 return TopStartPosition; 0113 case KChartEnums::PositionNorth: 0114 return TopPosition; 0115 case KChartEnums::PositionNorthEast: 0116 return TopEndPosition; 0117 case KChartEnums::PositionEast: 0118 return EndPosition; 0119 case KChartEnums::PositionSouthEast: 0120 return BottomEndPosition; 0121 case KChartEnums::PositionSouth: 0122 return BottomPosition; 0123 case KChartEnums::PositionSouthWest: 0124 return BottomStartPosition; 0125 case KChartEnums::PositionWest: 0126 return StartPosition; 0127 case KChartEnums::PositionCenter: 0128 return CenterPosition; 0129 case KChartEnums::PositionFloating: 0130 return FloatingPosition; 0131 0132 // These are unsupported values 0133 case KChartEnums::PositionUnknown: 0134 return FloatingPosition; 0135 } 0136 0137 Q_ASSERT("Unknown KChartEnums::PositionValue!"); 0138 return FloatingPosition; 0139 } 0140 0141 Qt::Orientation LegendExpansionToQtOrientation(LegendExpansion expansion) 0142 { 0143 switch (expansion) { 0144 case HighLegendExpansion: 0145 return Qt::Vertical; 0146 case WideLegendExpansion: 0147 return Qt::Horizontal; 0148 case BalancedLegendExpansion: 0149 // KChart doesn't allow a balanced expansion 0150 return Qt::Vertical; 0151 case CustomLegendExpansion: 0152 // KChart doesn't allow a custom expansion 0153 return Qt::Vertical; 0154 } 0155 0156 Q_ASSERT("Unknown Qt::Orientation!"); 0157 return Qt::Vertical; 0158 } 0159 0160 LegendExpansion QtOrientationToLegendExpansion(Qt::Orientation orientation) 0161 { 0162 switch (orientation) { 0163 case Qt::Horizontal: 0164 return WideLegendExpansion; 0165 case Qt::Vertical: 0166 return HighLegendExpansion; 0167 } 0168 0169 Q_ASSERT("Unknown LegendExpansion!"); 0170 return HighLegendExpansion; 0171 } 0172 0173 } // Namespace KoChart