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 WGROUPTREE_H
00031 #define WGROUPTREE_H
00032
00033 #include <qlistview.h>
00034 #include <qwidgetplugin.h>
00035 #include <qwidget.h>
00036 #include "awidget.h"
00037
00038 class wGroupTreeItem;
00039 class wTreeView;
00040
00041 class QT_WIDGET_PLUGIN_EXPORT wGroupTree : public aWidget
00042 {
00043 Q_OBJECT
00044 public:
00045 wTreeView *tree;
00046 wGroupTreeItem *root;
00047
00048 wGroupTree( QWidget *parent = 0, WFlags fl = 0 );
00049 virtual ~wGroupTree();
00050
00051 virtual void initObject( aDatabase *adb );
00052 virtual QDialog* createEditor( QWidget *parent );
00053 virtual QToolBar* createToolBar( QMainWindow *parent );
00054 virtual aObject *createDBObject( aCfgItem obj, aDatabase *adb );
00055 void buildGroupTree( aCfgItem obj, aCatGroup * cg1, wGroupTreeItem * wG );
00056 wGroupTreeItem *findItem( ANANAS_UID id );
00057 public slots:
00058 void findGroupTree();
00059 void NewGroup();
00060 void DeleteGroup();
00061 void EditGroup();
00062 virtual QString Uid() { return QString("%1").arg(currentId); };
00063
00064 private slots:
00065 void on_selected( ANANAS_UID element );
00066
00067 void updateItem( ANANAS_UID element );
00068 void on_selectionChanged( QListViewItem *);
00069 void dropped(QDropEvent*);
00070 signals:
00071 virtual void selected( ANANAS_UID group );
00072 virtual void selectionChanged( const Q_ULLONG );
00073 protected:
00074 virtual void keyPressEvent ( QKeyEvent *e );
00075 private:
00076 Q_ULLONG currentId;
00077 };
00078
00079
00080
00081 class wGroupTreeItem : public QListViewItem
00082 {
00083 public:
00084 ANANAS_UID id;
00085 int level;
00086 wGroupTreeItem( QListView *parent, const QString &name = QString::null );
00087 wGroupTreeItem( wGroupTreeItem *parent, wGroupTreeItem *after, const QString &name = QString::null, int newlevel = 0, ANANAS_UID newid = 0 );
00088 wGroupTreeItem( wGroupTreeItem *parent, wGroupTreeItem *after, aCatGroup *g = 0 );
00089 virtual ~wGroupTreeItem();
00090 wGroupTreeItem *parentItem();
00091 private:
00092 };
00093
00094 class wTreeView : public QListView
00095 {
00096 Q_OBJECT
00097 public:
00098 wTreeView(QWidget * parent);
00099 protected:
00100 virtual void dragEnterEvent(QDragEnterEvent *);
00101 virtual void dragMoveEvent(QDragMoveEvent *);
00102 virtual void dropEvent(QDropEvent *);
00103 };
00104
00105 #endif // WGROUPTREE_H