Code

abstraction for style widget subjects
[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 private:
36     Gtk::VBox       _opacity_vbox;
37     Gtk::HBox       _opacity_label_box;
38     Gtk::HBox       _opacity_hbox;
39     Gtk::Label      _opacity_label;
40     Gtk::Adjustment _opacity_adjustment;
41     Gtk::HScale     _opacity_hscale;
42     Gtk::SpinButton _opacity_spin_button;
44     StyleSubject::Selection _subject;
46     SimpleFilterModifier _fe_cb;
47     Gtk::VBox       _fe_vbox;
48     Gtk::Alignment  _fe_alignment;
50     static void _on_desktop_switch(Inkscape::Application *application, SPDesktop *desktop, ObjectCompositeSettings *w);
51     void _subjectChanged();
53     void _blendBlurValueChanged();
54     void _opacityValueChanged();
56     bool _blocked;
58     gulong _desktop_activated;
59 };
61 }
62 }
63 }
65 #endif
67 /*
68   Local Variables:
69   mode:c++
70   c-file-style:"stroustrup"
71   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
72   indent-tabs-mode:nil
73   fill-column:99
74   End:
75 */
76 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :