X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fwidgets%2Fdesktop-widget.h;h=8f38277abc72d33b5a54a7cb1f06b534d5bda900;hb=396d5aa732c14fad8d67a143132eb232a45dd7f2;hp=ef70a21d1a2a81070225bd59f7523a6c9103de46;hpb=d75719d68573b3c63dfa38578aca41b5c364c372;p=inkscape.git diff --git a/src/widgets/desktop-widget.h b/src/widgets/desktop-widget.h index ef70a21d1..8f38277ab 100644 --- a/src/widgets/desktop-widget.h +++ b/src/widgets/desktop-widget.h @@ -22,6 +22,10 @@ #include +// forward declaration +typedef struct _EgeColorProfTracker EgeColorProfTracker; + + #define SP_TYPE_DESKTOP_WIDGET (sp_desktop_widget_get_type ()) #define SP_DESKTOP_WIDGET(o) (GTK_CHECK_CAST ((o), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidget)) #define SP_DESKTOP_WIDGET_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidgetClass)) @@ -32,8 +36,6 @@ 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, gboolean show); void sp_desktop_widget_iconify(SPDesktopWidget *dtw); void sp_desktop_widget_maximize(SPDesktopWidget *dtw); @@ -46,6 +48,7 @@ void sp_desktop_widget_update_rulers (SPDesktopWidget *dtw); void sp_desktop_widget_toggle_rulers (SPDesktopWidget *dtw); void sp_desktop_widget_toggle_scrollbars (SPDesktopWidget *dtw); void sp_desktop_widget_update_scrollbars (SPDesktopWidget *dtw, double scale); +void sp_desktop_widget_toggle_color_prof_adj( SPDesktopWidget *dtw ); void sp_dtw_desktop_activate (SPDesktopWidget *dtw); void sp_dtw_desktop_deactivate (SPDesktopWidget *dtw); @@ -66,8 +69,8 @@ struct SPDesktopWidget { SPDesktop *desktop; - GtkWindow *window; - + Gtk::Window *window; + // The root vbox of the window layout. GtkWidget *vbox; @@ -84,6 +87,7 @@ struct SPDesktopWidget { GtkWidget *hruler_box, *vruler_box; // eventboxes for setting tooltips GtkWidget *sticky_zoom; + GtkWidget *cms_adjust; GtkWidget *coord_status; GtkWidget *coord_status_x; GtkWidget *coord_status_y; @@ -92,10 +96,12 @@ struct SPDesktopWidget { GtkWidget *zoom_status; gulong zoom_update; + Inkscape::UI::Widget::Dock *dock; + Inkscape::UI::Widget::SelectedStyle *selected_style; gint coord_status_id, select_status_id; - + unsigned int _interaction_disabled_counter; SPCanvas *canvas; @@ -106,6 +112,8 @@ struct SPDesktopWidget { Inkscape::Widgets::LayerSelector *layer_selector; + EgeColorProfTracker* _tracker; + struct WidgetStub : public Inkscape::UI::View::EditWidgetInterface { SPDesktopWidget *_dtw; SPDesktop *_dt; @@ -113,11 +121,11 @@ struct SPDesktopWidget { virtual void setTitle (gchar const *uri) { _dtw->updateTitle (uri); } - virtual void* getWindow() + virtual Gtk::Window* getWindow() { return _dtw->window; } - virtual void layout() + virtual void layout() { sp_desktop_widget_layout (_dtw); } - virtual void present() + virtual void present() { _dtw->presentWindow(); } virtual void getGeometry (gint &x, gint &y, gint &w, gint &h) { _dtw->getWindowGeometry (x, y, w, h); } @@ -138,8 +146,12 @@ struct SPDesktopWidget { virtual bool shutdown() { return _dtw->shutdown(); } virtual void destroy() - { gtk_widget_destroy (static_cast((void*)(_dtw->window)));} - + { + if(_dtw->window != NULL) + delete _dtw->window; + _dtw->window = NULL; + } + virtual void requestCanvasUpdate() { _dtw->requestCanvasUpdate(); } virtual void requestCanvasUpdateAndWait() @@ -162,6 +174,8 @@ struct SPDesktopWidget { { sp_desktop_widget_toggle_rulers (_dtw); } virtual void toggleScrollbars() { sp_desktop_widget_toggle_scrollbars (_dtw); } + virtual void toggleColorProfAdjust() + { sp_desktop_widget_toggle_color_prof_adj(_dtw); } virtual void updateZoom() { sp_desktop_widget_update_zoom (_dtw); } virtual void letZoomGrabFocus() @@ -170,6 +184,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) @@ -178,10 +194,12 @@ struct SPDesktopWidget { { _dtw->setMessage (type, msg); } virtual bool warnDialog (gchar* text) { return _dtw->warnDialog (text); } + virtual Inkscape::UI::Widget::Dock* getDock () + { return _dtw->getDock(); } }; WidgetStub *stub; - + void setMessage(Inkscape::MessageType type, gchar const *message); NR::Point window_get_pointer(); bool shutdown(); @@ -195,6 +213,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(); @@ -202,6 +221,10 @@ struct SPDesktopWidget { void enableInteraction(); void disableInteraction(); void updateTitle(gchar const *uri); + bool onFocusInEvent(GdkEventFocus*); + + Inkscape::UI::Widget::Dock* getDock(); + }; /// The SPDesktopWidget vtable