Code

factor filter and opacity controls into separate metawidget
[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"
25 namespace Inkscape {
26 namespace UI {
27 namespace Widget {
29 class ObjectCompositeSettings : public Gtk::VBox {
30 public:
31     ObjectCompositeSettings();
32     ~ObjectCompositeSettings();
34 private:
35     Gtk::VBox       _opacity_vbox;
36     Gtk::HBox       _opacity_label_box;
37     Gtk::HBox       _opacity_hbox;
38     Gtk::Label      _opacity_label;
39     Gtk::Adjustment _opacity_adjustment;
40     Gtk::HScale     _opacity_hscale;
41     Gtk::SpinButton _opacity_spin_button;
43     SimpleFilterModifier _fe_cb;
44     Gtk::VBox       _fe_vbox;
45     Gtk::Alignment  _fe_alignment;
47     void selectionChanged(Inkscape::Application *inkscape,
48                           Inkscape::Selection *selection);
50     static void on_selection_changed(Inkscape::Application *inkscape,
51                                      Inkscape::Selection *selection,
52                                      ObjectCompositeSettings *w);
54     static void on_selection_modified(Inkscape::Application *inkscape,
55                                       Inkscape::Selection *selection,
56                                       guint flags,
57                                       ObjectCompositeSettings *w);
59     void _blendBlurValueChanged();
60     void _opacityValueChanged();
62     bool _blocked;
64     gulong _sel_changed;
65     gulong _subsel_changed;
66     gulong _sel_modified;
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 :