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