Code

family name field on svgfonts dialog now properly saves attribute. Should do the...
[inkscape.git] / src / ui / dialog / fill-and-stroke.h
index f4acf008693cf423b2bb4fc7880ff0cf46e8bb36..37aa4ccc885dbf53c87fa4094d1e304cb4248ba7 100644 (file)
 #define INKSCAPE_UI_DIALOG_FILL_AND_STROKE_H
 
 #include <gtkmm/adjustment.h>
+#include <gtkmm/alignment.h>
 #include <gtkmm/notebook.h>
 #include <gtkmm/scale.h>
 #include <gtkmm/spinbutton.h>
 #include <glibmm/i18n.h>
 
-#include "dialog.h"
+#include "ui/widget/panel.h"
 #include "ui/widget/notebook-page.h"
+#include "ui/widget/object-composite-settings.h"
 
 using namespace Inkscape::UI::Widget;
 
@@ -29,51 +31,37 @@ namespace Inkscape {
 namespace UI {
 namespace Dialog {
 
-class FillAndStroke : public Dialog {
+class FillAndStroke : public UI::Widget::Panel {
 public:
     FillAndStroke();
     virtual ~FillAndStroke();
 
-    static FillAndStroke *create() { return new FillAndStroke(); }
+    static FillAndStroke &getInstance() { return *new FillAndStroke(); }
 
     void selectionChanged(Inkscape::Application *inkscape,
                           Inkscape::Selection *selection);
 
+    void showPageFill();
+    void showPageStrokePaint();
+    void showPageStrokeStyle();
+
 protected:
-    Gtk::Notebook  _notebook;
-
-    NotebookPage   _page_fill;
-    NotebookPage   _page_stroke_paint;
-    NotebookPage   _page_stroke_style;
-
-    Gtk::VBox       _blur_vbox;
-    Gtk::HBox       _blur_label_box;
-    Gtk::HBox       _blur_hbox;
-    Gtk::Label      _blur_label;
-    Gtk::Adjustment _blur_adjustment;
-    Gtk::HScale     _blur_hscale;
-    Gtk::SpinButton _blur_spin_button;
-
-    Gtk::VBox       _opacity_vbox;
-    Gtk::HBox       _opacity_label_box;
-    Gtk::HBox       _opacity_hbox;
-    Gtk::Label      _opacity_label;
-    Gtk::Adjustment _opacity_adjustment;
-    Gtk::HScale     _opacity_hscale;
-    Gtk::SpinButton _opacity_spin_button;
-
-    Gtk::HBox& _createPageTabLabel(const Glib::ustring& label, 
+    Gtk::Notebook   _notebook;
+
+    NotebookPage    _page_fill;
+    NotebookPage    _page_stroke_paint;
+    NotebookPage    _page_stroke_style;
+
+    StyleSubject::Selection _subject;
+    ObjectCompositeSettings _composite_settings;
+
+    Gtk::HBox &_createPageTabLabel(const Glib::ustring &label, 
                                    const char *label_image);
 
     void _layoutPageFill();
     void _layoutPageStrokePaint();
     void _layoutPageStrokeStyle();
 
-    void _blurValueChanged();
-    void _opacityValueChanged();
-
-    bool _blocked;
-
 private:
     FillAndStroke(FillAndStroke const &d);
     FillAndStroke& operator=(FillAndStroke const &d);