1 /**
2 * \brief LivePathEffect dialog
3 *
4 * Author:
5 * Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
6 *
7 * Copyright (C) 2007 Author
8 *
9 * Released under GNU GPL. Read the file 'COPYING' for more information.
10 */
12 #ifndef INKSCAPE_UI_DIALOG_LIVE_PATH_EFFECT_H
13 #define INKSCAPE_UI_DIALOG_LIVE_PATH_EFFECT_H
15 #include "dialog.h"
16 #include "ui/widget/button.h"
18 #include <gtkmm/label.h>
19 #include <gtkmm/comboboxtext.h>
20 #include <gtkmm/frame.h>
21 #include "ui/widget/combo-enums.h"
22 #include "live_effects/effect.h"
24 class SPDesktop;
26 namespace Inkscape {
28 namespace UI {
29 namespace Dialog {
31 class LivePathEffectEditor : public Dialog {
32 public:
33 LivePathEffectEditor(Behavior::BehaviorFactory behavior_factory);
34 virtual ~LivePathEffectEditor();
36 static LivePathEffectEditor *create(Behavior::BehaviorFactory behavior_factory)
37 { return new LivePathEffectEditor(behavior_factory); }
39 void onSelectionChanged(Inkscape::Selection *sel);
40 void setDesktop(SPDesktop *desktop);
42 private:
43 sigc::connection selection_changed_connection;
44 sigc::connection selection_modified_connection;
46 void set_sensitize_all(bool sensitive);
48 void showParams(LivePathEffect::Effect* effect);
49 void showText(Glib::ustring const &str);
51 // callback methods for buttons on grids page.
52 void onApply();
53 void onRemove();
55 Inkscape::UI::Widget::ComboBoxEnum<LivePathEffect::EffectType> combo_effecttype;
56 Inkscape::UI::Widget::Button button_apply;
57 Inkscape::UI::Widget::Button button_remove;
58 Gtk::Widget * effectwidget;
59 Gtk::Label explain_label;
60 Gtk::Frame effectapplication_frame;
61 Gtk::Frame effectcontrol_frame;
62 Gtk::HBox effectapplication_hbox;
63 Gtk::VBox effectcontrol_vbox;
65 SPDesktop * current_desktop;
67 LivePathEffectEditor(LivePathEffectEditor const &d);
68 LivePathEffectEditor& operator=(LivePathEffectEditor const &d);
69 };
71 } // namespace Dialog
72 } // namespace UI
73 } // namespace Inkscape
75 #endif // INKSCAPE_UI_DIALOG_LIVE_PATH_EFFECT_H
77 /*
78 Local Variables:
79 mode:c++
80 c-file-style:"stroustrup"
81 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
82 indent-tabs-mode:nil
83 fill-column:99
84 End:
85 */
86 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :