Code

Disable the page selector when there's only one page
[inkscape.git] / src / widgets / desktop-widget.h
index 6e00998f346f5da21663345315be2ff21c693beb..bb9d7ef860d78c2f3a186084218a94aee1e8cbd0 100644 (file)
@@ -32,9 +32,9 @@ GtkType sp_desktop_widget_get_type();
 
 void sp_desktop_widget_destroy (SPDesktopWidget* dtw);
 
-gint sp_desktop_widget_set_focus(GtkWidget *widget, GdkEvent *event, SPDesktopWidget *dtw);
-
-void sp_desktop_widget_show_decorations(SPDesktopWidget *dtw, bool show);
+void sp_desktop_widget_show_decorations(SPDesktopWidget *dtw, gboolean show);
+void sp_desktop_widget_iconify(SPDesktopWidget *dtw);
+void sp_desktop_widget_maximize(SPDesktopWidget *dtw);
 void sp_desktop_widget_fullscreen(SPDesktopWidget *dtw);
 void sp_desktop_widget_layout(SPDesktopWidget *dtw);
 void sp_desktop_widget_update_zoom(SPDesktopWidget *dtw);
@@ -64,7 +64,7 @@ struct SPDesktopWidget {
 
     SPDesktop *desktop;
 
-    GtkWindow *window;
+    Gtk::Window *window;
     
     // The root vbox of the window layout.
     GtkWidget *vbox;
@@ -111,7 +111,7 @@ struct SPDesktopWidget {
 
         virtual void setTitle (gchar const *uri)
             { _dtw->updateTitle (uri); }
-        virtual void* getWindow()
+        virtual Gtk::Window* getWindow()
             { return _dtw->window; }
         virtual void layout() 
             { sp_desktop_widget_layout (_dtw); }
@@ -127,12 +127,20 @@ struct SPDesktopWidget {
             { _dtw->setWindowTransient (p, transient_policy); }
         virtual NR::Point getPointer()
             { return _dtw->window_get_pointer(); }
+        virtual void setIconified()
+            { sp_desktop_widget_iconify (_dtw); }
+        virtual void setMaximized()
+            { sp_desktop_widget_maximize (_dtw); }
         virtual void setFullscreen()
             { sp_desktop_widget_fullscreen (_dtw); }
         virtual bool shutdown()
             { return _dtw->shutdown(); }
         virtual void destroy()
-            { gtk_widget_destroy (static_cast<GtkWidget*>((void*)(_dtw->window)));}
+            {
+                               if(_dtw->window != NULL)
+                               delete _dtw->window;
+                               _dtw->window = NULL;
+                       }
         
         virtual void requestCanvasUpdate()
             { _dtw->requestCanvasUpdate(); }
@@ -164,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)
@@ -189,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();
@@ -196,6 +207,8 @@ struct SPDesktopWidget {
     void enableInteraction();
     void disableInteraction();
     void updateTitle(gchar const *uri);
+       
+       bool onFocusInEvent(GdkEventFocus*);
 };
 
 /// The SPDesktopWidget vtable