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/QList>
00026 #include <QtCore/QString>
00027 #include <QtCore/QVariant>
00028
00045 class CustomField
00046 {
00047 public:
00048 typedef QList<CustomField> List;
00049
00050 enum Type
00051 {
00052 TextType,
00053 NumericType,
00054 BooleanType,
00055 DateType,
00056 TimeType,
00057 DateTimeType
00058 };
00059
00060 enum Scope
00061 {
00062 LocalScope,
00063 GlobalScope,
00064 ExternalScope
00065 };
00066
00067 CustomField();
00068 CustomField( const QString &key, const QString &title, Type type, Scope scope );
00069
00070 static CustomField fromVariantMap( const QVariantMap &map, Scope scope );
00071
00072 void setKey( const QString &key );
00073 QString key() const;
00074
00075 void setTitle( const QString &title );
00076 QString title() const;
00077
00078 void setType( Type type );
00079 Type type() const;
00080
00081 void setScope( Scope scope );
00082 Scope scope() const;
00083
00084 void setValue( const QString &value );
00085 QString value() const;
00086
00087 QVariantMap toVariantMap() const;
00088
00089 static QString typeToString( Type type );
00090 static Type stringToType( const QString &type );
00091
00092 private:
00093 QString mKey;
00094 QString mTitle;
00095 Type mType;
00096 Scope mScope;
00097 QString mValue;
00098 };
00099
00100 #endif