00001 #ifndef RECRULELIST_H_
00002 #define RECRULELIST_H_
00003
00004 #include <QVariantList>
00005 #include <QDateTime>
00006
00007 #include "serviceexp.h"
00008 #include "datacontracthelper.h"
00009
00010 #include "recRule.h"
00011
00012 namespace DTC
00013 {
00014
00015 class SERVICE_PUBLIC RecRuleList : public QObject
00016 {
00017 Q_OBJECT
00018 Q_CLASSINFO( "version", "1.0" );
00019
00020
00021
00022
00023 Q_CLASSINFO( "RecRules", "type=DTC::RecRule");
00024 Q_CLASSINFO( "AsOf" , "transient=true" );
00025
00026 Q_PROPERTY( int StartIndex READ StartIndex WRITE setStartIndex )
00027 Q_PROPERTY( int Count READ Count WRITE setCount )
00028 Q_PROPERTY( int TotalAvailable READ TotalAvailable WRITE setTotalAvailable )
00029 Q_PROPERTY( QDateTime AsOf READ AsOf WRITE setAsOf )
00030 Q_PROPERTY( QString Version READ Version WRITE setVersion )
00031 Q_PROPERTY( QString ProtoVer READ ProtoVer WRITE setProtoVer )
00032
00033 Q_PROPERTY( QVariantList RecRules READ RecRules DESIGNABLE true )
00034
00035 PROPERTYIMP ( int , StartIndex )
00036 PROPERTYIMP ( int , Count )
00037 PROPERTYIMP ( int , TotalAvailable )
00038 PROPERTYIMP ( QDateTime , AsOf )
00039 PROPERTYIMP ( QString , Version )
00040 PROPERTYIMP ( QString , ProtoVer )
00041
00042 PROPERTYIMP_RO_REF( QVariantList, RecRules )
00043
00044 public:
00045
00046 static void InitializeCustomTypes()
00047 {
00048 qRegisterMetaType< RecRuleList >();
00049 qRegisterMetaType< RecRuleList* >();
00050
00051 RecRule::InitializeCustomTypes();
00052 }
00053
00054 public:
00055
00056 RecRuleList(QObject *parent = 0)
00057 : QObject( parent )
00058 {
00059 }
00060
00061 RecRuleList( const RecRuleList &src )
00062 {
00063 Copy( src );
00064 }
00065
00066 void Copy( const RecRuleList &src )
00067 {
00068 m_AsOf = src.m_AsOf ;
00069 m_Version = src.m_Version ;
00070 m_ProtoVer = src.m_ProtoVer ;
00071
00072 CopyListContents< RecRule >( this, m_RecRules, src.m_RecRules );
00073 }
00074
00075 RecRule *AddNewRecRule()
00076 {
00077
00078
00079
00080 RecRule *pObject = new RecRule( this );
00081 m_RecRules.append( QVariant::fromValue<QObject *>( pObject ));
00082
00083 return pObject;
00084 }
00085
00086 };
00087
00088 }
00089
00090 Q_DECLARE_METATYPE( DTC::RecRuleList )
00091 Q_DECLARE_METATYPE( DTC::RecRuleList* )
00092
00093 #endif