Back to index

scribus-ng  1.3.4.dfsg+svn20071115
saxiohelper.h
Go to the documentation of this file.
00001 #ifndef SAXHELPER_H
00002 #define SAXHELPER_H
00003 
00004 #include "desaxe_conf.h"
00005 #include <qvaluelist.h>
00006 #include <qvaluestack.h>
00007 #include <qstringlist.h>
00008 
00009 
00010 class ScFace;
00011 class FPointArray;
00012 
00013 Xml_string toXMLString(unsigned int val);
00014 Xml_string toXMLString(int val);
00015 Xml_string toXMLString(unsigned long val);
00016 Xml_string toXMLString(long val);
00017 Xml_string toXMLString(double val);
00018 Xml_string toXMLString(float val);
00019 Xml_string toXMLString(bool val);
00020 Xml_string toXMLString(const Xml_string& val);
00021 
00022 Xml_string toXMLString(const ScFace& val);
00023 Xml_string toXMLString(const FPointArray& path);
00024 
00025 Xml_string toXMLString(const QValueList<double>& doublelist);
00026 Xml_string toXMLString(const QValueList<int>& intlist);
00027 Xml_string toXMLString(const QStringList& list);
00028 
00029 unsigned int parseUInt(const Xml_string& str);
00030 int parseInt(const Xml_string&  str);
00031 unsigned long parseULong(const Xml_string&  str);
00032 long parseLong(const Xml_string&  str);
00033 double parseDouble(const Xml_string&  str);
00034 float parseFloat(const Xml_string&  str);
00035 bool parseBool(const Xml_string&  str);
00036 QValueList<double> parseDoubleList(const Xml_string&  str);
00037 QValueList<int> parseIntList(const Xml_string&  str);
00038 QValueStack<int> parseIntStack(const Xml_string&  str);
00039 QStringList parseStringList(const Xml_string&  str);
00040 
00041 
00042 Xml_string mkXMLName(const QString& any);
00043 
00044 
00045 template<class ENUM>
00046 inline
00047 ENUM parseEnum(const Xml_string& str)
00048 {
00049        return static_cast<ENUM>(str.toUInt());
00050 }
00051 
00052 
00053 template<class DATA>
00054 inline
00055 DATA parse(const Xml_string& str)
00056 {
00057        return static_cast<DATA>(str);
00058 }
00059 
00060 template<>
00061 inline
00062 const Xml_string& parse<const Xml_string&>(const Xml_string& str)
00063 {
00064        return str;
00065 }
00066 
00067 template<>
00068 inline
00069 Xml_string parse<Xml_string>(const Xml_string& str)
00070 {
00071        return str;
00072 }
00073 
00074 template<>
00075 inline
00076 unsigned int parse<unsigned int>(const Xml_string& str)
00077 {
00078        return parseUInt(str);
00079 }
00080 
00081 template<>
00082 inline
00083 int parse<int>(const Xml_string& str)
00084 {
00085        return parseInt(str);
00086 }
00087 
00088 template<>
00089 inline
00090 unsigned long parse<unsigned long>(const Xml_string& str)
00091 {
00092        return parseULong(str);
00093 }
00094 
00095 template<>
00096 inline
00097 long parse<long>(const Xml_string& str)
00098 {
00099        return parseLong(str);
00100 }
00101 
00102 template<>
00103 inline
00104 double parse<double>(const Xml_string& str)
00105 {
00106        return parseDouble(str);
00107 }
00108 
00109 template<>
00110 inline
00111 float parse<float>(const Xml_string& str)
00112 {
00113        return parseFloat(str);
00114 }
00115 
00116 template<>
00117 inline
00118 bool parse<bool>(const Xml_string& str)
00119 {
00120        return parseBool(str);
00121 }
00122 
00123 template<>
00124 inline
00125 QValueList<int> parse<QValueList<int> >(const Xml_string& str)
00126 {
00127        return parseIntList(str);
00128 }
00129 
00130 template<>
00131 inline
00132 QValueList<double> parse<QValueList<double> >(const Xml_string& str)
00133 {
00134        return parseDoubleList(str);
00135 }
00136 
00137 
00138 #endif