00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef AOBJECTLIST_H
00031 #define AOBJECTLIST_H
00032
00033 #include <qdatetime.h>
00034 #include "acfg.h"
00035 #include "asqltable.h"
00036
00037
00038 class aDatabase;
00039 class aObject;
00040
00041
00051 class ANANAS_EXPORT aObjectList : public QObject
00052 {
00053 Q_OBJECT
00054
00055 public:
00056 aCfg * md;
00057 aCfgItem obj;
00058 aDatabase * db;
00059
00060 aObjectList( QObject *parent = 0, const char *name = 0 );
00061 aObjectList( const QString &oname, aDatabase *adb, QObject *parent = 0, const char *name = 0 );
00062 aObjectList( aCfgItem context, aDatabase *adb, QObject *parent = 0, const char *name = 0 );
00063 virtual ~aObjectList();
00064
00065 ERR_Code init();
00066 ERR_Code decodeDocNum( QString nm, QString & pref, int & num);
00067 virtual ERR_Code select( Q_ULLONG id );
00068 Q_ULLONG getUid();
00069 bool selected();
00070 void setSelected( bool sel );
00071 ERR_Code select(const QString & query );
00072
00073
00074
00075
00076 public slots:
00077 virtual aObject *currentObject() const;
00078
00079 virtual QString Uid();
00080 virtual bool IsSelected();
00081 virtual bool IsMarkDeleted();
00082 virtual bool IsMarked();
00083 virtual int SetMarkDeleted( bool Deleted );
00084 virtual int SetMarked( bool Marked );
00085 virtual QVariant Value( const QString & name );
00086 virtual int SetValue( const QString & name, const QVariant &value );
00087
00088 virtual bool Next();
00089 virtual bool Prev();
00090 virtual bool First();
00091 virtual bool Last();
00092
00093 virtual int SetFilter( const QString & valname, const QVariant & value );
00094 virtual int ClearFilter();
00095 virtual bool IsFiltred() {return filtred;};
00096 virtual QString displayString();
00097
00098 protected:
00099 virtual aCfgItem displayStringContext();
00100 virtual ERR_Code setObject( aCfgItem newobject );
00101 virtual ERR_Code initObject();
00102 bool isInited() { return vInited; };
00103 void setInited( bool flag ){ vInited = flag; };
00104 private:
00105 aDataTable *table;
00106 bool vInited, selectFlag, filtred;
00107 QDict <aDataTable> dbtables;
00108
00109 };
00110
00111
00112 #endif