00001 /*************************************************************************** 00002 ** 00003 ** This file is part of dinvermatlab. 00004 ** 00005 ** This file is distributed under the terms of the Geopsy.org Commercial 00006 ** License appearing in the file LICENSE.COMMERCIAL included in the packaging 00007 ** of this file. 00008 ** 00009 ** This file is distributed in the hope that it will be useful, but WITHOUT 00010 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00011 ** FITNESS FOR A PARTICULAR PURPOSE. See Geopsy.org Commercial License for 00012 ** more details. 00013 ** 00014 ** You should have received a copy of the Geopsy.org Commercial License 00015 ** along with this program. If not, see <http://www.geopsy.org>. 00016 ** 00017 ** See http://www.geopsy.org for more information. 00018 ** 00019 ** Created : 2008-11-23 00020 ** Authors : 00021 ** Marc Wathelet 00022 ** Marc Wathelet (LGIT, Grenoble, France) 00023 ** 00024 ***************************************************************************/ 00025 00026 #ifndef MATLABPLUGIN_H 00027 #define MATLABPLUGIN_H 00028 00029 #include <DinverGui.h> 00030 00031 #include "dinvermatlabInstallPath.h" 00032 00033 class MatlabTargetWidget; 00034 class MatlabTarget; 00035 class MatlabInversion; 00036 00037 class MatlabPlugin : public DinverInterface 00038 { 00039 Q_OBJECT 00040 Q_INTERFACES(DinverCore::DinverInterface); 00041 public: 00042 MatlabPlugin(); 00043 ~MatlabPlugin(); 00044 00045 virtual QString tag() const; 00046 virtual QString title() const ; 00047 virtual QString version() const ; 00048 virtual QString description() const ; 00049 00050 virtual QWidget * createTargetWidget(); 00051 virtual QWidget * createParamWidget(); 00052 00053 virtual bool xmlSupport() const {return true;} 00054 virtual void xml_writeChildren(XML_WRITECHILDREN_ARGS) const; 00055 virtual XMLMember xml_member(XML_MEMBER_ARGS); 00056 virtual bool xml_polishChild(XML_POLISHCHILD_ARGS); 00057 virtual const char * interfaceVersion() const {return DINVERCORE_VERSION;} 00058 00059 virtual AbstractForward * createForward(); 00060 virtual bool initForward(AbstractForward * forward); 00061 virtual void setCurrentForward(AbstractForward * forwards, const QString& ); 00062 private slots: 00063 void checkScript(); 00064 private: 00065 ParamSpaceEditor * _paramWidget; 00066 MatlabTargetWidget * _targetWidget; 00067 // Global and batch definition of parameters and target 00068 // Null when global selection is active 00069 ParamSpaceScript * _param; 00070 MatlabTarget * _target; 00071 MatlabInversion * _currentRun; 00072 }; 00073 00074 #endif // MATLABPLUGIN_H