00001 //LabPlot : ExplorerDialog.h 00002 00003 #ifndef EXPLORERDIALOG_H 00004 #define EXPLORERDIALOG_H 00005 00006 #include <qfont.h> 00007 #include <qcheckbox.h> 00008 #include <qpopupmenu.h> 00009 #include "Worksheet.h" 00010 #include "Dialog.h" 00011 #include "ExplorerListView.h" 00012 00013 // item for explorer list 00014 class ExplorerItem 00015 { 00016 public: 00017 ExplorerItem(Worksheet* ws=0, Spreadsheet* ss=0, Plot* plot=0, Graph* graph=0); 00018 Worksheet* getWorksheet() { return ws; } 00019 Spreadsheet* getSpreadsheet() { return ss; } 00020 Plot* getPlot() { return plot; } 00021 Graph* getGraph() { return graph; } 00022 private: 00023 Worksheet *ws; 00024 Spreadsheet *ss; 00025 Plot *plot; 00026 Graph *graph; 00027 }; 00028 00029 class ExplorerDialog: public Dialog 00030 { 00031 Q_OBJECT 00032 public: 00033 ExplorerDialog(MainWin *mw, const char *name); 00034 void updateDialog() { updateList(); } 00035 private: 00036 ExplorerItem *list; 00037 ExplorerListView *lv; 00038 QPopupMenu *menu; 00039 int dragitem, dropitem; 00040 private slots: 00041 void updateList(); 00042 void rmouse(QListViewItem *item, const QPoint & point, int ); 00043 void pressEvent( QListViewItem * ); 00044 void releaseEvent( QMouseEvent * ); 00045 void deleteItem(); 00046 void cloneItem(); 00047 void copyItem(bool remove=false); 00048 void moveItem(); 00049 void newSpreadsheet() { mw->newSpreadsheet(); updateList(); } 00050 void newWorksheet() { mw->newWorksheet(); updateList(); } 00051 }; 00052 00053 00054 #endif //EXPLORERDIALOG_H