Code

Gtkmm:ified Fill and Stroke dialog (disabled by default). It's still
[inkscape.git] / src / ui / dialog / fill-and-stroke.h
1 /**
2  * \brief Fill and Stroke dialog
3  * based on sp_object_properties_dialog
4  *
5  * Authors:
6  *   Bryce W. Harrington <bryce@bryceharrington.org>
7  *   Gustav Broberg <broberg@kth.se>
8  *
9  * Copyright (C) 2004--2007 Authors
10  *
11  * Released under GNU GPL.  Read the file 'COPYING' for more information.
12  */
14 #ifndef INKSCAPE_UI_DIALOG_FILL_AND_STROKE_H
15 #define INKSCAPE_UI_DIALOG_FILL_AND_STROKE_H
17 #include <gtkmm/adjustment.h>
18 #include <gtkmm/notebook.h>
19 #include <gtkmm/scale.h>
20 #include <gtkmm/spinbutton.h>
21 #include <glibmm/i18n.h>
23 #include "dialog.h"
24 #include "ui/widget/notebook-page.h"
26 using namespace Inkscape::UI::Widget;
28 namespace Inkscape {
29 namespace UI {
30 namespace Dialog {
32 class FillAndStroke : public Dialog {
33 public:
34     FillAndStroke();
35     virtual ~FillAndStroke();
37     static FillAndStroke *create() { return new FillAndStroke(); }
39     void selectionChanged(Inkscape::Application *inkscape,
40                           Inkscape::Selection *selection);
42 protected:
43     Gtk::Notebook  _notebook;
45     NotebookPage   _page_fill;
46     NotebookPage   _page_stroke_paint;
47     NotebookPage   _page_stroke_style;
49     Gtk::VBox       _blur_vbox;
50     Gtk::HBox       _blur_label_box;
51     Gtk::HBox       _blur_hbox;
52     Gtk::Label      _blur_label;
53     Gtk::Adjustment _blur_adjustment;
54     Gtk::HScale     _blur_hscale;
55     Gtk::SpinButton _blur_spin_button;
57     Gtk::VBox       _opacity_vbox;
58     Gtk::HBox       _opacity_label_box;
59     Gtk::HBox       _opacity_hbox;
60     Gtk::Label      _opacity_label;
61     Gtk::Adjustment _opacity_adjustment;
62     Gtk::HScale     _opacity_hscale;
63     Gtk::SpinButton _opacity_spin_button;
65     Gtk::HBox& _createPageTabLabel(const Glib::ustring& label, 
66                                    const char *label_image);
68     void _layoutPageFill();
69     void _layoutPageStrokePaint();
70     void _layoutPageStrokeStyle();
72     void _blurValueChanged();
73     void _opacityValueChanged();
75     bool _blocked;
77 private:
78     FillAndStroke(FillAndStroke const &d);
79     FillAndStroke& operator=(FillAndStroke const &d);
80 };
82 } // namespace Dialog
83 } // namespace UI
84 } // namespace Inkscape
86 #endif // INKSCAPE_UI_DIALOG_FILL_AND_STROKE_H
88 /*
89   Local Variables:
90   mode:c++
91   c-file-style:"stroustrup"
92   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
93   indent-tabs-mode:nil
94   fill-column:99
95   End:
96 */
97 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :