Scribus
Open source desktop publishing at your fingertips
saxiohelper.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 
8 #ifndef SAXHELPER_H
9 #define SAXHELPER_H
10 
11 #include "desaxe_conf.h"
12 #include <QList>
13 #include <QStack>
14 #include <QStringList>
15 #include <QVector>
16 
17 class ScFace;
18 class FPointArray;
19 
20 Xml_string toXMLString(unsigned int val);
21 Xml_string toXMLString(int val);
22 Xml_string toXMLString(unsigned long val);
23 Xml_string toXMLString(long val);
24 Xml_string toXMLString(double val);
25 Xml_string toXMLString(float val);
26 Xml_string toXMLString(bool val);
27 Xml_string toXMLString(const Xml_string& val);
28 
29 Xml_string toXMLString(const ScFace& val);
30 Xml_string toXMLString(const FPointArray& path);
31 
32 Xml_string toXMLString(const QList<double>& doublelist);
33 Xml_string toXMLString(const QList<float>& floatlist);
34 Xml_string toXMLString(const QList<int>& intlist);
35 Xml_string toXMLString(const QVector<double>& doublelist);
36 Xml_string toXMLString(const QVector<float>& floatlist);
37 Xml_string toXMLString(const QVector<int>& intlist);
38 Xml_string toXMLString(const QStringList& list);
39 
40 unsigned int parseUInt(const Xml_string& str);
41 int parseInt(const Xml_string& str);
42 unsigned long parseULong(const Xml_string& str);
43 long parseLong(const Xml_string& str);
44 double parseDouble(const Xml_string& str);
45 float parseFloat(const Xml_string& str);
46 bool parseBool(const Xml_string& str);
47 QStringList parseStringList(const Xml_string& str);
48 QList<double> parseDoubleList(const Xml_string& str);
49 QList<int> parseIntList(const Xml_string& str);
50 QVector<double> parseDoubleVector(const Xml_string& str);
51 QVector<int> parseIntVector(const Xml_string& str);
52 QStack<int> parseIntStack(const Xml_string& str);
53 
54 
55 Xml_string mkXMLName(const QString& any);
56 
57 
58 template<class ENUM>
59 inline
60 ENUM parseEnum(const Xml_string& str)
61 {
62  return static_cast<ENUM>(str.toUInt());
63 }
64 
65 
66 template<class DATA>
67 inline
68 DATA parse(const Xml_string& str)
69 {
70  return static_cast<DATA>(str);
71 }
72 
73 template<>
74 inline
75 const Xml_string& parse<const Xml_string&>(const Xml_string& str)
76 {
77  return str;
78 }
79 
80 template<>
81 inline
82 Xml_string parse<Xml_string>(const Xml_string& str)
83 {
84  return str;
85 }
86 
87 template<>
88 inline
89 unsigned int parse<unsigned int>(const Xml_string& str)
90 {
91  return parseUInt(str);
92 }
93 
94 template<>
95 inline
96 int parse<int>(const Xml_string& str)
97 {
98  return parseInt(str);
99 }
100 
101 template<>
102 inline
103 unsigned long parse<unsigned long>(const Xml_string& str)
104 {
105  return parseULong(str);
106 }
107 
108 template<>
109 inline
110 long parse<long>(const Xml_string& str)
111 {
112  return parseLong(str);
113 }
114 
115 template<>
116 inline
117 double parse<double>(const Xml_string& str)
118 {
119  return parseDouble(str);
120 }
121 
122 template<>
123 inline
124 float parse<float>(const Xml_string& str)
125 {
126  return parseFloat(str);
127 }
128 
129 template<>
130 inline
131 bool parse<bool>(const Xml_string& str)
132 {
133  return parseBool(str);
134 }
135 
136 template<>
137 inline
138 QStringList parse<QStringList>(const Xml_string& str)
139 {
140  return parseStringList(str);
141 }
142 
143 template<>
144 inline
145 QList<int> parse<QList<int> >(const Xml_string& str)
146 {
147  return parseIntList(str);
148 }
149 
150 template<>
151 inline
152 QList<double> parse<QList<double> >(const Xml_string& str)
153 {
154  return parseDoubleList(str);
155 }
156 
157 
158 #endif
Base Class ScFace : This is a total rewrite of the old Foi class.
Definition: scface.h:73
Definition: fpointarray.h:42