Code

Add paramType() method to LPE parameter classes
authorcilix42 <cilix42@users.sourceforge.net>
Thu, 5 Jun 2008 08:59:31 +0000 (08:59 +0000)
committercilix42 <cilix42@users.sourceforge.net>
Thu, 5 Jun 2008 08:59:31 +0000 (08:59 +0000)
src/live_effects/parameter/bool.h
src/live_effects/parameter/enum.h
src/live_effects/parameter/parameter.h
src/live_effects/parameter/path.h
src/live_effects/parameter/point.h
src/live_effects/parameter/random.h

index 3bf839af84021c8a55279c1d382df9e5e3039481..e4aaabaa20bc131c302bca7b39e0aafd6cfb6231 100644 (file)
@@ -28,6 +28,8 @@ public:
                bool default_value = false);
     virtual ~BoolParam();
 
+    virtual ParamType paramType() { return BOOL_PARAM; }
+
     virtual Gtk::Widget * param_newWidget(Gtk::Tooltips * tooltips);
 
     virtual bool param_readSVGValue(const gchar * strvalue);
index daba43784401d85e36cd0dc59feb57156a22b842..a3df91d641403e9f1cf5753714836402408ad0c0 100644 (file)
@@ -39,6 +39,8 @@ public:
 
     virtual ~EnumParam() { };
 
+    virtual ParamType paramType() { return ENUM_PARAM; }
+
     virtual Gtk::Widget * param_newWidget(Gtk::Tooltips * /*tooltips*/) {
         Inkscape::UI::Widget::RegisteredEnum<E> *regenum = Gtk::manage ( 
             new Inkscape::UI::Widget::RegisteredEnum<E>( param_label, param_tooltip,
index 23faffc308c7506f38eb85f686bfbacdcc4676c2..58f4635aada2f8f4bbc219f40b1e7bb5c21de764 100644 (file)
@@ -37,6 +37,17 @@ namespace LivePathEffect {
 
 class Effect;
 
+enum ParamType {
+    GENERAL_PARAM,
+    SCALAR_PARAM,
+    BOOL_PARAM,
+    PATH_PARAM,
+    POINT_PARAM,
+    RANDOM_PARAM,
+    ENUM_PARAM,
+    INVALID_PARAM
+};
+
 class Parameter {
 public:
     Parameter(  const Glib::ustring& label,
@@ -51,6 +62,9 @@ public:
 
     virtual void param_set_default() = 0;
 
+    void printTypeName();
+    virtual ParamType paramType() { return GENERAL_PARAM; }
+
     // This creates a new widget (newed with Gtk::manage(new ...);)
     virtual Gtk::Widget * param_newWidget(Gtk::Tooltips * tooltips) = 0;
 
@@ -90,6 +104,8 @@ public:
                 gdouble default_value = 1.0);
     virtual ~ScalarParam();
 
+    virtual ParamType paramType() { return SCALAR_PARAM; }
+
     virtual bool param_readSVGValue(const gchar * strvalue);
     virtual gchar * param_writeSVGValue() const;
 
index d72b4b7fea30321bc4f6b3db05a2c4a8a838a3ff..b543e610cdb9cee5d993324b4a9be9207be6737f 100644 (file)
@@ -32,6 +32,8 @@ public:
                 const gchar * default_value = "M0,0 L1,1");
     virtual ~PathParam();
 
+    virtual ParamType paramType() { return PATH_PARAM; }
+
     std::vector<Geom::Path> const & get_pathvector();
     Geom::Piecewise<Geom::D2<Geom::SBasis> > const & get_pwd2();
 
index e200921ab88f9bfa1b78ec3bf8a791461741aefb..7a630dc0c3caadf0cc182049d010e1321db94234 100644 (file)
@@ -33,6 +33,8 @@ public:
                 Geom::Point default_value = Geom::Point(0,0));
     virtual ~PointParam();
 
+    virtual ParamType paramType() { return POINT_PARAM; }
+
     virtual Gtk::Widget * param_newWidget(Gtk::Tooltips * tooltips);
 
     bool param_readSVGValue(const gchar * strvalue);
index c59a9d00ec4029abfc649353a47b0067aa99d560..5a9f8de6242c1ae65b6be849d0a75f60ad6f2ec9 100644 (file)
@@ -29,6 +29,8 @@ public:
                 long default_seed = 0);
     virtual ~RandomParam();
 
+    virtual ParamType paramType() { return RANDOM_PARAM; }
+
     virtual bool param_readSVGValue(const gchar * strvalue);
     virtual gchar * param_writeSVGValue() const;
     virtual void param_set_default();