00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019
00020 #ifndef DBLISTVIEW_H
00021 #define DBLISTVIEW_H
00022
00023 #ifdef HAVE_CONFIG_H
00024 #include <config.h>
00025 #endif
00026
00027 #include <qlistview.h>
00028
00029 class KConfig;
00030
00031 namespace KDB {
00032
00033 class Object;
00034 class Plugin;
00035 class Database;
00036 class Connection;
00037
00038 class DBListViewItem: public QListViewItem {
00039
00040 public:
00041 DBListViewItem(QListView * parent, Object *obj);
00042 DBListViewItem(QListViewItem * parent, Object *obj);
00043
00044 void init();
00045
00046 Object *itemObject();
00047
00048 private:
00049 Object * m_obj;
00050 };
00051
00074 class DBListView: public QListView {
00075
00076 Q_OBJECT
00077
00078 public:
00079 enum { Auto, SemiAuto, Manual };
00080
00081 DBListView(QWidget *parent, const char * name = 0, bool displayTree = true, int mode = Auto);
00082
00083 ~DBListView();
00084
00085 Database * selectedDatabase();
00086
00087 virtual DBListViewItem * addConnection(Connection *conn);
00088
00089 virtual DBListViewItem * addPlugin(Plugin *plugin);
00090
00091 virtual DBListViewItem * addDatabase(Database *database);
00092
00093 signals:
00094
00095 void databaseSelected(Database *);
00096
00097 void nonDatabaseSelected();
00098
00099 protected slots:
00100
00101 void slotItemSelected(QListViewItem *);
00102
00103 private:
00104
00105 DBListViewItem * addConnection(Connection *conn, DBListViewItem *item);
00106
00107 bool m_tree;
00108 int m_mode;
00109
00110 Database * currentDB;
00111 };
00112
00113 }
00114 #endif
00115