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