Code

add a way to set a radio toggle in aux toolbar via desktop, by the toggles id
authorbuliabyak <buliabyak@users.sourceforge.net>
Tue, 7 Aug 2007 06:55:35 +0000 (06:55 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Tue, 7 Aug 2007 06:55:35 +0000 (06:55 +0000)
src/desktop.cpp
src/desktop.h
src/ui/view/edit-widget-interface.h
src/ui/view/edit-widget.cpp
src/ui/view/edit-widget.h
src/widgets/desktop-widget.cpp
src/widgets/desktop-widget.h

index e785aab6dcd7a4b0e48cf1bfbc3e6f03cf5961fa..4b4d1fe5bcf8358b803cd97e41a2b8b670b26e16 100644 (file)
@@ -1119,6 +1119,12 @@ SPDesktop::setToolboxAdjustmentValue (gchar const* id, double val)
     _widget->setToolboxAdjustmentValue (id, val);
 }
 
+void
+SPDesktop::setToolboxSelectOneValue (gchar const* id, gint val)
+{
+    _widget->setToolboxSelectOneValue (id, val);
+}
+
 bool
 SPDesktop::isToolboxButtonActive (gchar const *id)
 {
index ca2d2420465f919ac7ab474cc5c637b96eb76adc..10509c2749402aee91cdb08400db10c79d305ce0 100644 (file)
@@ -247,6 +247,7 @@ struct SPDesktop : public Inkscape::UI::View::View
     void destroyWidget();
     void setToolboxFocusTo (gchar const* label);
     void setToolboxAdjustmentValue (gchar const* id, double val);
+    void setToolboxSelectOneValue (gchar const* id, gint val);
     bool isToolboxButtonActive (gchar const *id);
     void updateNow();
     void updateCanvasNow();
index 4c9ad8b023da31d6233c581a921921e6e02b6fad..8e388529eccb9650ce4005412b0ac266615c5d2c 100644 (file)
@@ -120,6 +120,9 @@ struct EditWidgetInterface
     
     /// In auxiliary toolbox, set value of adjustment with specific id
     virtual void setToolboxAdjustmentValue (const gchar *, double) = 0;
+
+    /// In auxiliary toolbox, select one of the "select one" options (usually radio toggles)
+    virtual void setToolboxSelectOneValue (const gchar *, gint) = 0;
     
     /// In auxiliary toolbox, return true if specific togglebutton is active
     virtual bool isToolboxButtonActive (gchar const*) = 0;
index d5b7828653c56337c3c8988cc93fee41c7ed2760..b87250e47420e5b96af13017e6d06a3bc9181d40 100644 (file)
@@ -1488,6 +1488,12 @@ EditWidget::setToolboxAdjustmentValue (const gchar *, double)
     /// \todo not implemented
 }
 
+void
+EditWidget::setToolboxSelectOneValue (const gchar *, gint)
+{
+    /// \todo not implemented
+}
+
 bool
 EditWidget::isToolboxButtonActive (gchar const*)
 {
index 7f68abcf58d801037b591288ebed58ffd09a1a4a..443b10ac871090a576af4938cd77c8e33c0f0103 100644 (file)
@@ -126,6 +126,7 @@ public:
     virtual void letZoomGrabFocus();
     virtual void setToolboxFocusTo (const gchar *);
     virtual void setToolboxAdjustmentValue (const gchar *, double);
+    virtual void setToolboxSelectOneValue (const gchar *, gint);
     virtual bool isToolboxButtonActive (gchar const*);
     virtual void setCoordinateStatus (NR::Point p);
     virtual void setMessage (Inkscape::MessageType type, gchar const* msg);
index 4dca563aa83d670fc362f5b5f4225e055c71a81b..b68d2328dbd62a4fa0b22789d28f70cf89b89dca 100644 (file)
@@ -52,6 +52,7 @@
 #include "sp-item.h"
 #include "dialogs/swatches.h"
 #include "conn-avoid-ref.h"
+#include "ege-select-one-action.h"
 
 #if defined (SOLARIS_2_8)
 #include "round.h"
@@ -1023,6 +1024,16 @@ SPDesktopWidget::setToolboxAdjustmentValue (gchar const *id, double value)
     }
 }
 
+void
+SPDesktopWidget::setToolboxSelectOneValue (gchar const *id, int value)
+{
+    gpointer hb = sp_search_by_data_recursive(aux_toolbox, (gpointer) id);
+    if (hb) {
+        ege_select_one_action_set_active((EgeSelectOneAction*) hb, value);
+    }
+}
+
+
 bool
 SPDesktopWidget::isToolboxButtonActive (const gchar* id)
 {
index fbd350b12f5e6e12148ceb388471008e963b71c7..bb9d7ef860d78c2f3a186084218a94aee1e8cbd0 100644 (file)
@@ -172,6 +172,8 @@ struct SPDesktopWidget {
             { _dtw->setToolboxFocusTo (id); }
         virtual void setToolboxAdjustmentValue (const gchar *id, double val)
             { _dtw->setToolboxAdjustmentValue (id, val); }
+        virtual void setToolboxSelectOneValue (gchar const *id, int val)
+            { _dtw->setToolboxSelectOneValue (id, val); }
         virtual bool isToolboxButtonActive (gchar const* id)
             { return _dtw->isToolboxButtonActive (id); }
         virtual void setCoordinateStatus (NR::Point p)
@@ -197,6 +199,7 @@ struct SPDesktopWidget {
     bool warnDialog (gchar *text);
     void setToolboxFocusTo (gchar const *);
     void setToolboxAdjustmentValue (gchar const * id, double value);
+    void setToolboxSelectOneValue (gchar const * id, gint value);
     bool isToolboxButtonActive (gchar const *id);
     void setCoordinateStatus(NR::Point p);
     void requestCanvasUpdate();