00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef CUSTOMFIELDS_P_H
00023 #define CUSTOMFIELDS_P_H
00024
00025 #include <QtCore/QString>
00026 #include <QtCore/QVariant>
00027
00028 template <typename T>
00029 class QVector;
00030
00047 class CustomField
00048 {
00049 public:
00050 typedef QVector<CustomField> List;
00051
00052 enum Type
00053 {
00054 TextType,
00055 NumericType,
00056 BooleanType,
00057 DateType,
00058 TimeType,
00059 DateTimeType
00060 };
00061
00062 enum Scope
00063 {
00064 LocalScope,
00065 GlobalScope,
00066 ExternalScope
00067 };
00068
00069 CustomField();
00070 CustomField( const QString &key, const QString &title, Type type, Scope scope );
00071
00072 static CustomField fromVariantMap( const QVariantMap &map, Scope scope );
00073
00074 void setKey( const QString &key );
00075 QString key() const;
00076
00077 void setTitle( const QString &title );
00078 QString title() const;
00079
00080 void setType( Type type );
00081 Type type() const;
00082
00083 void setScope( Scope scope );
00084 Scope scope() const;
00085
00086 void setValue( const QString &value );
00087 QString value() const;
00088
00089 QVariantMap toVariantMap() const;
00090
00091 static QString typeToString( Type type );
00092 static Type stringToType( const QString &type );
00093
00094 private:
00095 QString mKey;
00096 QString mTitle;
00097 Type mType;
00098 Scope mScope;
00099 QString mValue;
00100 };
00101
00102 #endif