2
* @brief Live Path Effect editing dialog
5
* Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
7
* Copyright (C) 2007 Author
8
* Released under GNU GPL. Read the file 'COPYING' for more information.
11
#ifndef INKSCAPE_UI_DIALOG_LIVE_PATH_EFFECT_H
12
#define INKSCAPE_UI_DIALOG_LIVE_PATH_EFFECT_H
14
#include "ui/widget/panel.h"
15
#include "ui/widget/button.h"
17
#include <gtkmm/label.h>
18
#include <gtkmm/comboboxtext.h>
19
#include <gtkmm/frame.h>
20
#include <gtkmm/tooltips.h>
21
#include "ui/widget/combo-enums.h"
22
#include "live_effects/effect-enum.h"
23
#include <gtkmm/liststore.h>
24
#include <gtkmm/treeview.h>
25
#include <gtkmm/scrolledwindow.h>
26
#include <gtkmm/buttonbox.h>
27
#include <gtkmm/toolbar.h>
35
namespace LivePathEffect {
37
class LPEObjectReference;
43
class LivePathEffectEditor : public UI::Widget::Panel {
45
LivePathEffectEditor();
46
virtual ~LivePathEffectEditor();
48
static LivePathEffectEditor &getInstance() { return *new LivePathEffectEditor(); }
50
void onSelectionChanged(Inkscape::Selection *sel);
51
virtual void on_effect_selection_changed();
52
void setDesktop(SPDesktop *desktop);
55
sigc::connection selection_changed_connection;
56
sigc::connection selection_modified_connection;
58
void set_sensitize_all(bool sensitive);
60
void showParams(LivePathEffect::Effect& effect);
61
void showText(Glib::ustring const &str);
62
void selectInList(LivePathEffect::Effect* effect);
64
// void add_entry(const char* name );
65
void effect_list_reload(SPLPEItem *lpeitem);
67
// callback methods for buttons on grids page.
74
class ModelColumns : public Gtk::TreeModel::ColumnRecord
83
virtual ~ModelColumns() {}
85
Gtk::TreeModelColumn<Glib::ustring> col_name;
86
Gtk::TreeModelColumn<LivePathEffect::LPEObjectReference *> lperef;
87
Gtk::TreeModelColumn<bool> col_visible;
92
Inkscape::UI::Widget::ComboBoxEnum<LivePathEffect::EffectType> combo_effecttype;
94
Gtk::Widget * effectwidget;
95
Gtk::Label explain_label;
96
Gtk::Frame effectapplication_frame;
97
Gtk::Frame effectcontrol_frame;
98
Gtk::Frame effectlist_frame;
99
Gtk::HBox effectapplication_hbox;
100
Gtk::VBox effectcontrol_vbox;
101
Gtk::VBox effectlist_vbox;
102
Gtk::Tooltips tooltips;
103
ModelColumns columns;
104
Gtk::ScrolledWindow scrolled_window;
105
Gtk::TreeView effectlist_view;
106
Glib::RefPtr<Gtk::ListStore> effectlist_store;
107
Glib::RefPtr<Gtk::TreeSelection> effectlist_selection;
109
void on_visibility_toggled( Glib::ustring const& str );
111
Gtk::Toolbar toolbar;
112
Gtk::ToolButton button_up;
113
Gtk::ToolButton button_down;
114
Gtk::Button button_apply;
115
Gtk::ToolButton button_remove;
116
/*Gtk::HButtonBox button_hbox;
117
Gtk::Button button_up;
118
Gtk::Button button_down;
119
Gtk::Button button_apply;
120
Gtk::Button button_remove;*/
122
SPDesktop * current_desktop;
124
SPLPEItem * current_lpeitem;
126
LivePathEffectEditor(LivePathEffectEditor const &d);
127
LivePathEffectEditor& operator=(LivePathEffectEditor const &d);
130
} // namespace Dialog
132
} // namespace Inkscape
134
#endif // INKSCAPE_UI_DIALOG_LIVE_PATH_EFFECT_H
139
c-file-style:"stroustrup"
140
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
145
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :