Code

Super duper mega (fun!) commit: replaced encoding=utf-8 with fileencoding=utf-8 in...
[inkscape.git] / src / ui / dialog / fill-and-stroke.h
1 /** @file
2  * @brief Fill and Stroke dialog
3  */
4 /* Authors:
5  *   Bryce W. Harrington <bryce@bryceharrington.org>
6  *   Gustav Broberg <broberg@kth.se>
7  *   Jon A. Cruz <jon@joncruz.org>
8  *
9  * Copyright (C) 2004--2007 Authors
10  * Copyright (C) 2010 Jon A. Cruz
11  *
12  * Released under GNU GPL.  Read the file 'COPYING' for more information.
13  */
15 #ifndef INKSCAPE_UI_DIALOG_FILL_AND_STROKE_H
16 #define INKSCAPE_UI_DIALOG_FILL_AND_STROKE_H
18 #include <gtkmm/adjustment.h>
19 #include <gtkmm/alignment.h>
20 #include <gtkmm/notebook.h>
21 #include <gtkmm/scale.h>
22 #include <gtkmm/spinbutton.h>
23 #include <glibmm/i18n.h>
25 #include "ui/widget/panel.h"
26 #include "ui/widget/notebook-page.h"
27 #include "ui/widget/object-composite-settings.h"
28 #include "ui/dialog/desktop-tracker.h"
30 namespace Inkscape {
31 namespace UI {
32 namespace Dialog {
34 class FillAndStroke : public UI::Widget::Panel {
35 public:
36     FillAndStroke();
37     virtual ~FillAndStroke();
39     static FillAndStroke &getInstance() { return *new FillAndStroke(); }
42     virtual void setDesktop(SPDesktop *desktop);
44     void selectionChanged(Inkscape::Application *inkscape,
45                           Inkscape::Selection *selection);
47     void showPageFill();
48     void showPageStrokePaint();
49     void showPageStrokeStyle();
51 protected:
52     Gtk::Notebook   _notebook;
54     UI::Widget::NotebookPage    _page_fill;
55     UI::Widget::NotebookPage    _page_stroke_paint;
56     UI::Widget::NotebookPage    _page_stroke_style;
58     UI::Widget::StyleSubject::Selection _subject;
59     UI::Widget::ObjectCompositeSettings _composite_settings;
61     Gtk::HBox &_createPageTabLabel(const Glib::ustring &label,
62                                    const char *label_image);
64     void _layoutPageFill();
65     void _layoutPageStrokePaint();
66     void _layoutPageStrokeStyle();
68 private:
69     FillAndStroke(FillAndStroke const &d);
70     FillAndStroke& operator=(FillAndStroke const &d);
72     void setTargetDesktop(SPDesktop *desktop);
74     DesktopTracker deskTrack;
75     SPDesktop *targetDesktop;
76     Gtk::Widget *fillWdgt;
77     Gtk::Widget *strokeWdgt;
78     sigc::connection desktopChangeConn;
79 };
81 } // namespace Dialog
82 } // namespace UI
83 } // 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:fileencoding=utf-8:textwidth=99 :