Code

Filter effects:
[inkscape.git] / src / ui / widget / filter-effect-chooser.h
index 182ce45ef6b307f4ac4bd6611ba4920eceb9f9d6..673118ac3e24349862e6513e068ece9c5e8096d9 100644 (file)
@@ -17,7 +17,8 @@
 #include <gtkmm/liststore.h>
 #include <gtkmm/treeview.h>
 
-#include "filter-effect-enums.h"
+#include "combo-enums.h"
+#include "filter-enums.h"
 #include "labelled.h"
 #include "spin-slider.h"
 #include "sp-filter.h"
@@ -29,11 +30,8 @@ namespace Widget {
 class FilterEffectChooser
 {
 public:
-    virtual ~FilterEffectChooser() {}
+    virtual ~FilterEffectChooser();
 
-    virtual Glib::SignalProxy0<void> signal_selection_changed() = 0;
-    virtual SPFilter* get_selected_filter() = 0;
-    virtual void select_filter(const SPFilter*) = 0;
 protected:
     FilterEffectChooser();
 
@@ -43,11 +41,13 @@ protected:
         Columns()
         {
             add(filter);
-            add(id);
+            add(label);
+            add(sel);
         }
 
         Gtk::TreeModelColumn<SPFilter*> filter;
-        Gtk::TreeModelColumn<Glib::ustring> id;
+        Gtk::TreeModelColumn<Glib::ustring> label;
+        Gtk::TreeModelColumn<int> sel;
     };
 
     virtual void update_filters();
@@ -66,15 +66,11 @@ private:
 
 /* Allows basic control over feBlend and feGaussianBlur effects,
    with an option to use the full filter effect controls. */
-class SimpleFilterModifier : public Gtk::VBox, public FilterEffectChooser
+class SimpleFilterModifier : public Gtk::VBox
 {
 public:
     SimpleFilterModifier();
 
-    virtual Glib::SignalProxy0<void> signal_selection_changed();
-    virtual SPFilter* get_selected_filter();
-    virtual void select_filter(const SPFilter*);
-
     sigc::signal<void>& signal_blend_blur_changed();
 
     const Glib::ustring get_blend_mode();
@@ -84,20 +80,12 @@ public:
     double get_blur_value() const;
     void set_blur_value(const double);
     void set_blur_sensitive(const bool);
-protected:
-    virtual void update_filters();
 private:
-    void show_filter_dialog();
-    void blend_mode_changed();
-
     Gtk::HBox _hb_blend;
     Gtk::VBox _vb_blur;
-    Gtk::HBox _hb_filter, _hb_filter_sub;
-    Gtk::Label _lb_blend, _lb_blur, _lb_filter;
+    Gtk::Label _lb_blend, _lb_blur;
     ComboBoxEnum<NR::FilterBlendMode> _blend;
     SpinSlider _blur;
-    Gtk::ComboBox _filter;
-    Gtk::Button _edit_filters;
 
     sigc::signal<void> _signal_blend_blur_changed;
 };