Code

Cleaned up more of the gboolean to bool janitorial task...great!
[inkscape.git] / src / extension / parameter.h
index 54b5e554e3ee5a06316a6e894be05958ec123079..e1e27302c4e021ada5b1a4271dde5a673cf50fbe 100644 (file)
@@ -9,7 +9,7 @@
  * Authors:
  *   Ted Gould <ted@gould.cx>
  *
- * Copyright (C) 2005 Authors
+ * Copyright (C) 2005-2006 Authors
  *
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
 namespace Inkscape {
 namespace Extension {
 
+/** \brief  A class to represent the parameter of an extension
+
+    This is really a super class that allows them to abstract all
+    the different types of parameters into some that can be passed
+    around.  There is also a few functions that are used by all the
+    different parameters.
+*/
 class Parameter {
 private:
     /** \brief  Which extension is this parameter attached to? */
     Inkscape::Extension::Extension * extension;
     /** \brief  The name of this parameter. */
     gchar *       _name;
+
+protected:
     /** \brief  Description of the parameter. */
     gchar *       _desc;
     /** \brief  List of possible scopes. */
@@ -37,11 +46,15 @@ private:
     } _scope_t;
     /** \brief  Scope of the parameter. */
     _scope_t _scope;
-
-protected:
     /** \brief  Text for the GUI selection of this. */
     gchar *       _text;
-    gchar *       pref_name (void);
+
+
+    /* **** funcs **** */
+    gchar *               pref_name (void);
+    Inkscape::XML::Node * find_child (Inkscape::XML::Node * adult);
+    Inkscape::XML::Node * document_param_node (SPDocument * doc);
+    Inkscape::XML::Node * new_child (Inkscape::XML::Node * parent);
 
 public:
                   Parameter  (const gchar * name,
@@ -55,25 +68,26 @@ public:
                       Parameter(name, guitext, NULL, Parameter::SCOPE_USER, ext);
                   };
     virtual      ~Parameter  (void);
-    bool          get_bool   (const Inkscape::XML::Document * doc,
+    bool          get_bool   (const SPDocument * doc,
                               const Inkscape::XML::Node * node);
-    int           get_int    (const Inkscape::XML::Document * doc,
+    int           get_int    (const SPDocument * doc,
                               const Inkscape::XML::Node * node);
-    float         get_float  (const Inkscape::XML::Document * doc,
+    float         get_float  (const SPDocument * doc,
                               const Inkscape::XML::Node * node);
-    const gchar * get_string (const Inkscape::XML::Document * doc,
+    const gchar * get_string (const SPDocument * doc,
                               const Inkscape::XML::Node * node);
 
-    bool          set_bool   (bool in,          Inkscape::XML::Document * doc, Inkscape::XML::Node * node);
-    int           set_int    (int  in,          Inkscape::XML::Document * doc, Inkscape::XML::Node * node);
-    float         set_float  (float in,         Inkscape::XML::Document * doc, Inkscape::XML::Node * node);
-    const gchar * set_string (const gchar * in, Inkscape::XML::Document * doc, Inkscape::XML::Node * node);
+    bool          set_bool   (bool in,          SPDocument * doc, Inkscape::XML::Node * node);
+    int           set_int    (int  in,          SPDocument * doc, Inkscape::XML::Node * node);
+    float         set_float  (float in,         SPDocument * doc, Inkscape::XML::Node * node);
+    const gchar * set_string (const gchar * in, SPDocument * doc, Inkscape::XML::Node * node);
 
     const gchar * name       (void) {return _name;}
 
     static Parameter * make (Inkscape::XML::Node * in_repr, Inkscape::Extension::Extension * in_ext);
-    virtual Gtk::Widget * get_widget (void);
+    virtual Gtk::Widget * get_widget (SPDocument * doc, Inkscape::XML::Node * node);
     virtual Glib::ustring * string (void);
+    gchar const * get_tooltip (void) { return _desc; }
 };