00001 #ifndef __PLUGINSET_H 00002 #define __PLUGINSET_H 00003 00004 #include <qwidget.h> 00005 #include <qaction.h> 00006 #include <qlistview.h> 00007 #include <qlayout.h> 00008 #include <qhbox.h> 00009 #include <qgroupbox.h> 00010 #include <qpushbutton.h> 00011 #include <qmultilineedit.h> 00012 #include <qpopupmenu.h> 00013 00014 00015 #include <vector> 00016 #include <string> 00017 00018 #include "plugin.h" 00019 #include "xmlserializeable.h" 00020 #include "viewpopupaction.h" 00021 #include "glimsproject.h" 00022 00030 class PluginSet : 00031 public QWidget, 00032 public XMLSerializeable { 00033 Q_OBJECT 00034 protected: 00035 const std::string PLUGCFG_FNAME; 00036 std::vector<Plugin> mPlugSet; 00037 QActionGroup *mMenuGroup; 00038 QListView *mPlugList; 00039 QMultiLineEdit *mDescBox; 00040 QPopupMenu *mMenuParent; 00041 GLIMSProject *mProj; 00042 00043 void buildWidget( ); 00044 void loadMenu( ); 00045 void loadList( ); 00046 00047 public: 00048 PluginSet( QWidget *parent, QPopupMenu *menuparent ); 00049 00050 virtual bool fromXML( QDomElement &elem ); 00051 virtual bool toXML( QDomDocument &doc, 00052 QDomElement &elem, 00053 std::string id="" ); 00054 void setProj( GLIMSProject *proj ) { 00055 mProj = proj; 00056 } 00057 00058 public slots: 00059 void importPlugin( ); 00060 void rescanDir( ); 00061 void showPluginCfg( ); 00062 void pluginChosen( ViewPopupAction * ); 00063 void selectedPluginChanged( QListViewItem * ); 00064 }; 00065 00066 #endif 00067 00068 00069 00070
Home |
Search |
Disclaimers & Privacy |
Contact Us GLIMSView Maintainer: dsoltesz@usgs.gov |