X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fextension%2Feffect.h;h=493af142b653e398a9ad66ac83f18510540c603b;hb=0db00141789c665df05ebebe0cf5afa8cb5df60e;hp=59953c7ad21b31b679ade70a9b3866854dc5e198;hpb=4ea9891b16d1689c1bfb5031a2f64d3463599152;p=inkscape.git diff --git a/src/extension/effect.h b/src/extension/effect.h index 59953c7ad..493af142b 100644 --- a/src/extension/effect.h +++ b/src/extension/effect.h @@ -30,17 +30,31 @@ typedef View View; 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 { + /** \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; + /** \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); 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); + /** \brief Function to call for specific actions */ static SPActionEventVector vector; + /** \brief The effect that this verb represents. */ Effect * _effect; protected: virtual SPAction * make_action (Inkscape::UI::View::View * view); @@ -56,7 +70,10 @@ class Effect : public Extension { this->set_default_sensitive(true); } }; + + /** \brief The verb representing this effect. */ EffectVerb _verb; + /** \brief Menu node created for this effect */ Inkscape::XML::Node * _menu_node; public: Effect (Inkscape::XML::Node * in_repr, @@ -65,14 +82,18 @@ public: 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; }; + /** \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); + Gtk::VBox * get_info_widget(void); + private: static gchar * remove_ (gchar * instr); };