Code

Add functions for showing a specific notebook page in the F&S dialog,
authorgustav_b <gustav_b@users.sourceforge.net>
Thu, 20 Sep 2007 22:21:16 +0000 (22:21 +0000)
committergustav_b <gustav_b@users.sourceforge.net>
Thu, 20 Sep 2007 22:21:16 +0000 (22:21 +0000)
replaced the use of the old sp_object_properties_{fill,stroke} with
them.

src/ui/context-menu.cpp
src/ui/dialog/fill-and-stroke.cpp
src/ui/dialog/fill-and-stroke.h
src/ui/widget/selected-style.cpp

index 20e4f74830f6d1656548d9cfa113de2ba0737900..cdd71c4105226f416d53c41acfc432d472cc2fc0 100644 (file)
@@ -17,6 +17,7 @@
 #include "../xml/repr.h"
 #include "desktop.h"
 #include "document.h"
+#include "ui/dialog/dialog-manager.h"
 
 static void sp_object_type_menu(GType type, SPObject *object, SPDesktop *desktop, GtkMenu *menu);
 
@@ -50,7 +51,6 @@ sp_object_menu(SPObject *object, SPDesktop *desktop, GtkMenu *menu)
 
 #include "dialogs/item-properties.h"
 #include "dialogs/object-attributes.h"
-#include "dialogs/object-properties.h"
 
 #include "sp-path.h"
 
@@ -319,7 +319,7 @@ sp_shape_fill_settings(GtkMenuItem *menuitem, SPItem *item)
         sp_desktop_selection(desktop)->set(item);
     }
 
-    sp_object_properties_dialog();
+    desktop->_dlg_mgr->showDialog("FillAndStroke");
 }
 
 static void
index ad9a9f031d932a6af1298802019213332600d1d6..15f39db1c1f716d36034c709340fecc07e5db67c 100644 (file)
@@ -137,6 +137,28 @@ FillAndStroke::_layoutPageStrokeStyle()
     _page_stroke_style.table().attach(*ssl, 0, 1, 0, 1);
 }
 
+void
+FillAndStroke::showPageFill()
+{
+    present();
+    _notebook.set_current_page(0);
+}
+
+void
+FillAndStroke::showPageStrokePaint()
+{
+    present();
+    _notebook.set_current_page(1);
+}
+
+void
+FillAndStroke::showPageStrokeStyle()
+{
+    present();
+    _notebook.set_current_page(2);
+}
+
+
 void
 FillAndStroke::_blendBlurValueChanged()
 {
index 87d5181dba1aafe33a046eeadc5dc6b1b5e5f463..8c27d6d0a1d835a917f895e951865b807354e664 100644 (file)
@@ -42,6 +42,10 @@ public:
     void selectionChanged(Inkscape::Application *inkscape,
                           Inkscape::Selection *selection);
 
+    void showPageFill();
+    void showPageStrokePaint();
+    void showPageStrokeStyle();
+
 protected:
     Gtk::Notebook   _notebook;
 
index aaf5fc35c46b7c253758f8dfb5db93980a69bfce..d4b0a203adda57c7aea2264924f4cb5625655482 100644 (file)
@@ -27,7 +27,8 @@
 #include "sp-linear-gradient-fns.h"
 #include "sp-radial-gradient-fns.h"
 #include "sp-pattern.h"
-#include "dialogs/object-properties.h"
+#include "ui/dialog/dialog-manager.h"
+#include "ui/dialog/fill-and-stroke.h"
 #include "xml/repr.h"
 #include "document.h"
 #include "widgets/widget-sizes.h"
@@ -761,18 +762,26 @@ void SelectedStyle::on_fillstroke_swap() {
 }
 
 void SelectedStyle::on_fill_edit() {
-    sp_object_properties_fill();
+    if (Dialog::FillAndStroke *dialog = dynamic_cast<Dialog::FillAndStroke *>(
+            _desktop->_dlg_mgr->getDialog("FillAndStroke")))
+        dialog->showPageFill();
 }
 
 void SelectedStyle::on_stroke_edit() {
-    sp_object_properties_stroke();
+    if (Dialog::FillAndStroke *dialog = dynamic_cast<Dialog::FillAndStroke *>(
+            _desktop->_dlg_mgr->getDialog("FillAndStroke")))
+        dialog->showPageStrokePaint();
 }
 
 bool 
 SelectedStyle::on_fill_click(GdkEventButton *event)
 {
     if (event->button == 1) { // click, open fill&stroke
-        sp_object_properties_fill();
+
+        if (Dialog::FillAndStroke *dialog = dynamic_cast<Dialog::FillAndStroke *>(
+                _desktop->_dlg_mgr->getDialog("FillAndStroke")))
+            dialog->showPageFill();
+
     } else if (event->button == 3) { // right-click, popup menu
         _popup[SS_FILL].popup(event->button, event->time);
     } else if (event->button == 2) { // middle click, toggle none/lastcolor
@@ -789,7 +798,9 @@ bool
 SelectedStyle::on_stroke_click(GdkEventButton *event)
 {
     if (event->button == 1) { // click, open fill&stroke
-        sp_object_properties_stroke();
+        if (Dialog::FillAndStroke *dialog = dynamic_cast<Dialog::FillAndStroke *>(
+                _desktop->_dlg_mgr->getDialog("FillAndStroke")))
+            dialog->showPageStrokePaint();
     } else if (event->button == 3) { // right-click, popup menu
         _popup[SS_STROKE].popup(event->button, event->time);
     } else if (event->button == 2) { // middle click, toggle none/lastcolor
@@ -806,7 +817,9 @@ bool
 SelectedStyle::on_sw_click(GdkEventButton *event)
 {
     if (event->button == 1) { // click, open fill&stroke
-        sp_object_properties_stroke_style ();
+        if (Dialog::FillAndStroke *dialog = dynamic_cast<Dialog::FillAndStroke *>(
+                _desktop->_dlg_mgr->getDialog("FillAndStroke")))
+            dialog->showPageStrokeStyle();
     } else if (event->button == 3) { // right-click, popup menu
         _popup_sw.popup(event->button, event->time);
     } else if (event->button == 2) { // middle click, toggle none/lastwidth?