Code

Ctrl+click in pen/pencil tool: Created dots are now selected; Alt is used for randomn...
[inkscape.git] / src / ui / dialog / filter-effects-dialog.h
index d1a5039e3ed708a7cb8703279a7af2962e5497fe..3d105dfd094bb915bb66d60af7a3f67fe01dc831 100644 (file)
@@ -25,7 +25,7 @@
 #include <gtkmm/treeview.h>
 
 #include "attributes.h"
-#include "dialog.h"
+#include "ui/widget/panel.h"
 #include "sp-filter.h"
 #include "ui/widget/combo-enums.h"
 #include "ui/widget/spin-slider.h"
@@ -38,16 +38,18 @@ namespace Dialog {
 
 class DualSpinButton;
 class MultiSpinButton;
-class FilterEffectsDialog : public Dialog {
+class FilterEffectsDialog : public UI::Widget::Panel {
 public:
 
-    FilterEffectsDialog(Behavior::BehaviorFactory behavior_factory);
+    FilterEffectsDialog();
     ~FilterEffectsDialog();
 
-    static FilterEffectsDialog *create(Behavior::BehaviorFactory behavior_factory)
-    { return new FilterEffectsDialog(behavior_factory); }
+    static FilterEffectsDialog &getInstance()
+    { return *new FilterEffectsDialog(); }
 
     void set_attrs_locked(const bool);
+protected:
+    virtual void show_all_vfunc();
 private:
     class SignalObserver;
 
@@ -163,6 +165,7 @@ private:
 
         SPFilterPrimitive* get_selected();
         void select(SPFilterPrimitive *prim);
+        void remove_selected();
 
         int primitive_count() const;
     protected:
@@ -198,7 +201,6 @@ private:
         std::auto_ptr<SignalObserver> _observer;
     };
 
-    FilterEffectsDialog();
     void init_settings_widgets();
 
     // Handlers
@@ -213,10 +215,15 @@ private:
     void update_settings_view();
     void update_settings_sensitivity();
     void update_color_matrix();
+    void update_primitive_infobox();
 
     // Filter effect selection
     FilterModifier _filter_modifier;
 
+    // Primitives Info Box  
+    Gtk::Label _infobox_desc;
+    Gtk::Image _infobox_icon;
+
     // View/add primitives
     Gtk::VBox _primitive_box;
     PrimitiveList _primitive_list;