index d1a5039e3ed708a7cb8703279a7af2962e5497fe..ccffb2a67d78be6356540bf913328b11d05dcca2 100644 (file)
-/**
- * \brief Filter Effects dialog
- *
- * Authors:
+/** @file
+ * @brief Filter Effects dialog
+ */
+/* Authors:
* Nicholas Bishop <nicholasbishop@gmail.com>
* Nicholas Bishop <nicholasbishop@gmail.com>
+ * Rodrigo Kumpera <kumpera@gmail.com>
*
* Copyright (C) 2007 Authors
*
*
* Copyright (C) 2007 Authors
*
#ifndef INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H
#define INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H
#ifndef INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H
#define INKSCAPE_UI_DIALOG_FILTER_EFFECTS_H
+#include <memory>
+
#include <gtkmm/adjustment.h>
#include <gtkmm/alignment.h>
#include <gtkmm/box.h>
#include <gtkmm/adjustment.h>
#include <gtkmm/alignment.h>
#include <gtkmm/box.h>
#include <gtkmm/frame.h>
#include <gtkmm/liststore.h>
#include <gtkmm/menu.h>
#include <gtkmm/frame.h>
#include <gtkmm/liststore.h>
#include <gtkmm/menu.h>
+#include <gtkmm/notebook.h>
#include <gtkmm/sizegroup.h>
#include <gtkmm/treeview.h>
#include "attributes.h"
#include <gtkmm/sizegroup.h>
#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"
#include "sp-filter.h"
#include "ui/widget/combo-enums.h"
#include "ui/widget/spin-slider.h"
class DualSpinButton;
class MultiSpinButton;
class DualSpinButton;
class MultiSpinButton;
-class FilterEffectsDialog : public Dialog {
+class FilterEffectsDialog : public UI::Widget::Panel {
public:
public:
- FilterEffectsDialog(Behavior::BehaviorFactory behavior_factory);
+ FilterEffectsDialog();
~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);
void set_attrs_locked(const bool);
+protected:
+ virtual void show_all_vfunc();
private:
class SignalObserver;
private:
class SignalObserver;
};
static void on_activate_desktop(Application*, SPDesktop*, FilterModifier*);
};
static void on_activate_desktop(Application*, SPDesktop*, FilterModifier*);
+ static void on_deactivate_desktop(Application*, SPDesktop*, FilterModifier*);
void on_document_replaced(SPDesktop*, SPDocument*)
{
update_filters();
void on_document_replaced(SPDesktop*, SPDocument*)
{
update_filters();
SPFilterPrimitive* get_selected();
void select(SPFilterPrimitive *prim);
SPFilterPrimitive* get_selected();
void select(SPFilterPrimitive *prim);
+ void remove_selected();
int primitive_count() const;
protected:
int primitive_count() const;
protected:
std::auto_ptr<SignalObserver> _observer;
};
std::auto_ptr<SignalObserver> _observer;
};
- FilterEffectsDialog();
void init_settings_widgets();
// Handlers
void init_settings_widgets();
// Handlers
void set_attr_direct(const AttrWidget*);
void set_child_attr_direct(const AttrWidget*);
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 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_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;
// View/add primitives
Gtk::VBox _primitive_box;
- PrimitiveList _primitive_list;
UI::Widget::ComboBoxEnum<NR::FilterPrimitiveType> _add_primitive_type;
Gtk::Button _add_primitive;
// Bottom pane (filter effect primitive settings)
UI::Widget::ComboBoxEnum<NR::FilterPrimitiveType> _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 _empty_settings;
+ Gtk::Label _no_filter_selected;
+ bool _settings_initialized;
class Settings;
class MatrixAttr;
class ColorMatrixValues;
class LightSourceControl;
Settings* _settings;
class Settings;
class MatrixAttr;
class ColorMatrixValues;
class LightSourceControl;
Settings* _settings;
+ Settings* _filter_general_settings;
Glib::RefPtr<Gtk::SizeGroup> _sizegroup;
// Color Matrix
Glib::RefPtr<Gtk::SizeGroup> _sizegroup;
// Color Matrix
bool _locked;
bool _attr_lock;
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);
};
FilterEffectsDialog(FilterEffectsDialog const &d);
FilterEffectsDialog& operator=(FilterEffectsDialog const &d);
};