index f6010b1ea856f297fefb2986af94b5246c0758fd..48ca86cf780871c77fdaef8206aabecb21206ff0 100644 (file)
/** Defines the key for Postscript printing */
#define SP_MODULE_KEY_PRINT_PS "org.inkscape.print.ps"
+#define SP_MODULE_KEY_PRINT_CAIRO_PS "org.inkscape.print.ps.cairo"
+#define SP_MODULE_KEY_PRINT_CAIRO_EPS "org.inkscape.print.eps.cairo"
+/** 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 */
/** Defines the default printing to use */
#define SP_MODULE_KEY_PRINT_DEFAULT SP_MODULE_KEY_PRINT_WIN32
#else
-#ifdef WITH_GNOME_PRINT
-/** Defines the default printing to use */
-#define SP_MODULE_KEY_PRINT_DEFAULT SP_MODULE_KEY_PRINT_GNOME
-#else
/** Defines the default printing to use */
#define SP_MODULE_KEY_PRINT_DEFAULT SP_MODULE_KEY_PRINT_PS
#endif
-#endif
/** Mime type for SVG */
#define MIME_SVG "image/svg+xml"
/** Name of the extension error file */
#define EXTENSION_ERROR_LOG_FILENAME "extension-errors.log"
+
+#define INKSCAPE_EXTENSION_URI "http://www.inkscape.org/namespace/inkscape/extension"
+#define INKSCAPE_EXTENSION_NS_NC "extension"
+#define INKSCAPE_EXTENSION_NS "extension:"
+
+struct SPDocument;
+
namespace Inkscape {
namespace Extension {
static std::ofstream error_file; /**< This is the place where errors get reported */
protected:
- Inkscape::XML::Node *repr; /**< The XML description of the Extension */
+ Inkscape::XML::Node *repr; /**< The XML description of the Extension */
Implementation::Implementation * imp; /**< An object that holds all the functions for making this work */
ExpirationTimer * timer; /**< Timeout to unload after a given time */
void deactivate (void);
bool deactivated (void);
void printFailure (Glib::ustring reason);
-
+ Implementation::Implementation * get_imp (void) { return imp; };
/* Parameter Stuff */
private:
This only gets created if there are parameters in this
extension */
+public:
+ /** \brief A function to get the the number of parameters that
+ the extension has.
+ \return The number of parameters. */
+ unsigned int param_count ( ) { return parameters == NULL ? 0 :
+ g_slist_length(parameters); };
+ /** \brief A function to get the the number of parameters that
+ are visible to the user that the extension has.
+ \return The number of visible parameters.
+
+ \note Currently this just calls param_count as visible isn't implemented
+ but in the future it'll do something different. Please call
+ the appropriate function in code so that it'll work in the
+ future.
+ */
+ unsigned int param_visible_count ( );
+
public:
/** An error class for when a parameter is called on a type it is not */
class param_wrong_type {};
+ class param_not_color_param {};
+ class param_not_enum_param {};
+ class param_not_string_param {};
+ class param_not_float_param {};
+ class param_not_int_param {};
+ class param_not_bool_param {};
/** An error class for when a parameter is looked for that just
* simply doesn't exist */
#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);
+ guint32 get_param_color (const gchar * name,
+ const SPDocument * doc = NULL,
+ const Inkscape::XML::Node * node = NULL);
+ const gchar * get_param_enum (const gchar * name,
+ 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);
+ guint32 set_param_color (const gchar * name,
+ guint32 color,
+ SPDocument * doc = NULL,
Inkscape::XML::Node * node = NULL);
/* Error file handling */
static void error_file_close (void);
public:
- Gtk::Widget * autogui (void);
- Glib::ustring * paramString (void);
+ Gtk::Widget * autogui (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal = NULL);
+ void paramListString (std::list <std::string> & retlist);
/* Extension editor dialog stuff */
public: