00001
00002
00003
00004
00005
00006
00007 #ifndef _SLDBLISTVIEW_H_INCLUDED
00008 #define _SLDBLISTVIEW_H_INCLUDED
00009
00010 #include <qobject.h>
00011 #include "sllistview.h"
00012 #include "slzdtm.h"
00013
00014 using namespace SlZDtm;
00015
00016 struct SlDbListViewColumn {
00017 uchar name[4];
00018 QString title;
00019 };
00020 typedef QValueList<SlDbListViewColumn> SlDbListViewColumnList;
00021
00022 class SlDbListViewPrivate;
00023 class SlDbListView : public SlListView
00024 {
00025 Q_OBJECT
00026 public:
00027 SlDbListView(QWidget *parent,const char *name=0);
00028 ~SlDbListView();
00029
00030 void setDb(SlZDataManager *zdtm);
00031 void setCurrentCardId(CardId cardId);
00032 void setColumns(const SlDbListViewColumnList &columns);
00033 CardId currentCardId(SlListViewItem *item=NULL) const;
00034 void update(CardId cardId=0);
00035 bool deleteItem(CardId cardId);
00036 void sort(int column,bool isAscendent);
00037 protected:
00038 QString itemText(int lineNo,int column) const;
00039
00040 private slots:
00041 void headerClicked(int column);
00042 void systemMessage(const QCString &msg,const QByteArray &data);
00043
00044 private:
00045 SlListViewItem* findCard(CardId cardId);
00046 void updateSortIndicator();
00047 void setSortInfo();
00048 SlDbListViewPrivate *p;
00049 };
00050
00051
00052
00053 #endif