Code

first crack at enabling blend for layers dialog
[inkscape.git] / src / ui / widget / object-composite-settings.h
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 "ui/widget/filter-effect-chooser.h"
24 #include "ui/widget/style-subject.h"
26 namespace Inkscape {
27 namespace UI {
28 namespace Widget {
30 class ObjectCompositeSettings : public Gtk::VBox {
31 public:
32     ObjectCompositeSettings();
33     ~ObjectCompositeSettings();
35     void setSubject(StyleSubject *subject);
37 private:
38     Gtk::VBox       _opacity_vbox;
39     Gtk::HBox       _opacity_label_box;
40     Gtk::HBox       _opacity_hbox;
41     Gtk::Label      _opacity_label;
42     Gtk::Adjustment _opacity_adjustment;
43     Gtk::HScale     _opacity_hscale;
44     Gtk::SpinButton _opacity_spin_button;
46     StyleSubject *_subject;
48     SimpleFilterModifier _fe_cb;
49     Gtk::VBox       _fe_vbox;
50     Gtk::Alignment  _fe_alignment;
52     static void _on_desktop_switch(Inkscape::Application *application, SPDesktop *desktop, ObjectCompositeSettings *w);
53     void _subjectChanged();
54     sigc::connection _subject_changed;
56     void _blendBlurValueChanged();
57     void _opacityValueChanged();
59     bool _blocked;
61     gulong _desktop_activated;
62 };
64 }
65 }
66 }
68 #endif
70 /*
71   Local Variables:
72   mode:c++
73   c-file-style:"stroustrup"
74   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
75   indent-tabs-mode:nil
76   fill-column:99
77   End:
78 */
79 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :