00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef OMGMODELLERLOCALPLUGIN_H
00021 #define OMGMODELLERLOCALPLUGIN_H
00022
00023
00024 #include <QObject>
00025 #include <QString>
00026 #include <QStringList>
00027 #include <QMap>
00028 #include <QTextStream>
00029
00030
00031 #include "omgalgorithm.h"
00032 #include "omgmodel.h"
00033 #include "omgomlogcallback.h"
00034 #include "omgpluginmessenger.h"
00035
00036 #include <omgmodellerplugininterface.h>
00037 class OpenModeller;
00038 class QDomDocument;
00039 class QDomElement;
00040
00057 void modelCallback( float theProgress, void *thePlugin );
00058
00072 void mapCallback( float theProgress, void *thePlugin );
00073
00074 class OMG_PLUGIN_EXPORT OmgModellerLocalPlugin : public QObject, public OmgModellerPluginInterface
00075 {
00076 Q_OBJECT;
00077 Q_INTERFACES(OmgModellerPluginInterface);
00078 public:
00079 OmgModellerLocalPlugin( QObject* parent=0);
00080 ~OmgModellerLocalPlugin();
00085 QString createModel(OmgModel * theModel);
00091 void projectModel(OmgModel * theModel);
00092
00098 const QStringList getAlgorithmList();
00105 const OmgAlgorithmSet getAlgorithmSet();
00110 const OmgAlgorithm getAlgorithm( QString theAlgorithmId );
00117 void setCreationProgress (int theProgress);
00124 void setProjectionProgress (int theProgress);
00125
00135 const QString getLayers(QString theBaseDir);
00136
00140 const QString getName() { return QString("Local Modeller Plugin"); };
00141
00142 public slots:
00143
00144 private slots:
00151 void appendToLog(QString theGuid,QString theMessage);
00152
00153 private:
00158 bool initialise();
00159 OpenModeller * mpOpenModeller;
00160 OmgOmLogCallback * mpLogCallBack;
00161 QTextStream mTextStream;
00162 int mModelProgress;
00163 int mMapProgress;
00165 QString mModelGuid;
00167 QString mModelLog;
00168
00180 static bool mAlgFactoryStartedFlag;
00181
00186 void setMapProgress(int theProgress);
00187
00191 void setModelProgress(int theProgress);
00192
00193
00194 };
00195
00196 #endif