X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fextension%2Fextension.h;h=81629a2dcaa53b386c0579479c55907c9ef91536;hb=300868e9fd6365e6815d376def3229cb5d1155d0;hp=a0c991cf25cceeffb57ce0e21fe3f5d8443196f4;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/src/extension/extension.h b/src/extension/extension.h index a0c991cf2..81629a2dc 100644 --- a/src/extension/extension.h +++ b/src/extension/extension.h @@ -18,8 +18,11 @@ #include #include #include +#include +#include #include #include "xml/repr.h" +#include "document.h" #include "extension/extension-forward.h" /** The key that is used to identify that the I/O should be autodetected */ @@ -40,6 +43,9 @@ /** Defines the key for Postscript printing */ #define SP_MODULE_KEY_PRINT_PS "org.inkscape.print.ps" +/** Defines the key for PDF printing */ +#define SP_MODULE_KEY_PRINT_PDF "org.inkscape.print.pdf" +#define SP_MODULE_KEY_PRINT_CAIRO_PDF "org.inkscape.print.pdf.cairo" /** Defines the key for LaTeX printing */ #define SP_MODULE_KEY_PRINT_LATEX "org.inkscape.print.latex" /** Defines the key for printing with GNOME Print */ @@ -86,6 +92,7 @@ public: private: gchar *id; /**< The unique identifier for the Extension */ gchar *name; /**< A user friendly name for the Extension */ + gchar *_help; /**< A string that contains a help text for the user */ state_t _state; /**< Which state the Extension is currently in */ std::vector _deps; /**< Dependencies for this extension */ static std::ofstream error_file; /**< This is the place where errors get reported */ @@ -107,6 +114,8 @@ public: Inkscape::XML::Node * get_repr (void); gchar * get_id (void); gchar * get_name (void); + /** \brief Gets the help string for this extension */ + gchar const * get_help (void) { return _help; } void deactivate (void); bool deactivated (void); void printFailure (Glib::ustring reason); @@ -138,25 +147,33 @@ private: #endif public: bool get_param_bool (const gchar * name, - const Inkscape::XML::Document * doc = NULL); + const SPDocument * doc = NULL, + const Inkscape::XML::Node * node = NULL); int get_param_int (const gchar * name, - const Inkscape::XML::Document * doc = NULL); + const SPDocument * doc = NULL, + const Inkscape::XML::Node * node = NULL); float get_param_float (const gchar * name, - const Inkscape::XML::Document * doc = NULL); + const SPDocument * doc = NULL, + const Inkscape::XML::Node * node = NULL); const gchar * get_param_string (const gchar * name, - const Inkscape::XML::Document * doc = NULL); + const SPDocument * doc = NULL, + const Inkscape::XML::Node * node = NULL); bool set_param_bool (const gchar * name, bool value, - Inkscape::XML::Document * doc = NULL); + SPDocument * doc = NULL, + Inkscape::XML::Node * node = NULL); int set_param_int (const gchar * name, int value, - Inkscape::XML::Document * doc = NULL); + SPDocument * doc = NULL, + Inkscape::XML::Node * node = NULL); float set_param_float (const gchar * name, float value, - Inkscape::XML::Document * doc = NULL); + SPDocument * doc = NULL, + Inkscape::XML::Node * node = NULL); const gchar * set_param_string (const gchar * name, const gchar * value, - Inkscape::XML::Document * doc = NULL); + SPDocument * doc = NULL, + Inkscape::XML::Node * node = NULL); /* Error file handling */ public: @@ -164,8 +181,17 @@ public: static void error_file_close (void); public: - Gtk::Widget * autogui (void); + Gtk::Widget * autogui (SPDocument * doc, Inkscape::XML::Node * node); Glib::ustring * paramString (void); + + /* Extension editor dialog stuff */ +public: + Gtk::VBox * get_info_widget(void); + Gtk::VBox * get_help_widget(void); + Gtk::VBox * get_params_widget(void); +protected: + inline static void add_val(Glib::ustring labelstr, Glib::ustring valuestr, Gtk::Table * table, int * row); + };