Code

fix crash, allow combine to work transparently on groups
[inkscape.git] / src / extension / extension.h
index e4f2dc88ecf1256667654f3d9eb9fcf25c7676a1..0129f4d742584e2fcec9c23bf63f0db726425321 100644 (file)
@@ -44,6 +44,7 @@
 /** 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"
 /** 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:"
+
 namespace Inkscape {
 namespace Extension {
 
@@ -94,7 +100,7 @@ private:
     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 */
 
@@ -123,6 +129,23 @@ 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 {};