EvolvingObjects
|
00001 #ifndef VALUEPARAM_H 00002 #define VALUEPARAM_H 00003 00004 #include <string> 00005 #include <boost/python.hpp> 00006 00007 class ValueParam : public eoParam // ValueParam containing python object 00008 { 00009 boost::python::object obj; 00010 00011 public: 00012 00013 ValueParam() : eoParam(), obj() {} 00014 00015 ValueParam(boost::python::object o, 00016 std::string longName, 00017 std::string d = "No Description", 00018 char s = 0, 00019 bool r = false) : eoParam(longName, "", d, s, r) 00020 { 00021 std::cerr << "HI" << std::endl; 00022 obj = o; 00023 eoParam::defValue(getValue()); 00024 } 00025 00026 std::string getValue() const 00027 { 00028 boost::python::str s = boost::python::str(obj); 00029 return std::string(boost::python::extract<const char*>(s)); 00030 } 00031 00032 void setValue(const std::string& v) 00033 { 00034 std::cerr << "not implemented yet" << std::endl; 00035 } 00036 00037 boost::python::object getObj() const { return obj;} 00038 void setObj(boost::python::object o) { obj = o; } 00039 }; 00040 00041 #endif