File: Format.h

package info (click to toggle)
calligra 1%3A2.9.11%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 189,332 kB
  • sloc: cpp: 919,806; xml: 27,759; ansic: 10,472; python: 8,190; perl: 2,724; yacc: 2,557; sh: 1,675; lex: 1,431; java: 1,304; sql: 903; ruby: 734; makefile: 48
file content (137 lines) | stat: -rw-r--r-- 5,144 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/* This file is part of the KDE project
   Copyright 2005-2007 Stefan Nikolaus <stefan.nikolaus@kdemail.net>
             2006 Fredrik Edemar <f_edemar@linux.se>
             2005-2006 Raphael Langerhorst <raphael.langerhorst@kdemail.net>
             2004 Tomas Mecir <mecirt@gmail.com>
             2003 Norbert Andres <nandres@web.de>
             2002 Philipp Mueller <philipp.mueller@gmx.de>
             2000 David Faure <faure@kde.org>
             2000 Werner Trobin <trobin@kde.org>
             2000-2006 Laurent Montel <montel@kde.org>
             1999, 2000 Torben Weis <weis@kde.org>
             1999 Stephan Kulow <coolo@kde.org>

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.
*/

#ifndef CALLIGRA_SHEETS_FORMAT
#define CALLIGRA_SHEETS_FORMAT

#include "calligra_sheets_export.h"

namespace Calligra
{
namespace Sheets
{

/**
 * \ingroup Style
 * Collection of string formatting enumeration and functions.
 */
namespace Format
{

enum Type {
    Generic = 0,
    Number = 1,
    Text = 5,
    Money = 10,
    Percentage = 25,
    Scientific = 30,

    ShortDate = 35,     ///< Short (numeric) date format, e.g. 08-04-2007 (locale specific)
    TextDate = 36,      ///< Long (text) date format, e.g. Sunday 08 April 2007 (locale specific)
    DatesBegin = 200,   ///< \internal
    Date1 = 200,        ///< e.g. 18-Feb-99
    Date2 = 201,        ///< e.g. 18-Feb-1999
    Date3 = 202,        ///< e.g. 18-Feb
    Date4 = 203,        ///< e.g. 18-05
    Date5 = 204,        ///< e.g. 18/05/00
    Date6 = 205,        ///< e.g. 18/05/1999
    Date7 = 206,        ///< e.g. Feb-99
    Date8 = 207,        ///< e.g. February-99
    Date9 = 208,        ///< e.g. February-1999
    Date10 = 209,       ///< e.g. F-99
    Date11 = 210,       ///< e.g. 18/Feb
    Date12 = 211,       ///< e.g. 18/02
    Date13 = 212,       ///< e.g. 18/Feb/1999
    Date14 = 213,       ///< e.g. 2000/Feb/18
    Date15 = 214,       ///< e.g. 2000-Feb-18
    Date16 = 215,       ///< e.g. 2000-02-18
    Date17 = 216,       ///< e.g. 2 February 2000
    Date18 = 217,       ///< e.g. 02/18/1999
    Date19 = 218,       ///< e.g. 02/18/99
    Date20 = 219,       ///< e.g. Feb/18/99
    Date21 = 220,       ///< e.g. Feb/18/1999
    Date22 = 221,       ///< e.g. Feb-1999
    Date23 = 222,       ///< e.g. 1999
    Date24 = 223,       ///< e.g. 99
    Date25 = 224,       ///< e.g. 2000/02/18
    Date26 = 225,       ///< e.g. 2000/Feb/18
    Date27 = 226,       ///< e.g. Feb/99, complements Date7
    Date28 = 227,       ///< e.g. Feb/1999, complements Date22
    Date29 = 228,       ///< e.g. February/99, complements Date8
    Date30 = 229,       ///< e.g. February/1999, complements Date9
    Date31 = 230,       ///< e.g. 18-02, complements Date12
    Date32 = 231,       ///< e.g. 02/99
    Date33 = 232,       ///< e.g. 02-99, complements Date32
    Date34 = 233,       ///< e.g. Mon, 2 Feb 99
    Date35 = 234,       ///< e.g. Mon, 2 February 1999
    DatesEnd = 234,     ///< \internal

    DateTime = 40,      ///< e.g. 08-04-2007 11:02 (locale specific)

    TimesBegin = 50,    ///< \internal
    Time = 50,          ///< Short time format without seconds, e.g. 11:02 (locale specific)
    SecondeTime = 51,   ///< Long time format with seconds, e.g. 11:02:45 (locale specific)
    Time1 = 52,         ///< e.g. 9:01 AM
    Time2 = 53,         ///< e.g. 9:01:05 AM
    Time3 = 54,         ///< e.g. 9 h 01 min 28 s
    Time4 = 55,         ///< e.g. 9:01
    Time5 = 56,         ///< e.g. 9:01:12
    Time6 = 57,         ///< [mm]:ss
    Time7 = 58,         ///< [h]:mm:ss
    Time8 = 59,         ///< [h]:mm
    TimesEnd = 59,      ///< \internal

    FractionsBegin = 70,  ///< \internal
    fraction_half = 70,
    fraction_quarter = 71,
    fraction_eighth = 72,
    fraction_sixteenth = 73,
    fraction_tenth = 74,
    fraction_hundredth = 75,
    fraction_one_digit = 76,
    fraction_two_digits = 77,
    fraction_three_digits = 78,
    FractionsEnd = 78,  ///< \internal

    Custom = 300,
    None = 400
};

//helper functions for the formatting
CALLIGRA_SHEETS_ODF_EXPORT bool isDate(Type type);
CALLIGRA_SHEETS_ODF_EXPORT bool isTime(Type type);
CALLIGRA_SHEETS_ODF_EXPORT bool isFraction(Type type);
CALLIGRA_SHEETS_ODF_EXPORT bool isMoney(Type type);
CALLIGRA_SHEETS_ODF_EXPORT bool isNumber(Type type);

} // namespace Format
} // namespace Sheets
} // namespace Calligra

#endif // CALLIGRA_SHEETS_FORMAT