00001 /*************************************************************************** 00002 ** 00003 ** This file is part of dinverdc. 00004 ** 00005 ** This file may be distributed and/or modified under the terms of the 00006 ** GNU General Public License version 2 or 3 as published by the Free 00007 ** Software Foundation and appearing in the file LICENSE.GPL included 00008 ** in the packaging of this file. 00009 ** 00010 ** This file is distributed in the hope that it will be useful, but WITHOUT 00011 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00012 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00013 ** more details. 00014 ** 00015 ** You should have received a copy of the GNU General Public License 00016 ** along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 ** 00018 ** See http://www.geopsy.org for more information. 00019 ** 00020 ** Created : 2005-11-05 00021 ** Authors: 00022 ** Marc Wathelet 00023 ** Marc Wathelet (LGIT, Grenoble, France) 00024 ** 00025 ***************************************************************************/ 00026 00027 #ifndef DINVERDCPLUGIN_H 00028 #define DINVERDCPLUGIN_H 00029 00030 #include <QtGui> 00031 #include <DinverDCCore.h> 00032 00033 #include "dinverdcInstallPath.h" 00034 00035 class ParamGroundModelWidget; 00036 class TargetListWidget; 00037 class Forward; 00038 00039 class DCPlugin: public DinverInterface 00040 { 00041 Q_OBJECT 00042 Q_INTERFACES(DinverCore::DinverInterface); 00043 public: 00044 DCPlugin(); 00045 ~DCPlugin(); 00046 00047 virtual QString tag() const; 00048 virtual QString title() const ; 00049 virtual QString version() const ; 00050 virtual QString description() const ; 00051 00052 virtual QWidget * createTargetWidget(); 00053 virtual QWidget * createParamWidget(); 00054 00055 virtual bool xmlSupport() const {return true;} 00056 virtual void xml_writeChildren(XML_WRITECHILDREN_ARGS) const; 00057 virtual XMLMember xml_member(XML_MEMBER_ARGS); 00058 virtual bool xml_polishChild(XML_POLISHCHILD_ARGS); 00059 00060 virtual void addViewMenu(QMenu * m); 00061 virtual void clear (); 00062 00063 virtual AbstractForward * createForward(); 00064 virtual bool initForward(AbstractForward * forward); 00065 virtual void setCurrentForward(AbstractForward * forwards, const QString& caption); 00066 00067 virtual const char * interfaceVersion() const {return DINVERCORE_VERSION;} 00068 public slots: 00069 void setParamFromTargets(); 00070 void groundProfilesViewer(); 00071 void dispersionViewer(); 00072 void autocorrViewer(); 00073 void ellipticityViewer(); 00074 void refractionVpViewer(); 00075 void refractionVsViewer(); 00076 void magnetoTelluricViewer(); 00077 void setCurrentGroundModel(ParamGroundModel * gm); 00078 private: 00079 // Gui definition of parameters and target 00080 ParamGroundModelWidget * _paramWidget; 00081 TargetListWidget * _targetWidget; 00082 // Global and batch definition of parameters and target 00083 // Null when global selection is active 00084 ParamGroundModel * _param; 00085 TargetList * _target; 00086 }; 00087 00088 #endif // DINVERDCPLUGIN_H