From c8c1601a56503ed517dcc965040e00ca6139d75b Mon Sep 17 00:00:00 2001 From: gouldtj Date: Tue, 2 May 2006 05:25:04 +0000 Subject: [PATCH] r11450@tres: ted | 2006-04-17 22:08:15 -0700 Adding the _scope and _desc variables for the base parameters. Currently they're just initialized to NULL and USER, but now they can start to be used for more. --- src/extension/parameter.cpp | 38 ++++++++++--------------------------- src/extension/parameter.h | 23 ++++++++++++++++++++-- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/extension/parameter.cpp b/src/extension/parameter.cpp index 7e5d46739..ef0154d88 100644 --- a/src/extension/parameter.cpp +++ b/src/extension/parameter.cpp @@ -34,31 +34,6 @@ namespace Inkscape { namespace Extension { -/* -template class ParamSpecific : public Parameter { -private: - T _value; -public: - ParamSpecific (const gchar * name, const gchar * guitext, Inkscape::Extension * ext, Inkscape::XML::Node * xml); - T get (const Inkscape::XML::Document * doc, const Inkscape::XML::Node * node); - T set (T in, Inkscape::XML::Document * doc, Inkscape::XML::Node * node); - Gtk::Widget * get_widget(void); - Glib::ustring * string (void); -}; - -bool -ParamSpecific::get (const Inkscape::XML::Document * doc, const Inkscape::XML::Node * node) -{ - return _value; -} - -int -ParamSpecific::get (const Inkscape::XML::Document * doc, const Inkscape::XML::Node * node) -{ - return _value; -} -*/ - /** \brief A boolean parameter */ class ParamBool : public Parameter { private: @@ -484,14 +459,21 @@ ParamString::~ParamString(void) } /** \brief Oop, now that we need a parameter, we need it's name. */ -Parameter::Parameter (const gchar * name, const gchar * guitext, Inkscape::Extension::Extension * ext) : - extension(ext), _name(NULL), _text(NULL) +Parameter::Parameter (const gchar * name, const gchar * guitext, const gchar * desc, const Parameter::_scope_t scope, Inkscape::Extension::Extension * ext) : + extension(ext), _name(NULL), _desc(NULL), _scope(scope), _text(NULL) { - _name = g_strdup(name); + if (name != NULL) + _name = g_strdup(name); + if (desc != NULL) + _desc = g_strdup(desc); + + if (guitext != NULL) _text = g_strdup(guitext); else _text = g_strdup(name); + + return; } /** \brief Just free the allocated name. */ diff --git a/src/extension/parameter.h b/src/extension/parameter.h index d527421ed..54b5e554e 100644 --- a/src/extension/parameter.h +++ b/src/extension/parameter.h @@ -27,6 +27,16 @@ private: Inkscape::Extension::Extension * extension; /** \brief The name of this parameter. */ gchar * _name; + /** \brief Description of the parameter. */ + gchar * _desc; + /** \brief List of possible scopes. */ + typedef enum { + SCOPE_USER, /**< Parameter value is saved in the user's configuration file. (default) */ + SCOPE_DOCUMENT, /**< Parameter value is saved in the document. */ + SCOPE_NODE /**< Parameter value is attached to the node. */ + } _scope_t; + /** \brief Scope of the parameter. */ + _scope_t _scope; protected: /** \brief Text for the GUI selection of this. */ @@ -34,8 +44,17 @@ protected: gchar * pref_name (void); public: - Parameter (const gchar * name, const gchar * guitext, Inkscape::Extension::Extension * ext); - virtual ~Parameter(void); + Parameter (const gchar * name, + const gchar * guitext, + const gchar * desc, + const Parameter::_scope_t scope, + Inkscape::Extension::Extension * ext); + Parameter (const gchar * name, + const gchar * guitext, + Inkscape::Extension::Extension * ext) { + Parameter(name, guitext, NULL, Parameter::SCOPE_USER, ext); + }; + virtual ~Parameter (void); bool get_bool (const Inkscape::XML::Document * doc, const Inkscape::XML::Node * node); int get_int (const Inkscape::XML::Document * doc, -- 2.39.5