diff --git a/src/extension/effect.h b/src/extension/effect.h
index fee2e5f8e14ffcc684841ca4bc29d481847acb5a..493af142b653e398a9ad66ac83f18510540c603b 100644 (file)
--- a/src/extension/effect.h
+++ b/src/extension/effect.h
namespace Extension {
namespace Extension {
+/** \brief Effects are extensions that take a document and do something
+ to it in place. This class adds the extra functions required
+ to make extensions effects.
+*/
class Effect : public Extension {
class Effect : public Extension {
+ /** \brief This is the last effect that was used. This is used in
+ a menu item to rapidly recall the same effect. */
static Effect * _last_effect;
static Effect * _last_effect;
+ /** \brief The location of the effects menu on the menu structure
+ XML file. This is saved so it only has to be discovered
+ once. */
static Inkscape::XML::Node * _effects_list;
bool find_effects_list (Inkscape::XML::Node * menustruct);
static Inkscape::XML::Node * _effects_list;
bool find_effects_list (Inkscape::XML::Node * menustruct);
- void merge_menu (Inkscape::XML::Node * base, Inkscape::XML::Node * patern, Inkscape::XML::Node * mergee);
+ void merge_menu (Inkscape::XML::Node * base, Inkscape::XML::Node * start, Inkscape::XML::Node * patern, Inkscape::XML::Node * mergee);
+ /** \brief This is the verb type that is used for all effect's verbs.
+ It provides convience functions and maintains a pointer
+ back to the effect that created it. */
class EffectVerb : public Inkscape::Verb {
private:
static void perform (SPAction * action, void * mydata, void * otherdata);
class EffectVerb : public Inkscape::Verb {
private:
static void perform (SPAction * action, void * mydata, void * otherdata);
+ /** \brief Function to call for specific actions */
static SPActionEventVector vector;
static SPActionEventVector vector;
+ /** \brief The effect that this verb represents. */
Effect * _effect;
protected:
virtual SPAction * make_action (Inkscape::UI::View::View * view);
Effect * _effect;
protected:
virtual SPAction * make_action (Inkscape::UI::View::View * view);
this->set_default_sensitive(true);
}
};
this->set_default_sensitive(true);
}
};
+
+ /** \brief The verb representing this effect. */
EffectVerb _verb;
EffectVerb _verb;
+ /** \brief Menu node created for this effect */
Inkscape::XML::Node * _menu_node;
public:
Effect (Inkscape::XML::Node * in_repr,
Inkscape::XML::Node * _menu_node;
public:
Effect (Inkscape::XML::Node * in_repr,
virtual bool check (void);
bool prefs (Inkscape::UI::View::View * doc);
void effect (Inkscape::UI::View::View * doc);
virtual bool check (void);
bool prefs (Inkscape::UI::View::View * doc);
void effect (Inkscape::UI::View::View * doc);
+ /** \brief Accessor function for a pointer to the verb */
Inkscape::Verb * get_verb (void) { return &_verb; };
Inkscape::Verb * get_verb (void) { return &_verb; };
+ /** \brief Static function to get the last effect used */
static Effect * get_last_effect (void) { return _last_effect; };
static void set_last_effect (Effect * in_effect);
static void place_menus (void);
void place_menu (Inkscape::XML::Node * menus);
static Effect * get_last_effect (void) { return _last_effect; };
static void set_last_effect (Effect * in_effect);
static void place_menus (void);
void place_menu (Inkscape::XML::Node * menus);
+ Gtk::VBox * get_info_widget(void);
+
private:
static gchar * remove_ (gchar * instr);
};
private:
static gchar * remove_ (gchar * instr);
};