1 #ifndef SEEN_UI_WIDGET_OBJECT_COMPOSITE_SETTINGS_H
2 #define SEEN_UI_WIDGET_OBJECT_COMPOSITE_SETTINGS_H
4 /*
5 * A widget for controlling object compositing (filter, opacity, etc.)
6 *
7 * Authors:
8 * Bryce W. Harrington <bryce@bryceharrington.org>
9 * Gustav Broberg <broberg@kth.se>
10 *
11 * Copyright (C) 2004--2007 Authors
12 *
13 * Released under GNU GPL, read the file 'COPYING' for more information
14 */
16 #include <gtkmm/box.h>
17 #include <gtkmm/alignment.h>
18 #include <gtkmm/adjustment.h>
19 #include <gtkmm/label.h>
20 #include <gtkmm/spinbutton.h>
21 #include <gtkmm/scale.h>
23 #include <glibmm/ustring.h>
25 #include "ui/widget/filter-effect-chooser.h"
26 #include "ui/widget/style-subject.h"
28 namespace Inkscape {
29 namespace UI {
30 namespace Widget {
32 class ObjectCompositeSettings : public Gtk::VBox {
33 public:
34 ObjectCompositeSettings(unsigned int verb_code, char const *history_prefix);
35 ~ObjectCompositeSettings();
37 void setSubject(StyleSubject *subject);
39 private:
40 unsigned int _verb_code;
41 Glib::ustring _blur_tag;
42 Glib::ustring _opacity_tag;
44 Gtk::VBox _opacity_vbox;
45 Gtk::HBox _opacity_label_box;
46 Gtk::HBox _opacity_hbox;
47 Gtk::Label _opacity_label;
48 Gtk::Adjustment _opacity_adjustment;
49 Gtk::HScale _opacity_hscale;
50 Gtk::SpinButton _opacity_spin_button;
52 StyleSubject *_subject;
54 SimpleFilterModifier _fe_cb;
55 Gtk::VBox _fe_vbox;
56 Gtk::Alignment _fe_alignment;
58 static void _on_desktop_switch(Inkscape::Application *application, SPDesktop *desktop, ObjectCompositeSettings *w);
59 void _subjectChanged();
60 sigc::connection _subject_changed;
62 void _blendBlurValueChanged();
63 void _opacityValueChanged();
65 bool _blocked;
67 gulong _desktop_activated;
68 };
70 }
71 }
72 }
74 #endif
76 /*
77 Local Variables:
78 mode:c++
79 c-file-style:"stroustrup"
80 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
81 indent-tabs-mode:nil
82 fill-column:99
83 End:
84 */
85 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :