X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Fdialog%2Ffilter-effects-dialog.h;h=3fb9a46fb89568d19c140269cd5ae6a3a8b0f2c8;hb=604bbc96a26ec5381cc865aa1458b115e41201ce;hp=49343c0ce78504804b72c84e9e602299d843de9a;hpb=aadf03ecf79b1860e1b3032a936d8a2c658f47b3;p=inkscape.git diff --git a/src/ui/dialog/filter-effects-dialog.h b/src/ui/dialog/filter-effects-dialog.h index 49343c0ce..3fb9a46fb 100644 --- a/src/ui/dialog/filter-effects-dialog.h +++ b/src/ui/dialog/filter-effects-dialog.h @@ -1,8 +1,9 @@ -/** - * \brief Filter Effects dialog - * - * Authors: +/** @file + * @brief Filter Effects dialog + */ +/* Authors: * Nicholas Bishop + * Rodrigo Kumpera * * Copyright (C) 2007 Authors * @@ -12,6 +13,8 @@ #ifndef INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H #define INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H +#include + #include #include #include @@ -21,6 +24,7 @@ #include #include #include +#include #include #include @@ -29,6 +33,7 @@ #include "sp-filter.h" #include "ui/widget/combo-enums.h" #include "ui/widget/spin-slider.h" +#include "xml/helper-observer.h" using namespace Inkscape::UI::Widget; @@ -51,7 +56,6 @@ public: protected: virtual void show_all_vfunc(); private: - class SignalObserver; class FilterModifier : public Gtk::VBox { @@ -83,6 +87,7 @@ private: }; static void on_activate_desktop(Application*, SPDesktop*, FilterModifier*); + static void on_deactivate_desktop(Application*, SPDesktop*, FilterModifier*); void on_document_replaced(SPDesktop*, SPDocument*) { update_filters(); @@ -114,7 +119,7 @@ private: Gtk::Button _add; Glib::RefPtr _menu; sigc::signal _signal_filter_changed; - std::auto_ptr _observer; + std::auto_ptr _observer; }; class PrimitiveColumns : public Gtk::TreeModel::ColumnRecord @@ -129,7 +134,7 @@ private: } Gtk::TreeModelColumn primitive; - Gtk::TreeModelColumn type_id; + Gtk::TreeModelColumn type_id; Gtk::TreeModelColumn type; Gtk::TreeModelColumn id; }; @@ -165,6 +170,7 @@ private: SPFilterPrimitive* get_selected(); void select(SPFilterPrimitive *prim); + void remove_selected(); int primitive_count() const; protected: @@ -197,7 +203,7 @@ private: sigc::signal _signal_primitive_changed; sigc::connection _scroll_connection; int _autoscroll; - std::auto_ptr _observer; + std::auto_ptr _observer; }; void init_settings_widgets(); @@ -210,29 +216,37 @@ private: void set_attr_direct(const AttrWidget*); void set_child_attr_direct(const AttrWidget*); + void set_filternode_attr(const AttrWidget*); void set_attr(SPObject*, const SPAttributeEnum, const gchar* val); void update_settings_view(); + void update_filter_general_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; - UI::Widget::ComboBoxEnum _add_primitive_type; + UI::Widget::ComboBoxEnum _add_primitive_type; Gtk::Button _add_primitive; // Bottom pane (filter effect primitive settings) - Gtk::VBox _settings_box; + Gtk::Notebook _settings_tabs; + Gtk::VBox _settings_tab2; + Gtk::VBox _settings_tab1; Gtk::Label _empty_settings; + Gtk::Label _no_filter_selected; + bool _settings_initialized; class Settings; class MatrixAttr; class ColorMatrixValues; class LightSourceControl; Settings* _settings; + Settings* _filter_general_settings; Glib::RefPtr _sizegroup; // Color Matrix @@ -251,6 +265,11 @@ private: bool _locked; bool _attr_lock; + // These go last since they depend on the prior initialization of + // other FilterEffectsDialog members + FilterModifier _filter_modifier; + PrimitiveList _primitive_list; + FilterEffectsDialog(FilterEffectsDialog const &d); FilterEffectsDialog& operator=(FilterEffectsDialog const &d); };