Code

Added a Rename menu item to the popup for the filter list in the filter effects dialo...
[inkscape.git] / src / ui / dialog / extension-editor.cpp
index 49f8c92dcbc401f4fde2cab449fedac1ddc76126..3a62cb14481b317edda67427a18685b570c273f0 100644 (file)
@@ -42,8 +42,8 @@ namespace Dialog {
     about the selected extension.  A handler is set up so that when
     a new extension is selected, the notebooks are changed appropriately.
 */
-ExtensionEditor::ExtensionEditor()
-    : Dialog ("dialogs.extensioneditor", SP_VERB_DIALOG_EXTENSIONEDITOR)
+ExtensionEditor::ExtensionEditor(Behavior::BehaviorFactory behavior_factory)
+    : Dialog (behavior_factory, "dialogs.extensioneditor", SP_VERB_DIALOG_EXTENSIONEDITOR)
 {
     _notebook_info.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     _notebook_help.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
@@ -151,40 +151,14 @@ ExtensionEditor::on_pagelist_selection_changed (void)
         Inkscape::Extension::Extension * ext = Inkscape::Extension::db.get(id.c_str());
 
         /* Make sure we have all the widges */
-        Gtk::Widget * info;
-        info = row[_page_list_columns._col_info];
-        if (info == NULL) {
-            if (ext != NULL) {
-                info = ext->get_info_widget();
-                row[_page_list_columns._col_info] = info;
-                info->reference();
-            }
-        } else {
-            info->unparent();
-        }
-
-        Gtk::Widget * help;
-        help = row[_page_list_columns._col_help];
-        if (help == NULL) {
-            if (ext != NULL) {
-                help = ext->get_help_widget();
-                row[_page_list_columns._col_help] = help;
-                help->reference();
-            }
-        } else {
-            help->unparent();
-        }
-
-        Gtk::Widget * params;
-        params = row[_page_list_columns._col_params];
-        if (params == NULL) {
-            if (ext != NULL) {
-                params = ext->get_params_widget();
-                row[_page_list_columns._col_params] = params;
-                params->reference();
-            }
-        } else {
-            params->unparent();
+        Gtk::Widget * info = NULL;
+        Gtk::Widget * help = NULL;
+        Gtk::Widget * params = NULL;
+
+        if (ext != NULL) {
+            info = ext->get_info_widget();
+            help = ext->get_help_widget();
+            params = ext->get_params_widget();
         }
 
         /* Place them in the pages */
@@ -217,7 +191,7 @@ ExtensionEditor::on_pagelist_selection_changed (void)
 void
 ExtensionEditor::dbfunc (Inkscape::Extension::Extension * in_plug, gpointer in_data)
 {
-    ExtensionEditor * ee = reinterpret_cast<ExtensionEditor *>(in_data);
+    ExtensionEditor * ee = static_cast<ExtensionEditor *>(in_data);
     ee->add_extension(in_plug);
     return;
 }
@@ -239,9 +213,6 @@ ExtensionEditor::add_extension (Inkscape::Extension::Extension * ext)
     Gtk::TreeModel::Row row = *iter;
     row[_page_list_columns._col_name] = ext->get_name();
     row[_page_list_columns._col_id] =   ext->get_id();
-    row[_page_list_columns._col_info] = NULL;
-    row[_page_list_columns._col_help] = NULL;
-    row[_page_list_columns._col_params] = NULL;
 
     return iter;
 }