diff --git a/src/App/Expression.cpp b/src/App/Expression.cpp index b9cadab9fb..d1fe5100d1 100644 --- a/src/App/Expression.cpp +++ b/src/App/Expression.cpp @@ -2350,6 +2350,13 @@ Expression* PyObjectExpression::_copy() const return new PyObjectExpression(owner,pyObj,false); } +boost::any PyObjectExpression::getValueAsAny() const { + if(!pyObj || pyObj == Py_None) + return boost::any(); + Base::PyGILStateLocker lock; + return App::any(pyObjectWrap(pyObj)); +} + // // StringExpression class // diff --git a/src/App/Expression.h b/src/App/Expression.h index f490be5b99..f253292e5d 100644 --- a/src/App/Expression.h +++ b/src/App/Expression.h @@ -529,6 +529,7 @@ public: void setPyObject(PyObject *pyobj, bool owned=false); virtual std::string toString(bool) const; + virtual boost::any getValueAsAny() const; virtual Expression * eval() const { return copy(); } virtual Expression * simplify() const { return copy(); }