Code

Fixing hash sort for null
[inkscape.git] / src / extension / extension.h
index 62d455fcf9968fd94ad0b6ab76a387ddb87256b5..1e3d8ead0dc846a82b1a0133e1139dd1fa2e60e4 100644 (file)
 #include <fstream>
 #include <vector>
 #include <gtkmm/widget.h>
+#include <gtkmm/box.h>
+#include <gtkmm/table.h>
 #include <glibmm/ustring.h>
 #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 */
@@ -141,25 +144,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:
@@ -167,14 +178,16 @@ 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::Widget *    get_info_widget(void);
-    Gtk::Widget *    get_help_widget(void);
-    Gtk::Widget *    get_params_widget(void);
+    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);
 
 };