00001 /*************************************************************************** 00002 plugin.h 00003 Functions: 00004 ------------------- 00005 begin : Jan 21, 2004 00006 copyright : (C) 2004 by Tim Sutton 00007 email : tim@linfiniti.com 00008 00009 ***************************************************************************/ 00010 00011 /*************************************************************************** 00012 * * 00013 * This program is free software; you can redistribute it and/or modify * 00014 * it under the terms of the GNU General Public License as published by * 00015 * the Free Software Foundation; either version 2 of the License, or * 00016 * (at your option) any later version. * 00017 * * 00018 ***************************************************************************/ 00019 /* $Id: plugin.h 5476 2006-05-19 09:53:08Z g_j_m $ */ 00020 /*************************************************************************** 00021 * QGIS Programming conventions: 00022 * 00023 * mVariableName - a class level member variable 00024 * sVariableName - a static class level member variable 00025 * variableName() - accessor for a class member (no 'get' in front of name) 00026 * setVariableName() - mutator for a class member (prefix with 'set') 00027 * 00028 * Additional useful conventions: 00029 * 00030 * theVariableName - a method parameter (prefix with 'the') 00031 * myVariableName - a locally declared variable within a method ('my' prefix) 00032 * 00033 * DO: Use mixed case variable names - myVariableName 00034 * DON'T: separate variable names using underscores: my_variable_name (NO!) 00035 * 00036 * **************************************************************************/ 00037 #ifndef PIHMgis_H 00038 #define PIHMgis_H 00039 00040 //QT4 includes 00041 #include <QObject> 00042 00043 //QGIS includes 00044 #include <qgisapp.h> 00045 #include "../qgisplugin.h" 00046 00047 //forward declarations 00048 class QToolBar; 00049 00055 class PIHMgis:public QObject, public QgisPlugin 00056 { 00057 Q_OBJECT; 00058 public: 00059 00061 // 00062 // MANDATORY PLUGIN METHODS FOLLOW 00063 // 00065 00072 PIHMgis(QgisApp * theApplication, QgisIface * theInterface); 00074 virtual ~PIHMgis(); 00075 00076 public slots: 00078 virtual void initGui(); 00080 void run(); 00082 void unload(); 00084 void help(); 00085 00086 void runDoNothing(); 00087 void runFillPits(); 00088 void runFlowGrid(); 00089 void runStreamGrid(); 00090 void runLinkGrid(); 00091 void runStreamPolyLine(); 00092 void runCatchmentGrid(); 00093 void runCatchmentPolygon(); 00094 00095 void runShpFileInput(); 00096 void runPolygonToPolyline(); 00097 void runSimplifyLine(); 00098 void runSplitLine(); 00099 void runVectorMerge(); 00100 00101 void runGenerateShapeTopology(); 00102 void runRunTriangle(); 00103 void runCreateTINs(); 00104 00105 void runMshFile(); 00106 void runAttFile(); 00107 void runRivFile(); 00108 void runParaFile(); 00109 00110 void runTimeSeriesPlots(); 00111 void runSpatialPlots(); 00112 00113 void runPIHM(); 00114 00115 void runAbout(); 00117 // 00118 // END OF MANDATORY PLUGIN METHODS 00119 // 00121 // 00122 // The following methods are provided to demonstrate how you can 00123 // load a vector or raster layer into the main gui. Please delete 00124 // if you are not intending to use these. Note also that there are 00125 // other ways in which layers can be loaded. 00126 // 00127 00129 void drawRasterLayer(QString); 00131 void drawVectorLayer(QString,QString,QString); 00132 00133 private: 00134 00136 // 00137 // MANDATORY PLUGIN PROPERTY DECLARATIONS ..... 00138 // 00140 00141 int mPluginType; 00143 QToolBar *mToolBarPointer; 00145 QgisApp *mQGisApp; 00147 QgisIface *mQGisIface; 00149 QAction * mQActionPointer; 00151 // 00152 // ADD YOUR OWN PROPERTY DECLARATIONS AFTER THIS POINT..... 00153 // 00155 }; 00156 00157 #endif //PIHMgis_H