diff --git a/src/common/scriptinterface.cpp b/src/common/scriptinterface.cpp
index 938500b32..3b53a7fe2 100644
--- a/src/common/scriptinterface.cpp
+++ b/src/common/scriptinterface.cpp
@@ -410,6 +410,15 @@ Q_INVOKABLE MeshModelScriptInterface* MeshDocumentScriptInterface::current()
return NULL;
}
+Q_INVOKABLE int MeshDocumentScriptInterface::currentId()
+{
+ MeshModel* model = md->mm();
+ if (model != NULL)
+ return model->id();
+ else
+ return -1;
+}
+
Q_INVOKABLE int MeshDocumentScriptInterface::setCurrent(const int meshId)
{
int id = md->mm()->id();
@@ -503,6 +512,11 @@ int EnvWrap::evalEnum( const QString& nm )
return evalInt(nm);
}
+int EnvWrap::evalMesh(const QString& nm)
+{
+ return evalInt(nm);
+}
+
QColor EnvWrap::evalColor( const QString& nm )
{
QScriptValue result = evalExp(nm);
diff --git a/src/common/scriptinterface.h b/src/common/scriptinterface.h
index 77da57385..c9903677f 100644
--- a/src/common/scriptinterface.h
+++ b/src/common/scriptinterface.h
@@ -73,6 +73,7 @@ public:
Q_INVOKABLE MeshModelScriptInterface* getMesh(const int meshId);
Q_INVOKABLE MeshModelScriptInterface* current();
+ Q_INVOKABLE int currentId();
Q_INVOKABLE int setCurrent(const int meshId);
MeshDocument* md;
};
@@ -148,6 +149,7 @@ public:
/*QString getExpType(const QString& nm);*/
QString evalString(const QString& nm);
int evalEnum( const QString& nm );
+ int evalMesh(const QString& nm);
};
QScriptValue EnvWrap_ctor(QScriptContext* c,QScriptEngine* e);
diff --git a/src/common/xmlfilterinfo.cpp b/src/common/xmlfilterinfo.cpp
index c1d16c977..5c4cc1299 100644
--- a/src/common/xmlfilterinfo.cpp
+++ b/src/common/xmlfilterinfo.cpp
@@ -52,12 +52,6 @@ QString XMLFilterInfo::floatGuiInfo(const QString& guiType,const QString& xmlvar
return defaultGuiInfo(guiType,xmlvariable) + externalSep() + MLXMLElNames::guiMinExpr + "={data(" + xmlvariable + "/@" + MLXMLElNames::guiMinExpr + ")}" + externalSep() + MLXMLElNames::guiMaxExpr + "={data(" + xmlvariable + "/@" + MLXMLElNames::guiMaxExpr + ")}";
}
-QString XMLFilterInfo::enumGuiInfo( const QString& guiType,const QString& xmlvariable )
-{
- return defaultGuiInfo(guiType,xmlvariable) + externalSep() + MLXMLElNames::guiValuesList + "={data(" + xmlvariable + "/@" + MLXMLElNames::guiValuesList + ")}";
-
-}
-
QString XMLFilterInfo::guiTypeSwitchQueryText(const QString& var)
{
QString base("typeswitch(" + var + ")");
@@ -68,8 +62,9 @@ QString XMLFilterInfo::guiTypeSwitchQueryText(const QString& var)
QString caseCOLOR("case element (" + MLXMLElNames::colorWidgetTag + ") return " + defaultGuiInfo(MLXMLElNames::colorWidgetTag,var) + "
/string()");
QString caseSLIDER("case element (" + MLXMLElNames::sliderWidgetTag + ") return " + floatGuiInfo(MLXMLElNames::sliderWidgetTag,var) + "
/string()");
QString caseENUM("case element (" + MLXMLElNames::enumWidgetTag + ") return " + defaultGuiInfo(MLXMLElNames::enumWidgetTag,var) + "
/string()");
+ QString caseMESH("case element (" + MLXMLElNames::meshWidgetTag + ") return " + defaultGuiInfo(MLXMLElNames::meshWidgetTag,var) + "
/string()");
QString errorMsg = "default return \"" + XMLFilterInfo::guiErrorMsg() + "\"";
- return base + " " + caseABS + " " + caseBOOL + " " + caseEDIT + " " + caseVEC + " " + caseCOLOR + " " + caseSLIDER + " " + caseENUM + " " + errorMsg;
+ return base + " " + caseABS + " " + caseBOOL + " " + caseEDIT + " " + caseVEC + " " + caseCOLOR + " " + caseSLIDER + " " + caseENUM + " " + caseMESH + " " + errorMsg;
}
QStringList XMLFilterInfo::filterNames() const
diff --git a/src/common/xmlfilterinfo.h b/src/common/xmlfilterinfo.h
index 26efbbf3c..59521404f 100644
--- a/src/common/xmlfilterinfo.h
+++ b/src/common/xmlfilterinfo.h
@@ -62,7 +62,8 @@ namespace MLXMLElNames
const QString colorWidgetTag("COLOR_GUI");
const QString sliderWidgetTag("SLIDER_GUI");
const QString enumWidgetTag("ENUM_GUI");
-
+ const QString meshWidgetTag("MESH_GUI");
+
const QString mfiVersion("mfiVersion");
const QString pluginScriptName("pluginName");
@@ -98,6 +99,7 @@ namespace MLXMLElNames
const QString vec3Type("Vec3");
const QString colorType("Color");
const QString enumType("Enum");
+ const QString meshType("Mesh");
//ariety values
const QString singleMeshAriety("SingleMesh");
@@ -117,7 +119,6 @@ private:
static QString defaultGuiInfo(const QString& guiType,const QString& xmlvariable);
static QString floatGuiInfo(const QString& guiType,const QString& xmlvariable);
- static QString enumGuiInfo(const QString& guiType,const QString& xmlvariable);
static QString guiErrorMsg() {return QString("Error: Unknown GUI widget requested");}
static QString guiTypeSwitchQueryText(const QString& var);
inline static const QString externalSep() {return QString("^");}