Warning, file /office/calligra/libs/odf/KoOdfNumberStyles.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* This file is part of the KDE project 0002 Copyright (C) 2004-2006 David Faure <faure@kde.org> 0003 Copyright (C) 2007 Jan Hambrecht <jaham@gmx.net> 0004 Copyright (C) 2007 Thorsten Zachmann <zachmann@kde.org> 0005 0006 This library is free software; you can redistribute it and/or 0007 modify it under the terms of the GNU Library General Public 0008 License version 2 as published by the Free Software Foundation. 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 #ifndef KOODFNUMBERSTYLES_H 0022 #define KOODFNUMBERSTYLES_H 0023 0024 #include "koodf_export.h" 0025 #include "KoXmlReaderForward.h" 0026 0027 #include <QPair> 0028 #include <QString> 0029 #include <QList> 0030 0031 class KoGenStyles; 0032 class KoGenStyle; 0033 0034 /** 0035 * Loading and saving of number styles 0036 */ 0037 namespace KoOdfNumberStyles 0038 { 0039 enum Format { 0040 Number, 0041 Scientific, 0042 Fraction, 0043 Currency, 0044 Percentage, 0045 Date, 0046 Time, 0047 Boolean, 0048 Text 0049 }; 0050 /// Prefix and suffix are always included into formatStr. Having them as separate fields simply 0051 /// allows to extract them from formatStr, to display them in separate widgets. 0052 struct NumericStyleFormat { 0053 QString formatStr; 0054 QString prefix; 0055 QString suffix; 0056 Format type; 0057 int precision; 0058 QString currencySymbol; 0059 bool thousandsSep; 0060 QList<QPair<QString,QString> > styleMaps; // conditional formatting, first=condition, second=applyStyleName 0061 NumericStyleFormat() : type(Text), precision(-1), thousandsSep(false) {} 0062 }; 0063 0064 KOODF_EXPORT QString format(const QString &value, const NumericStyleFormat &format); 0065 0066 KOODF_EXPORT QString formatNumber(qreal value, const QString &format, int precision = -1); 0067 KOODF_EXPORT QString formatBoolean(const QString &value, const QString &format); 0068 KOODF_EXPORT QString formatDate(int value, const QString &format); 0069 KOODF_EXPORT QString formatTime(qreal value, const QString &format); 0070 KOODF_EXPORT QString formatCurrency(qreal value, const QString &format, const QString& currencySymbol, int precision = -1); 0071 KOODF_EXPORT QString formatScientific(qreal value, const QString &format, int precision = -1); 0072 KOODF_EXPORT QString formatFraction(qreal value, const QString &format); 0073 KOODF_EXPORT QString formatPercent(const QString &value, const QString &format, int precision = -1); 0074 0075 KOODF_EXPORT QPair<QString, NumericStyleFormat> loadOdfNumberStyle(const KoXmlElement &parent); 0076 KOODF_EXPORT QString saveOdfNumberStyle(KoGenStyles &mainStyles, const NumericStyleFormat &format); 0077 0078 KOODF_EXPORT QString saveOdfDateStyle(KoGenStyles &mainStyles, const QString &format, bool localeFormat, const QString &prefix = QString(), const QString &suffix = QString()); 0079 KOODF_EXPORT QString saveOdfTimeStyle(KoGenStyles &mainStyles, const QString &format, bool localeFormat, const QString &prefix = QString(), const QString &suffix = QString()); 0080 KOODF_EXPORT QString saveOdfFractionStyle(KoGenStyles &mainStyles, const QString &format, const QString &prefix = QString(), const QString &suffix = QString()); 0081 KOODF_EXPORT QString saveOdfScientificStyle(KoGenStyles &mainStyles, const QString &format, const QString &prefix = QString(), const QString &suffix = QString(), bool thousandsSep = false); 0082 KOODF_EXPORT QString saveOdfNumberStyle(KoGenStyles &mainStyles, const QString &format, const QString &prefix = QString(), const QString &suffix = QString(), bool thousandsSep = false); 0083 KOODF_EXPORT QString saveOdfBooleanStyle(KoGenStyles &mainStyles, const QString &format, const QString &prefix = QString(), const QString &suffix = QString()); 0084 KOODF_EXPORT QString saveOdfPercentageStyle(KoGenStyles &mainStyles, const QString &format, const QString &prefix = QString(), const QString &suffix = QString()); 0085 KOODF_EXPORT QString saveOdfCurrencyStyle(KoGenStyles &mainStyles, const QString &format, const QString &symbol, const QString &prefix = QString(), const QString &suffix = QString()); 0086 KOODF_EXPORT QString saveOdfTextStyle(KoGenStyles &mainStyles, const QString &format, const QString &prefix = QString(), const QString &suffix = QString()); 0087 } 0088 0089 #endif // KOODFNUMBERSTYLES_H