diff options
Diffstat (limited to 'src/ui/widget')
| -rw-r--r-- | src/ui/widget/attr-widget.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/ui/widget/attr-widget.h b/src/ui/widget/attr-widget.h index 66a903a0b..8abe6b1ba 100644 --- a/src/ui/widget/attr-widget.h +++ b/src/ui/widget/attr-widget.h @@ -28,7 +28,8 @@ enum DefaultValueType T_DOUBLE, T_VECT_DOUBLE, T_BOOL, - T_UINT + T_UINT, + T_CHARPTR }; class DefaultValueHolder @@ -39,6 +40,7 @@ class DefaultValueHolder std::vector<double>* vt_val; bool b_val; unsigned int uint_val; + char* cptr_val; } value; //FIXME remove copy ctor and assignment operator as private to avoid double free of the vector @@ -57,6 +59,11 @@ public: value.vt_val = d; } + DefaultValueHolder (char* c) { + type = T_CHARPTR; + value.cptr_val = c; + } + DefaultValueHolder (bool d) { type = T_BOOL; value.b_val = d; @@ -91,6 +98,11 @@ public: g_assert (type == T_VECT_DOUBLE); return value.vt_val; } + + char* as_charptr() { + g_assert (type == T_CHARPTR); + return value.cptr_val; + } }; class AttrWidget |
