diff options
Diffstat (limited to 'src/widgets')
52 files changed, 708 insertions, 628 deletions
diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt index f3c0e70fa..d9e05f06a 100644 --- a/src/widgets/CMakeLists.txt +++ b/src/widgets/CMakeLists.txt @@ -1,36 +1,77 @@ -SET(widgets_SRC -button.cpp -calligraphic-profile-rename.cpp -dash-selector.cpp -desktop-widget.cpp -font-selector.cpp -gradient-image.cpp -gradient-selector.cpp -gradient-toolbar.cpp -gradient-vector.cpp -icon.cpp -layer-selector.cpp -paint-selector.cpp -ruler.cpp -select-toolbar.cpp -shrink-wrap-button.cpp -sp-color-gtkselector.cpp -sp-color-icc-selector.cpp -sp-color-notebook.cpp -sp-color-preview.cpp -sp-color-scales.cpp -sp-color-selector.cpp -sp-color-slider.cpp -sp-color-wheel-selector.cpp -spinbutton-events.cpp -sp-widget.cpp -spw-utilities.cpp -sp-xmlview-attr-list.cpp -sp-xmlview-content.cpp -sp-xmlview-tree.cpp -swatch-selector.cpp -toolbox.cpp + +set(widgets_SRC + button.cpp + dash-selector.cpp + desktop-widget.cpp + eek-preview.cpp + ege-paint-def.cpp + fill-style.cpp + font-selector.cpp + gradient-image.cpp + gradient-selector.cpp + gradient-toolbar.cpp + gradient-vector.cpp + icon.cpp + paint-selector.cpp + ruler.cpp + select-toolbar.cpp + shrink-wrap-button.cpp + sp-attribute-widget.cpp + sp-color-gtkselector.cpp + sp-color-icc-selector.cpp + sp-color-notebook.cpp + sp-color-preview.cpp + sp-color-scales.cpp + sp-color-selector.cpp + sp-color-slider.cpp + sp-color-wheel-selector.cpp + sp-widget.cpp + sp-xmlview-attr-list.cpp + sp-xmlview-content.cpp + sp-xmlview-tree.cpp + spinbutton-events.cpp + spw-utilities.cpp + stroke-style.cpp + swatch-selector.cpp + toolbox.cpp + + button.h + dash-selector.h + desktop-widget.h + eek-preview.h + ege-paint-def.h + fill-n-stroke-factory.h + fill-style.h + font-selector.h + gradient-image.h + gradient-selector.h + gradient-toolbar.h + gradient-vector.h + icon.h + paint-selector.h + ruler.h + select-toolbar.h + shrink-wrap-button.h + sp-attribute-widget.h + sp-color-gtkselector.h + sp-color-icc-selector.h + sp-color-notebook.h + sp-color-preview.h + sp-color-scales.h + sp-color-selector.h + sp-color-slider.h + sp-color-wheel-selector.h + sp-widget.h + sp-xmlview-attr-list.h + sp-xmlview-content.h + sp-xmlview-tree.h + spinbutton-events.h + spw-utilities.h + stroke-style.h + swatch-selector.h + toolbox.h + widget-sizes.h ) -ADD_LIBRARY(widgets STATIC ${widgets_SRC}) -TARGET_LINK_LIBRARIES(widgets -2geom ${INKSCAPE_LIBS}) + +# add_inkscape_lib(widgets_LIB "${widgets_SRC}") +add_inkscape_source("${widgets_SRC}") diff --git a/src/widgets/button.cpp b/src/widgets/button.cpp index dc830d096..e0b3a0fb9 100644 --- a/src/widgets/button.cpp +++ b/src/widgets/button.cpp @@ -46,7 +46,7 @@ static void sp_button_set_doubleclick_action (SPButton *button, SPAction *action static void sp_button_action_set_active (SPAction *action, unsigned int active, void *data); static void sp_button_action_set_sensitive (SPAction *action, unsigned int sensitive, void *data); static void sp_button_action_set_shortcut (SPAction *action, unsigned int shortcut, void *data); -static void sp_button_set_composed_tooltip (GtkTooltips *tooltips, GtkWidget *widget, SPAction *action); +static void sp_button_set_composed_tooltip (GtkWidget *widget, SPAction *action); static GtkToggleButtonClass *parent_class; SPActionEventVector button_event_vector = { @@ -98,12 +98,11 @@ sp_button_init (SPButton *button) { button->action = NULL; button->doubleclick_action = NULL; - button->tooltips = NULL; gtk_container_set_border_width (GTK_CONTAINER (button), 0); - GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET (button), GTK_CAN_FOCUS); - GTK_WIDGET_UNSET_FLAGS (GTK_WIDGET (button), GTK_CAN_DEFAULT); + gtk_widget_set_can_focus (GTK_WIDGET (button), FALSE); + gtk_widget_set_can_default (GTK_WIDGET (button), FALSE); g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (sp_button_perform_action), NULL); g_signal_connect_after (G_OBJECT (button), "event", G_CALLBACK (sp_button_process_event), NULL); @@ -116,11 +115,6 @@ sp_button_destroy (GtkObject *object) button = SP_BUTTON (object); - if (button->tooltips) { - g_object_unref (G_OBJECT (button->tooltips)); - button->tooltips = NULL; - } - if (button->action) { sp_button_set_action (button, NULL); } @@ -186,7 +180,7 @@ sp_button_perform_action (SPButton *button, gpointer /*data*/) GtkWidget * -sp_button_new( Inkscape::IconSize size, SPButtonType type, SPAction *action, SPAction *doubleclick_action, GtkTooltips *tooltips ) +sp_button_new( Inkscape::IconSize size, SPButtonType type, SPAction *action, SPAction *doubleclick_action ) { SPButton *button; @@ -194,9 +188,6 @@ sp_button_new( Inkscape::IconSize size, SPButtonType type, SPAction *action, SPA button->type = type; button->lsize = CLAMP( size, Inkscape::ICON_SIZE_MENU, Inkscape::ICON_SIZE_DECORATION ); - button->tooltips = tooltips; - - if (tooltips) g_object_ref ((GObject *) tooltips); sp_button_set_action (button, action); if (doubleclick_action) @@ -253,9 +244,7 @@ sp_button_set_action (SPButton *button, SPAction *action) } } - if (button->tooltips) { - sp_button_set_composed_tooltip (button->tooltips, (GtkWidget *) button, action); - } + sp_button_set_composed_tooltip ((GtkWidget *) button, action); } static void @@ -283,12 +272,10 @@ static void sp_button_action_set_shortcut (SPAction *action, unsigned int /*shortcut*/, void *data) { SPButton *button=SP_BUTTON (data); - if (button->tooltips) { - sp_button_set_composed_tooltip (button->tooltips, GTK_WIDGET (button), action); - } + sp_button_set_composed_tooltip (GTK_WIDGET (button), action); } -static void sp_button_set_composed_tooltip(GtkTooltips *tooltips, GtkWidget *widget, SPAction *action) +static void sp_button_set_composed_tooltip(GtkWidget *widget, SPAction *action) { if (action) { unsigned int shortcut = sp_shortcut_get_primary (action->verb); @@ -298,16 +285,16 @@ static void sp_button_set_composed_tooltip(GtkTooltips *tooltips, GtkWidget *wid gchar *key = sp_shortcut_get_label(shortcut); gchar *tip = g_strdup_printf ("%s (%s)", action->tip, key); - gtk_tooltips_set_tip(tooltips, widget, tip, NULL); + gtk_widget_set_tooltip_text(widget, tip); g_free(tip); g_free(key); } else { // action has no shortcut - gtk_tooltips_set_tip(tooltips, widget, action->tip, NULL); + gtk_widget_set_tooltip_text(widget, action->tip); } } else { // no action - gtk_tooltips_set_tip(tooltips, widget, NULL, NULL); + gtk_widget_set_tooltip_text(widget, NULL); } } @@ -316,12 +303,11 @@ sp_button_new_from_data( Inkscape::IconSize size, SPButtonType type, Inkscape::UI::View::View *view, const gchar *name, - const gchar *tip, - GtkTooltips *tooltips ) + const gchar *tip ) { GtkWidget *button; SPAction *action=sp_action_new(view, name, name, tip, name, 0); - button = sp_button_new (size, type, action, NULL, tooltips); + button = sp_button_new (size, type, action, NULL); nr_object_unref ((NRObject *) action); return button; } diff --git a/src/widgets/button.h b/src/widgets/button.h index f14af94d1..759096443 100644 --- a/src/widgets/button.h +++ b/src/widgets/button.h @@ -13,12 +13,10 @@ */ #define SP_TYPE_BUTTON (sp_button_get_type ()) -#define SP_BUTTON(o) (GTK_CHECK_CAST ((o), SP_TYPE_BUTTON, SPButton)) -#define SP_IS_BUTTON(o) (GTK_CHECK_TYPE ((o), SP_TYPE_BUTTON)) +#define SP_BUTTON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_BUTTON, SPButton)) +#define SP_IS_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_BUTTON)) -#include <gtk/gtkwidget.h> -#include <gtk/gtktogglebutton.h> -#include <gtk/gtktooltips.h> +#include <gtk/gtk.h> #include "helper/action.h" #include "icon-size.h" @@ -40,7 +38,6 @@ struct SPButton { unsigned int psize; SPAction *action; SPAction *doubleclick_action; - GtkTooltips *tooltips; }; struct SPButtonClass { @@ -51,7 +48,7 @@ struct SPButtonClass { GType sp_button_get_type (void); -GtkWidget *sp_button_new (Inkscape::IconSize size, SPButtonType type, SPAction *action, SPAction *doubleclick_action, GtkTooltips *tooltips); +GtkWidget *sp_button_new (Inkscape::IconSize size, SPButtonType type, SPAction *action, SPAction *doubleclick_action); void sp_button_toggle_set_down (SPButton *button, gboolean down); @@ -59,8 +56,7 @@ GtkWidget *sp_button_new_from_data (Inkscape::IconSize size, SPButtonType type, Inkscape::UI::View::View *view, const gchar *name, - const gchar *tip, - GtkTooltips *tooltips); + const gchar *tip); diff --git a/src/widgets/dash-selector.cpp b/src/widgets/dash-selector.cpp index e7e029334..dead653de 100644 --- a/src/widgets/dash-selector.cpp +++ b/src/widgets/dash-selector.cpp @@ -32,7 +32,7 @@ #include <gtkmm/optionmenu.h> #include <gtkmm/adjustment.h> -#include <gtkmm/spinbutton.h> +#include "ui/widget/spinbutton.h" #include "dash-selector.h" @@ -73,7 +73,7 @@ SPDashSelector::SPDashSelector() { dash->set_menu(*m); offset = new Gtk::Adjustment(0.0, 0.0, 10.0, 0.1, 1.0, 0.0); - Gtk::SpinButton *sb = new Gtk::SpinButton(*offset, 0.1, 2); + Inkscape::UI::Widget::SpinButton *sb = new Inkscape::UI::Widget::SpinButton(*offset, 0.1, 2); tt->set_tip(*sb, _("Pattern offset")); sp_dialog_defocus_on_enter_cpp(sb); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 63fdc5930..0d890fa86 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -58,6 +58,7 @@ #include "ui/widget/selected-style.h" #include "ui/uxmanager.h" #include "util/ege-appear-time-tracker.h" +#include "sp-root.h" // We're in the "widgets" directory, so no need to explicitly prefix these: #include "button.h" @@ -212,7 +213,7 @@ void CMSPrefWatcher::_setCmsSensitive(bool enabled) #if ENABLE_LCMS for ( std::list<SPDesktopWidget*>::iterator it = _widget_list.begin(); it != _widget_list.end(); ++it ) { SPDesktopWidget *dtw = *it; - if ( GTK_WIDGET_SENSITIVE( dtw->cms_adjust ) != enabled ) { + if ( gtk_widget_get_sensitive( dtw->cms_adjust ) != enabled ) { cms_adjust_set_sensitive( dtw, enabled ); } } @@ -230,12 +231,12 @@ SPDesktopWidget::setMessage (Inkscape::MessageType type, const gchar *message) gtk_label_set_markup (sb, message ? message : ""); // make sure the important messages are displayed immediately! - if (type == Inkscape::IMMEDIATE_MESSAGE && GTK_WIDGET_DRAWABLE (GTK_WIDGET(sb))) { + if (type == Inkscape::IMMEDIATE_MESSAGE && gtk_widget_is_drawable (GTK_WIDGET(sb))) { gtk_widget_queue_draw(GTK_WIDGET(sb)); gdk_window_process_updates(GTK_WIDGET(sb)->window, TRUE); } - gtk_tooltips_set_tip (this->tt, this->select_status_eventbox, gtk_label_get_text (sb) , NULL); + gtk_widget_set_tooltip_text (this->select_status_eventbox, gtk_label_get_text (sb)); } Geom::Point @@ -312,7 +313,6 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) dtw->window = 0; dtw->desktop = NULL; dtw->_interaction_disabled_counter = 0; - dtw->tt = gtk_tooltips_new (); /* Main table */ dtw->vbox = gtk_vbox_new (FALSE, 0); @@ -358,7 +358,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) dtw->hruler = sp_hruler_new (); dtw->hruler_box = eventbox; sp_ruler_set_metric (GTK_RULER (dtw->hruler), SP_PT); - gtk_tooltips_set_tip (dtw->tt, dtw->hruler_box, gettext(sp_unit_get_plural (&sp_unit_get_by_id(SP_UNIT_PT))), NULL); + gtk_widget_set_tooltip_text (dtw->hruler_box, gettext(sp_unit_get_plural (&sp_unit_get_by_id(SP_UNIT_PT)))); gtk_container_add (GTK_CONTAINER (eventbox), dtw->hruler); gtk_table_attach (GTK_TABLE (canvas_tbl), eventbox, 1, 2, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), widget->style->xthickness, 0); g_signal_connect (G_OBJECT (eventbox), "button_press_event", G_CALLBACK (sp_dt_hruler_event), dtw); @@ -370,7 +370,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) dtw->vruler = sp_vruler_new (); dtw->vruler_box = eventbox; sp_ruler_set_metric (GTK_RULER (dtw->vruler), SP_PT); - gtk_tooltips_set_tip (dtw->tt, dtw->vruler_box, gettext(sp_unit_get_plural (&sp_unit_get_by_id(SP_UNIT_PT))), NULL); + gtk_widget_set_tooltip_text (dtw->vruler_box, gettext(sp_unit_get_plural (&sp_unit_get_by_id(SP_UNIT_PT)))); gtk_container_add (GTK_CONTAINER (eventbox), GTK_WIDGET (dtw->vruler)); gtk_table_attach (GTK_TABLE (canvas_tbl), eventbox, 0, 1, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(GTK_FILL), 0, widget->style->ythickness); g_signal_connect (G_OBJECT (eventbox), "button_press_event", G_CALLBACK (sp_dt_vruler_event), dtw); @@ -388,8 +388,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) SP_BUTTON_TYPE_TOGGLE, NULL, INKSCAPE_ICON_ZOOM_ORIGINAL, - _("Zoom drawing if window size changes"), - dtw->tt); + _("Zoom drawing if window size changes")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dtw->sticky_zoom), prefs->getBool("/options/stickyzoom/value")); gtk_box_pack_start (GTK_BOX (dtw->vscrollbar_box), dtw->sticky_zoom, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (dtw->sticky_zoom), "toggled", G_CALLBACK (sp_dtw_sticky_zoom_toggled), dtw); @@ -411,8 +410,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) SP_BUTTON_TYPE_TOGGLE, NULL, INKSCAPE_ICON_COLOR_MANAGEMENT, - tip, - dtw->tt ); + tip ); #if ENABLE_LCMS { Glib::ustring current = prefs->getString("/options/displayprofile/uri"); @@ -442,7 +440,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) #if ENABLE_LCMS dtw->canvas->enable_cms_display_adj = prefs->getBool("/options/displayprofile/enable"); #endif // ENABLE_LCMS - GTK_WIDGET_SET_FLAGS (GTK_WIDGET (dtw->canvas), GTK_CAN_FOCUS); + gtk_widget_set_can_focus (GTK_WIDGET (dtw->canvas), TRUE); style = gtk_style_copy (GTK_WIDGET (dtw->canvas)->style); style->bg[GTK_STATE_NORMAL] = style->white; gtk_widget_set_style (GTK_WIDGET (dtw->canvas), style); @@ -492,7 +490,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) // zoom status spinbutton dtw->zoom_status = gtk_spin_button_new_with_range (log(SP_DESKTOP_ZOOM_MIN)/log(2), log(SP_DESKTOP_ZOOM_MAX)/log(2), 0.1); - gtk_tooltips_set_tip (dtw->tt, dtw->zoom_status, _("Zoom"), NULL); + gtk_widget_set_tooltip_text (dtw->zoom_status, _("Zoom")); gtk_widget_set_size_request (dtw->zoom_status, STATUS_ZOOM_WIDTH, -1); gtk_entry_set_width_chars (GTK_ENTRY (dtw->zoom_status), 6); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (dtw->zoom_status), FALSE); @@ -500,8 +498,8 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) g_signal_connect (G_OBJECT (dtw->zoom_status), "input", G_CALLBACK (sp_dtw_zoom_input), dtw); g_signal_connect (G_OBJECT (dtw->zoom_status), "output", G_CALLBACK (sp_dtw_zoom_output), dtw); gtk_object_set_data (GTK_OBJECT (dtw->zoom_status), "dtw", dtw->canvas); - gtk_signal_connect (GTK_OBJECT (dtw->zoom_status), "focus-in-event", GTK_SIGNAL_FUNC (spinbutton_focus_in), dtw->zoom_status); - gtk_signal_connect (GTK_OBJECT (dtw->zoom_status), "key-press-event", GTK_SIGNAL_FUNC (spinbutton_keypress), dtw->zoom_status); + g_signal_connect (G_OBJECT (dtw->zoom_status), "focus-in-event", G_CALLBACK (spinbutton_focus_in), dtw->zoom_status); + g_signal_connect (G_OBJECT (dtw->zoom_status), "key-press-event", G_CALLBACK (spinbutton_keypress), dtw->zoom_status); dtw->zoom_update = g_signal_connect (G_OBJECT (dtw->zoom_status), "value_changed", G_CALLBACK (sp_dtw_zoom_value_changed), dtw); dtw->zoom_update = g_signal_connect (G_OBJECT (dtw->zoom_status), "populate_popup", G_CALLBACK (sp_dtw_zoom_populate_popup), dtw); @@ -512,7 +510,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw ) gtk_table_attach(GTK_TABLE(dtw->coord_status), gtk_vseparator_new(), 0,1, 0,2, GTK_FILL, GTK_FILL, 0, 0); eventbox = gtk_event_box_new (); gtk_container_add (GTK_CONTAINER (eventbox), dtw->coord_status); - gtk_tooltips_set_tip (dtw->tt, eventbox, _("Cursor coordinates"), NULL); + gtk_widget_set_tooltip_text (eventbox, _("Cursor coordinates")); GtkWidget *label_x = gtk_label_new(_("X:")); gtk_misc_set_alignment (GTK_MISC(label_x), 0.0, 0.5); gtk_table_attach(GTK_TABLE(dtw->coord_status), label_x, 1,2, 0,1, GTK_FILL, GTK_FILL, 0, 0); @@ -601,7 +599,7 @@ sp_desktop_widget_destroy (GtkObject *object) } g_signal_handlers_disconnect_by_func(G_OBJECT (dtw->zoom_status), (gpointer) G_CALLBACK(sp_dtw_zoom_input), dtw); g_signal_handlers_disconnect_by_func(G_OBJECT (dtw->zoom_status), (gpointer) G_CALLBACK(sp_dtw_zoom_output), dtw); - gtk_signal_disconnect_by_data (GTK_OBJECT (dtw->zoom_status), dtw->zoom_status); + g_signal_handlers_disconnect_matched (G_OBJECT (dtw->zoom_status), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, dtw->zoom_status); g_signal_handlers_disconnect_by_func (G_OBJECT (dtw->zoom_status), (gpointer) G_CALLBACK (sp_dtw_zoom_value_changed), dtw); g_signal_handlers_disconnect_by_func (G_OBJECT (dtw->zoom_status), (gpointer) G_CALLBACK (sp_dtw_zoom_populate_popup), dtw); g_signal_handlers_disconnect_by_func (G_OBJECT (dtw->canvas), (gpointer) G_CALLBACK (sp_desktop_widget_event), dtw); @@ -699,7 +697,7 @@ sp_desktop_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation) return; } - if (GTK_WIDGET_REALIZED (widget)) { + if (gtk_widget_get_realized (widget)) { Geom::Rect const area = dtw->desktop->get_display_area(); double zoom = dtw->desktop->current_zoom(); @@ -891,7 +889,7 @@ SPDesktopWidget::shutdown() "If you close without saving, your changes will be discarded."), doc->getName()); // fix for bug 1767940: - GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(GTK_MESSAGE_DIALOG(dialog)->label), GTK_CAN_FOCUS); + gtk_widget_set_can_focus(GTK_WIDGET(GTK_MESSAGE_DIALOG(dialog)->label), FALSE); GtkWidget *close_button; close_button = gtk_button_new_with_mnemonic(_("Close _without saving")); @@ -947,7 +945,7 @@ SPDesktopWidget::shutdown() "Do you want to save this file as Inkscape SVG?"), doc->getName() ? doc->getName() : "Unnamed"); // fix for bug 1767940: - GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(GTK_MESSAGE_DIALOG(dialog)->label), GTK_CAN_FOCUS); + gtk_widget_set_can_focus(GTK_WIDGET(GTK_MESSAGE_DIALOG(dialog)->label), FALSE); GtkWidget *close_button; close_button = gtk_button_new_with_mnemonic(_("Close _without saving")); @@ -1079,7 +1077,7 @@ SPDesktopWidget::letZoomGrabFocus() void SPDesktopWidget::getWindowGeometry (gint &x, gint &y, gint &w, gint &h) { - gboolean vis = GTK_WIDGET_VISIBLE (this); + gboolean vis = gtk_widget_get_visible (GTK_WIDGET(this)); (void)vis; // TODO figure out why it is here but not used. Gtk::Window *window = (Gtk::Window*)gtk_object_get_data (GTK_OBJECT(this), "window"); @@ -1150,6 +1148,25 @@ SPDesktopWidget::presentWindow() gtk_window_present (w); } +bool SPDesktopWidget::showInfoDialog( Glib::ustring const &message ) +{ + bool result = false; + GtkWindow *window = GTK_WINDOW( gtk_widget_get_toplevel( GTK_WIDGET(this) ) ); + if (window) + { + GtkWidget *dialog = gtk_message_dialog_new( + window, + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_OK, + "%s", message.c_str()); + gtk_window_set_title( GTK_WINDOW(dialog), _("Note:")); // probably want to take this as a parameter. + gint response = gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + } + return result; +} + bool SPDesktopWidget::warnDialog (gchar* text) { @@ -1575,8 +1592,8 @@ void SPDesktopWidget::namedviewModified(SPObject *obj, guint flags) } // children } // if aux_toolbox is a container - gtk_tooltips_set_tip(this->tt, this->hruler_box, gettext(sp_unit_get_plural (nv->doc_units)), NULL); - gtk_tooltips_set_tip(this->tt, this->vruler_box, gettext(sp_unit_get_plural (nv->doc_units)), NULL); + gtk_widget_set_tooltip_text(this->hruler_box, gettext(sp_unit_get_plural (nv->doc_units))); + gtk_widget_set_tooltip_text(this->vruler_box, gettext(sp_unit_get_plural (nv->doc_units))); sp_desktop_widget_update_rulers(this); ToolboxFactory::updateSnapToolbox(this->desktop, 0, this->snap_toolbox); @@ -1786,7 +1803,7 @@ void sp_desktop_widget_toggle_rulers (SPDesktopWidget *dtw) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (GTK_WIDGET_VISIBLE (dtw->hruler)) { + if (gtk_widget_get_visible (dtw->hruler)) { gtk_widget_hide_all (dtw->hruler); gtk_widget_hide_all (dtw->vruler); prefs->setBool(dtw->desktop->is_fullscreen() ? "/fullscreen/rulers/state" : "/window/rulers/state", false); @@ -1801,7 +1818,7 @@ void sp_desktop_widget_toggle_scrollbars (SPDesktopWidget *dtw) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (GTK_WIDGET_VISIBLE (dtw->hscrollbar)) { + if (gtk_widget_get_visible (dtw->hscrollbar)) { gtk_widget_hide_all (dtw->hscrollbar); gtk_widget_hide_all (dtw->vscrollbar_box); gtk_widget_hide_all( dtw->cms_adjust ); @@ -1817,7 +1834,7 @@ sp_desktop_widget_toggle_scrollbars (SPDesktopWidget *dtw) void sp_desktop_widget_toggle_color_prof_adj( SPDesktopWidget *dtw ) { - if ( GTK_WIDGET_SENSITIVE( dtw->cms_adjust ) ) { + if ( gtk_widget_get_sensitive( dtw->cms_adjust ) ) { if ( SP_BUTTON_IS_DOWN(dtw->cms_adjust) ) { sp_button_toggle_set_down( SP_BUTTON(dtw->cms_adjust), FALSE ); } else { @@ -1831,7 +1848,7 @@ void sp_spw_toggle_menubar (SPDesktopWidget *dtw, bool is_fullscreen) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (GTK_WIDGET_VISIBLE (dtw->menubar)) { + if (gtk_widget_get_visible (dtw->menubar)) { gtk_widget_hide_all (dtw->menubar); prefs->setBool(is_fullscreen ? "/fullscreen/menu/state" : "/window/menu/state", false); } else { @@ -1869,9 +1886,8 @@ sp_desktop_widget_update_scrollbars (SPDesktopWidget *dtw, double scale) SPDocument *doc = dtw->desktop->doc(); Geom::Rect darea ( Geom::Point(-doc->getWidth(), -doc->getHeight()), Geom::Point(2 * doc->getWidth(), 2 * doc->getHeight()) ); - SPObject* root = doc->root; - SPItem* item = SP_ITEM(root); - Geom::OptRect deskarea = Geom::unify(darea, item->getBboxDesktop()); + + Geom::OptRect deskarea = Geom::unify(darea, doc->getRoot()->getBboxDesktop()); /* Canvas region we always show unconditionally */ Geom::Rect carea( Geom::Point(deskarea->min()[Geom::X] * scale - 64, deskarea->max()[Geom::Y] * -scale - 64), diff --git a/src/widgets/desktop-widget.h b/src/widgets/desktop-widget.h index 0102897e5..6c5af0aac 100644 --- a/src/widgets/desktop-widget.h +++ b/src/widgets/desktop-widget.h @@ -12,8 +12,7 @@ * ? -2004 */ -#include <gtk/gtktooltips.h> -#include <gtk/gtkwindow.h> +#include <gtk/gtk.h> #include "libnr/nr-point.h" #include "forward.h" @@ -31,10 +30,10 @@ struct SPCanvas; #define SP_TYPE_DESKTOP_WIDGET SPDesktopWidget::getType() -#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)) -#define SP_IS_DESKTOP_WIDGET(o) (GTK_CHECK_TYPE ((o), SP_TYPE_DESKTOP_WIDGET)) -#define SP_IS_DESKTOP_WIDGET_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_DESKTOP_WIDGET)) +#define SP_DESKTOP_WIDGET(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidget)) +#define SP_DESKTOP_WIDGET_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_DESKTOP_WIDGET, SPDesktopWidgetClass)) +#define SP_IS_DESKTOP_WIDGET(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_DESKTOP_WIDGET)) +#define SP_IS_DESKTOP_WIDGET_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_DESKTOP_WIDGET)) void sp_desktop_widget_destroy (SPDesktopWidget* dtw); @@ -70,8 +69,6 @@ struct SPDesktopWidget { sigc::connection modified_connection; - GtkTooltips *tt; - SPDesktop *desktop; Gtk::Window *window; @@ -200,8 +197,14 @@ struct SPDesktopWidget { { _dtw->setCoordinateStatus (p); } virtual void setMessage (Inkscape::MessageType type, gchar const* msg) { _dtw->setMessage (type, msg); } + + virtual bool showInfoDialog( Glib::ustring const &message ) { + return _dtw->showInfoDialog( message ); + } + virtual bool warnDialog (gchar* text) { return _dtw->warnDialog (text); } + virtual Inkscape::UI::Widget::Dock* getDock () { return _dtw->getDock(); } }; @@ -218,6 +221,7 @@ struct SPDesktopWidget { void setWindowSize (gint w, gint h); void setWindowTransient (void *p, int transient_policy); void presentWindow(); + bool showInfoDialog( Glib::ustring const &message ); bool warnDialog (gchar *text); void setToolboxFocusTo (gchar const *); void setToolboxAdjustmentValue (gchar const * id, double value); diff --git a/src/widgets/eek-preview.cpp b/src/widgets/eek-preview.cpp index 8fefbe75c..1ca656ae1 100644 --- a/src/widgets/eek-preview.cpp +++ b/src/widgets/eek-preview.cpp @@ -192,7 +192,7 @@ static guint eek_preview_signals[LAST_SIGNAL] = { 0 }; gboolean eek_preview_expose_event( GtkWidget* widget, GdkEventExpose* event ) { -/* g_message("Exposed!!! %s", GTK_WIDGET_HAS_FOCUS(widget) ? "XXX" : "---" ); */ +/* g_message("Exposed!!! %s", gtk_widget_has_focus(widget) ? "XXX" : "---" ); */ gint insetX = 0; gint insetY = 0; @@ -218,13 +218,13 @@ gboolean eek_preview_expose_event( GtkWidget* widget, GdkEventExpose* event ) } */ - if ( GTK_WIDGET_DRAWABLE( widget ) ) { + if ( gtk_widget_is_drawable( widget ) ) { GtkStyle* style = gtk_widget_get_style( widget ); if ( insetX > 0 || insetY > 0 ) { gtk_paint_flat_box( style, widget->window, - (GtkStateType)GTK_WIDGET_STATE(widget), + (GtkStateType)gtk_widget_get_state(widget), GTK_SHADOW_NONE, NULL, widget, @@ -379,7 +379,7 @@ gboolean eek_preview_expose_event( GtkWidget* widget, GdkEventExpose* event ) } - if ( GTK_WIDGET_HAS_FOCUS(widget) ) { + if ( gtk_widget_has_focus(widget) ) { gtk_paint_focus( style, widget->window, GTK_STATE_NORMAL, @@ -437,7 +437,7 @@ static gboolean eek_preview_button_press_cb( GtkWidget* widget, GdkEventButton* if ( gtk_get_event_widget( (GdkEvent*)event ) == widget ) { EekPreview* preview = EEK_PREVIEW(widget); - if ( preview->_takesFocus && !GTK_WIDGET_HAS_FOCUS(widget) ) { + if ( preview->_takesFocus && !gtk_widget_has_focus(widget) ) { gtk_widget_grab_focus(widget); } @@ -684,8 +684,8 @@ void eek_preview_set_details( EekPreview* preview, PreviewStyle prevstyle, ViewT static void eek_preview_init( EekPreview *preview ) { GtkWidget* widg = GTK_WIDGET(preview); - GTK_WIDGET_SET_FLAGS( widg, GTK_CAN_FOCUS ); - GTK_WIDGET_SET_FLAGS( widg, GTK_RECEIVES_DEFAULT ); + gtk_widget_set_can_focus( widg, TRUE ); + gtk_widget_set_receives_default( widg, TRUE ); gtk_widget_set_sensitive( widg, TRUE ); diff --git a/src/widgets/eek-preview.h b/src/widgets/eek-preview.h index 49fe8e660..c15f25eb6 100644 --- a/src/widgets/eek-preview.h +++ b/src/widgets/eek-preview.h @@ -40,8 +40,8 @@ #ifndef SEEN_EEK_PREVIEW_H #define SEEN_EEK_PREVIEW_H -#include <gdk/gdkpixbuf.h> -#include <gtk/gtkdrawingarea.h> +#include <gdk/gdk.h> +#include <gtk/gtk.h> G_BEGIN_DECLS diff --git a/src/widgets/ege-paint-def.cpp b/src/widgets/ege-paint-def.cpp index 2fc6927df..9eb54b039 100644 --- a/src/widgets/ege-paint-def.cpp +++ b/src/widgets/ege-paint-def.cpp @@ -50,6 +50,7 @@ #include <stdlib.h> #include <string.h> #include <stdio.h> +#include <glibmm/i18n.h> #include <glibmm/stringutils.h> #if !defined(_) diff --git a/src/widgets/fill-style.cpp b/src/widgets/fill-style.cpp index b4272a3a4..c6e97666a 100644 --- a/src/widgets/fill-style.cpp +++ b/src/widgets/fill-style.cpp @@ -23,7 +23,7 @@ #include <glibmm/i18n.h> #include <gtkmm/box.h> -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include "desktop.h" #include "selection.h" diff --git a/src/widgets/gradient-image.h b/src/widgets/gradient-image.h index e098beab4..ae5d40f56 100644 --- a/src/widgets/gradient-image.h +++ b/src/widgets/gradient-image.h @@ -13,7 +13,8 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include <gtk/gtkwidget.h> +#include <gtk/gtk.h> + class SPGradient; #include <glib.h> @@ -22,10 +23,10 @@ class SPGradient; #include <sigc++/connection.h> #define SP_TYPE_GRADIENT_IMAGE (sp_gradient_image_get_type ()) -#define SP_GRADIENT_IMAGE(o) (GTK_CHECK_CAST ((o), SP_TYPE_GRADIENT_IMAGE, SPGradientImage)) -#define SP_GRADIENT_IMAGE_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_GRADIENT_IMAGE, SPGradientImageClass)) -#define SP_IS_GRADIENT_IMAGE(o) (GTK_CHECK_TYPE ((o), SP_TYPE_GRADIENT_IMAGE)) -#define SP_IS_GRADIENT_IMAGE_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_GRADIENT_IMAGE)) +#define SP_GRADIENT_IMAGE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_GRADIENT_IMAGE, SPGradientImage)) +#define SP_GRADIENT_IMAGE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_GRADIENT_IMAGE, SPGradientImageClass)) +#define SP_IS_GRADIENT_IMAGE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_GRADIENT_IMAGE)) +#define SP_IS_GRADIENT_IMAGE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_GRADIENT_IMAGE)) struct SPGradientImage { GtkWidget widget; @@ -44,6 +45,4 @@ GtkType sp_gradient_image_get_type (void); GtkWidget *sp_gradient_image_new (SPGradient *gradient); void sp_gradient_image_set_gradient (SPGradientImage *gi, SPGradient *gr); - - #endif diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index f7a981c9f..a3110ed5b 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -16,11 +16,7 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif -#include <gtk/gtkhbox.h> -#include <gtk/gtklabel.h> -#include <gtk/gtkoptionmenu.h> -#include <gtk/gtkmenuitem.h> -#include <gtk/gtktooltips.h> +#include <gtk/gtk.h> #include "document.h" #include "../document-private.h" @@ -89,30 +85,34 @@ sp_gradient_selector_class_init (SPGradientSelectorClass *klass) parent_class = (GtkVBoxClass*)gtk_type_class (GTK_TYPE_VBOX); - signals[GRABBED] = gtk_signal_new ("grabbed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, grabbed), + signals[GRABBED] = g_signal_new ("grabbed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, grabbed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - signals[DRAGGED] = gtk_signal_new ("dragged", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, dragged), + G_TYPE_NONE, 0); + signals[DRAGGED] = g_signal_new ("dragged", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, dragged), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - signals[RELEASED] = gtk_signal_new ("released", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, released), + G_TYPE_NONE, 0); + signals[RELEASED] = g_signal_new ("released", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, released), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - signals[CHANGED] = gtk_signal_new ("changed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, changed), + G_TYPE_NONE, 0); + signals[CHANGED] = g_signal_new ("changed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, changed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); + G_TYPE_NONE, 0); object_class->destroy = sp_gradient_selector_destroy; } @@ -137,7 +137,6 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) GtkWidget *hb = gtk_hbox_new( FALSE, 0 ); sel->nonsolid.push_back(hb); gtk_box_pack_start( GTK_BOX(sel), hb, FALSE, FALSE, 0 ); - GtkTooltips *ttips = gtk_tooltips_new (); sel->add = gtk_button_new_with_label (_("Duplicate")); sel->nonsolid.push_back(sel->add); @@ -163,12 +162,12 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) sel->nonsolid.push_back(sel->spread); gtk_widget_show(sel->spread); gtk_box_pack_end( GTK_BOX(hb), sel->spread, FALSE, FALSE, 0 ); - gtk_tooltips_set_tip( ttips, sel->spread, + gtk_widget_set_tooltip_text( sel->spread, // TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute _("Whether to fill with flat color beyond the ends of the gradient vector " "(spreadMethod=\"pad\"), or repeat the gradient in the same direction " "(spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite " - "directions (spreadMethod=\"reflect\")"), NULL); + "directions (spreadMethod=\"reflect\")")); GtkWidget *m = gtk_menu_new(); GtkWidget *mi = gtk_menu_item_new_with_label(_("none")); @@ -360,7 +359,7 @@ sp_gradient_selector_add_vector_clicked (GtkWidget */*w*/, SPGradientSelector *s Inkscape::GC::release(stop); } - SP_DOCUMENT_DEFS(doc)->getRepr()->addChild(repr, NULL); + doc->getDefs()->getRepr()->addChild(repr, NULL); gr = (SPGradient *) doc->getObjectByRepr(repr); sp_gradient_vector_selector_set_gradient( diff --git a/src/widgets/gradient-selector.h b/src/widgets/gradient-selector.h index 860804ec6..d957f7baf 100644 --- a/src/widgets/gradient-selector.h +++ b/src/widgets/gradient-selector.h @@ -16,7 +16,7 @@ */ #include <glib.h> -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include <vector> #include "sp-gradient.h" #include "sp-gradient-spread.h" @@ -25,10 +25,10 @@ class SPGradient; #define SP_TYPE_GRADIENT_SELECTOR (sp_gradient_selector_get_type ()) -#define SP_GRADIENT_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_GRADIENT_SELECTOR, SPGradientSelector)) -#define SP_GRADIENT_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_GRADIENT_SELECTOR, SPGradientSelectorClass)) -#define SP_IS_GRADIENT_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_GRADIENT_SELECTOR)) -#define SP_IS_GRADIENT_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_GRADIENT_SELECTOR)) +#define SP_GRADIENT_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_GRADIENT_SELECTOR, SPGradientSelector)) +#define SP_GRADIENT_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_GRADIENT_SELECTOR, SPGradientSelectorClass)) +#define SP_IS_GRADIENT_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_GRADIENT_SELECTOR)) +#define SP_IS_GRADIENT_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_GRADIENT_SELECTOR)) diff --git a/src/widgets/gradient-toolbar.cpp b/src/widgets/gradient-toolbar.cpp index e7596ead4..9186044de 100644 --- a/src/widgets/gradient-toolbar.cpp +++ b/src/widgets/gradient-toolbar.cpp @@ -464,8 +464,6 @@ GtkWidget * gr_change_widget(SPDesktop *desktop) SPGradientSpread spr_selected = (SPGradientSpread) INT_MAX; // meaning undefined bool spr_multi = false; - GtkTooltips *tt = gtk_tooltips_new(); - gr_read_selection (selection, ev? ev->get_drag() : 0, gr_selected, gr_multi, spr_selected, spr_multi); GtkWidget *widget = gtk_hbox_new(FALSE, FALSE); @@ -484,10 +482,10 @@ GtkWidget * gr_change_widget(SPDesktop *desktop) { GtkWidget *hb = gtk_hbox_new(FALSE, 1); GtkWidget *b = gtk_button_new_with_label(_("Edit...")); - gtk_tooltips_set_tip(tt, b, _("Edit the stops of the gradient"), NULL); + gtk_widget_set_tooltip_text(b, _("Edit the stops of the gradient")); gtk_widget_show(b); gtk_container_add(GTK_CONTAINER(hb), b); - gtk_signal_connect(GTK_OBJECT(b), "clicked", GTK_SIGNAL_FUNC(gr_edit), widget); + g_signal_connect(G_OBJECT(b), "clicked", G_CALLBACK(gr_edit), widget); gtk_box_pack_start (GTK_BOX(buttons), hb, FALSE, FALSE, 0); } @@ -521,9 +519,9 @@ GtkWidget * gr_change_widget(SPDesktop *desktop) // connect to release and modified signals of the defs (i.e. when someone changes gradient) sigc::connection *release_connection = new sigc::connection(); - *release_connection = SP_DOCUMENT_DEFS(document)->connectRelease(sigc::bind<1>(sigc::ptr_fun(&gr_defs_release), widget)); + *release_connection = document->getDefs()->connectRelease(sigc::bind<1>(sigc::ptr_fun(&gr_defs_release), widget)); sigc::connection *modified_connection = new sigc::connection(); - *modified_connection = SP_DOCUMENT_DEFS(document)->connectModified(sigc::bind<2>(sigc::ptr_fun(&gr_defs_modified), widget)); + *modified_connection = document->getDefs()->connectModified(sigc::bind<2>(sigc::ptr_fun(&gr_defs_modified), widget)); // when widget is destroyed, disconnect g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(gr_disconnect_sigc), release_connection); @@ -542,8 +540,6 @@ sp_gradient_toolbox_new(SPDesktop *desktop) gtk_object_set_data(GTK_OBJECT(tbl), "dtw", desktop->canvas); gtk_object_set_data(GTK_OBJECT(tbl), "desktop", desktop); - GtkTooltips *tt = gtk_tooltips_new(); - sp_toolbox_add_label(tbl, _("<b>New:</b>")); // TODO replace aux_toolbox_space(tbl, AUX_SPACING); @@ -557,8 +553,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) SP_BUTTON_TYPE_TOGGLE, NULL, INKSCAPE_ICON_PAINT_GRADIENT_LINEAR, - _("Create linear gradient"), - tt); + _("Create linear gradient") ); g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_type), tbl); g_object_set_data(G_OBJECT(tbl), "linear", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), @@ -571,8 +566,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) SP_BUTTON_TYPE_TOGGLE, NULL, INKSCAPE_ICON_PAINT_GRADIENT_RADIAL, - _("Create radial (elliptic or circular) gradient"), - tt); + _("Create radial (elliptic or circular) gradient")); g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_type), tbl); g_object_set_data(G_OBJECT(tbl), "radial", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), @@ -599,8 +593,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) SP_BUTTON_TYPE_TOGGLE, NULL, INKSCAPE_ICON_OBJECT_FILL, - _("Create gradient in the fill"), - tt); + _("Create gradient in the fill")); g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_fillstroke), tbl); g_object_set_data(G_OBJECT(tbl), "fill", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), @@ -613,8 +606,7 @@ sp_gradient_toolbox_new(SPDesktop *desktop) SP_BUTTON_TYPE_TOGGLE, NULL, INKSCAPE_ICON_OBJECT_STROKE, - _("Create gradient in the stroke"), - tt); + _("Create gradient in the stroke")); g_signal_connect_after (G_OBJECT (button), "clicked", G_CALLBACK (gr_toggle_fillstroke), tbl); g_object_set_data(G_OBJECT(tbl), "stroke", button); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), diff --git a/src/widgets/gradient-toolbar.h b/src/widgets/gradient-toolbar.h index 41138724a..f1e258f6b 100644 --- a/src/widgets/gradient-toolbar.h +++ b/src/widgets/gradient-toolbar.h @@ -12,7 +12,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include <gtk/gtkwidget.h> +#include <gtk/gtk.h> struct SPDesktop; GtkWidget *sp_gradient_toolbox_new (SPDesktop *desktop); diff --git a/src/widgets/gradient-vector.cpp b/src/widgets/gradient-vector.cpp index 737b3d7bb..a58b22d7c 100644 --- a/src/widgets/gradient-vector.cpp +++ b/src/widgets/gradient-vector.cpp @@ -104,13 +104,14 @@ static void sp_gradient_vector_selector_class_init(SPGradientVectorSelectorClass parent_class = static_cast<GtkVBoxClass*>(gtk_type_class(GTK_TYPE_VBOX)); - signals[VECTOR_SET] = gtk_signal_new( "vector_set", - GTK_RUN_LAST, - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPGradientVectorSelectorClass, vector_set), - gtk_marshal_NONE__POINTER, - GTK_TYPE_NONE, 1, - GTK_TYPE_POINTER); + signals[VECTOR_SET] = g_signal_new( "vector_set", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET(SPGradientVectorSelectorClass, vector_set), + NULL, NULL, + gtk_marshal_NONE__POINTER, + G_TYPE_NONE, 1, + GTK_TYPE_POINTER); object_class->destroy = sp_gradient_vector_selector_destroy; } @@ -204,8 +205,8 @@ void sp_gradient_vector_selector_set_gradient(SPGradientVectorSelector *gvs, SPD // Connect signals if (doc) { - gvs->defs_release_connection = SP_DOCUMENT_DEFS(doc)->connectRelease(sigc::bind<1>(sigc::ptr_fun(&sp_gvs_defs_release), gvs)); - gvs->defs_modified_connection = SP_DOCUMENT_DEFS(doc)->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_gvs_defs_modified), gvs)); + gvs->defs_release_connection = doc->getDefs()->connectRelease(sigc::bind<1>(sigc::ptr_fun(&sp_gvs_defs_release), gvs)); + gvs->defs_modified_connection = doc->getDefs()->connectModified(sigc::bind<2>(sigc::ptr_fun(&sp_gvs_defs_modified), gvs)); } if (gr) { gvs->gradient_release_connection = gr->connectRelease(sigc::bind<1>(sigc::ptr_fun(&sp_gvs_gradient_release), gvs)); @@ -789,13 +790,12 @@ static GtkWidget * sp_gradient_vector_widget_new(SPGradient *gradient, SPStop *s gtk_box_pack_start(GTK_BOX(vb), w, TRUE, TRUE, PAD); sp_repr_add_listener(gradient->getRepr(), &grad_edit_dia_repr_events, vb); - GtkTooltips *tt = gtk_tooltips_new(); /* Stop list */ GtkWidget *mnu = gtk_option_menu_new(); /* Create new menu widget */ update_stop_list(GTK_WIDGET(mnu), gradient, NULL); - gtk_signal_connect(GTK_OBJECT(mnu), "changed", GTK_SIGNAL_FUNC(sp_grad_edit_select), vb); + g_signal_connect(G_OBJECT(mnu), "changed", G_CALLBACK(sp_grad_edit_select), vb); gtk_widget_show(mnu); gtk_object_set_data(GTK_OBJECT(vb), "stopmenu", mnu); gtk_box_pack_start(GTK_BOX(vb), mnu, FALSE, FALSE, 0); @@ -806,13 +806,13 @@ static GtkWidget * sp_gradient_vector_widget_new(SPGradient *gradient, SPStop *s GtkWidget *b = gtk_button_new_with_label(_("Add stop")); gtk_widget_show(b); gtk_container_add(GTK_CONTAINER(hb), b); - gtk_tooltips_set_tip(tt, b, _("Add another control stop to gradient"), NULL); - gtk_signal_connect(GTK_OBJECT(b), "clicked", GTK_SIGNAL_FUNC(sp_grd_ed_add_stop), vb); + gtk_widget_set_tooltip_text(b, _("Add another control stop to gradient")); + g_signal_connect(G_OBJECT(b), "clicked", G_CALLBACK(sp_grd_ed_add_stop), vb); b = gtk_button_new_with_label(_("Delete stop")); gtk_widget_show(b); gtk_container_add(GTK_CONTAINER(hb), b); - gtk_tooltips_set_tip(tt, b, _("Delete current control stop from gradient"), NULL); - gtk_signal_connect(GTK_OBJECT(b), "clicked", GTK_SIGNAL_FUNC(sp_grd_ed_del_stop), vb); + gtk_widget_set_tooltip_text(b, _("Delete current control stop from gradient")); + g_signal_connect(G_OBJECT(b), "clicked", G_CALLBACK(sp_grd_ed_del_stop), vb); gtk_widget_show(hb); gtk_box_pack_start(GTK_BOX(vb),hb, FALSE, FALSE, AUX_BETWEEN_BUTTON_GROUPS); @@ -859,10 +859,10 @@ static GtkWidget * sp_gradient_vector_widget_new(SPGradient *gradient, SPStop *s /* Signals */ - gtk_signal_connect(GTK_OBJECT(Offset_adj), "value_changed", - GTK_SIGNAL_FUNC(offadjustmentChanged), vb); + g_signal_connect(G_OBJECT(Offset_adj), "value_changed", + G_CALLBACK(offadjustmentChanged), vb); - // gtk_signal_connect(GTK_OBJECT(slider), "changed", GTK_SIGNAL_FUNC(offsliderChanged), vb); + // g_signal_connect(G_OBJECT(slider), "changed", G_CALLBACK(offsliderChanged), vb); gtk_widget_show(hb); gtk_box_pack_start(GTK_BOX(vb), hb, FALSE, FALSE, PAD); @@ -926,9 +926,9 @@ GtkWidget * sp_gradient_vector_editor_new(SPGradient *gradient, SPStop *stop) wd.win = dlg; wd.stop = 0; g_signal_connect(G_OBJECT(INKSCAPE), "activate_desktop", G_CALLBACK(sp_transientize_callback), &wd); - gtk_signal_connect(GTK_OBJECT(dlg), "event", GTK_SIGNAL_FUNC(sp_dialog_event_handler), dlg); - gtk_signal_connect(GTK_OBJECT(dlg), "destroy", G_CALLBACK(sp_gradient_vector_dialog_destroy), dlg); - gtk_signal_connect(GTK_OBJECT(dlg), "delete_event", G_CALLBACK(sp_gradient_vector_dialog_delete), dlg); + g_signal_connect(G_OBJECT(dlg), "event", G_CALLBACK(sp_dialog_event_handler), dlg); + g_signal_connect(G_OBJECT(dlg), "destroy", G_CALLBACK(sp_gradient_vector_dialog_destroy), dlg); + g_signal_connect(G_OBJECT(dlg), "delete_event", G_CALLBACK(sp_gradient_vector_dialog_delete), dlg); g_signal_connect(G_OBJECT(INKSCAPE), "shut_down", G_CALLBACK(sp_gradient_vector_dialog_delete), dlg); g_signal_connect( G_OBJECT(INKSCAPE), "dialogs_hide", G_CALLBACK(sp_dialog_hide), dlg ); g_signal_connect( G_OBJECT(INKSCAPE), "dialogs_unhide", G_CALLBACK(sp_dialog_unhide), dlg ); diff --git a/src/widgets/gradient-vector.h b/src/widgets/gradient-vector.h index 012d4e9a3..6b165aca2 100644 --- a/src/widgets/gradient-vector.h +++ b/src/widgets/gradient-vector.h @@ -20,14 +20,14 @@ #include <stddef.h> #include <sigc++/connection.h> -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include "../forward.h" #define SP_TYPE_GRADIENT_VECTOR_SELECTOR (sp_gradient_vector_selector_get_type ()) -#define SP_GRADIENT_VECTOR_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_GRADIENT_VECTOR_SELECTOR, SPGradientVectorSelector)) -#define SP_GRADIENT_VECTOR_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_GRADIENT_VECTOR_SELECTOR, SPGradientVectorSelectorClass)) -#define SP_IS_GRADIENT_VECTOR_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_GRADIENT_VECTOR_SELECTOR)) -#define SP_IS_GRADIENT_VECTOR_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_GRADIENT_VECTOR_SELECTOR)) +#define SP_GRADIENT_VECTOR_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_GRADIENT_VECTOR_SELECTOR, SPGradientVectorSelector)) +#define SP_GRADIENT_VECTOR_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_GRADIENT_VECTOR_SELECTOR, SPGradientVectorSelectorClass)) +#define SP_IS_GRADIENT_VECTOR_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_GRADIENT_VECTOR_SELECTOR)) +#define SP_IS_GRADIENT_VECTOR_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_GRADIENT_VECTOR_SELECTOR)) struct SPGradientVectorSelector { GtkVBox vbox; diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp index 88cf43588..450c5f0d9 100644 --- a/src/widgets/icon.cpp +++ b/src/widgets/icon.cpp @@ -177,7 +177,7 @@ void IconImpl::classInit(SPIconClass *klass) void IconImpl::init(SPIcon *icon) { - GTK_WIDGET_FLAGS(icon) |= GTK_NO_WINDOW; + gtk_widget_set_has_window (GTK_WIDGET (icon), FALSE); icon->lsize = Inkscape::ICON_SIZE_BUTTON; icon->psize = 0; icon->name = 0; @@ -225,14 +225,14 @@ void IconImpl::sizeAllocate(GtkWidget *widget, GtkAllocation *allocation) { widget->allocation = *allocation; - if (GTK_WIDGET_DRAWABLE(widget)) { + if (gtk_widget_is_drawable(widget)) { gtk_widget_queue_draw(widget); } } int IconImpl::expose(GtkWidget *widget, GdkEventExpose *event) { - if ( GTK_WIDGET_DRAWABLE(widget) ) { + if ( gtk_widget_is_drawable(widget) ) { SPIcon *icon = SP_ICON(widget); if ( !icon->pb ) { fetchPixbuf( icon ); @@ -996,13 +996,13 @@ void IconImpl::paint(SPIcon *icon, GdkRectangle const */*area*/) bool unref_image = false; /* copied from the expose function of GtkImage */ - if (GTK_WIDGET_STATE (icon) != GTK_STATE_NORMAL && image) { + if (gtk_widget_get_state (GTK_WIDGET(icon)) != GTK_STATE_NORMAL && image) { GtkIconSource *source = gtk_icon_source_new(); gtk_icon_source_set_pixbuf(source, icon->pb); gtk_icon_source_set_size(source, GTK_ICON_SIZE_SMALL_TOOLBAR); // note: this is boilerplate and not used gtk_icon_source_set_size_wildcarded(source, FALSE); image = gtk_style_render_icon (widget.style, source, gtk_widget_get_direction(&widget), - (GtkStateType) GTK_WIDGET_STATE(&widget), (GtkIconSize)-1, &widget, "gtk-image"); + (GtkStateType) gtk_widget_get_state(&widget), (GtkIconSize)-1, &widget, "gtk-image"); gtk_icon_source_free(source); unref_image = true; } diff --git a/src/widgets/icon.h b/src/widgets/icon.h index a20fad73a..f04d2f8da 100644 --- a/src/widgets/icon.h +++ b/src/widgets/icon.h @@ -19,10 +19,10 @@ #include "icon-size.h" #define SP_TYPE_ICON SPIcon::getType() -#define SP_ICON(o) (GTK_CHECK_CAST ((o), SP_TYPE_ICON, SPIcon)) -#define SP_IS_ICON(o) (GTK_CHECK_TYPE ((o), SP_TYPE_ICON)) +#define SP_ICON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_ICON, SPIcon)) +#define SP_IS_ICON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_ICON)) -#include <gtk/gtkwidget.h> +#include <gtk/gtk.h> struct SPIconClass { GtkWidgetClass parent_class; diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp index f0b55cf13..642837e61 100644 --- a/src/widgets/paint-selector.cpp +++ b/src/widgets/paint-selector.cpp @@ -23,14 +23,7 @@ #include <cstring> #include <string> -#include <gtk/gtkhbox.h> -#include <gtk/gtkradiobutton.h> -#include <gtk/gtkframe.h> -#include <gtk/gtklabel.h> -#include <gtk/gtkoptionmenu.h> -#include <gtk/gtktooltips.h> -#include <gtk/gtkmenuitem.h> -#include <gtk/gtkseparatormenuitem.h> +#include <gtk/gtk.h> #include "../sp-pattern.h" #include <glibmm/i18n.h> @@ -78,7 +71,7 @@ static void sp_paint_selector_class_init(SPPaintSelectorClass *klass); static void sp_paint_selector_init(SPPaintSelector *slider); static void sp_paint_selector_destroy(GtkObject *object); -static GtkWidget *sp_paint_selector_style_button_add(SPPaintSelector *psel, gchar const *px, SPPaintSelector::Mode mode, GtkTooltips *tt, gchar const *tip); +static GtkWidget *sp_paint_selector_style_button_add(SPPaintSelector *psel, gchar const *px, SPPaintSelector::Mode mode, gchar const *tip); static void sp_paint_selector_style_button_toggled(GtkToggleButton *tb, SPPaintSelector *psel); static void sp_paint_selector_fillrule_toggled(GtkToggleButton *tb, SPPaintSelector *psel); @@ -171,42 +164,48 @@ sp_paint_selector_class_init(SPPaintSelectorClass *klass) parent_class = (GtkVBoxClass*)gtk_type_class(GTK_TYPE_VBOX); - psel_signals[MODE_CHANGED] = gtk_signal_new("mode_changed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPPaintSelectorClass, mode_changed), + psel_signals[MODE_CHANGED] = g_signal_new("mode_changed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPPaintSelectorClass, mode_changed), + NULL, NULL, gtk_marshal_NONE__UINT, - GTK_TYPE_NONE, 1, GTK_TYPE_UINT); - psel_signals[GRABBED] = gtk_signal_new("grabbed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPPaintSelectorClass, grabbed), + G_TYPE_NONE, 1, GTK_TYPE_UINT); + psel_signals[GRABBED] = g_signal_new("grabbed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPPaintSelectorClass, grabbed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - psel_signals[DRAGGED] = gtk_signal_new("dragged", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPPaintSelectorClass, dragged), + G_TYPE_NONE, 0); + psel_signals[DRAGGED] = g_signal_new("dragged", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPPaintSelectorClass, dragged), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - psel_signals[RELEASED] = gtk_signal_new("released", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPPaintSelectorClass, released), + G_TYPE_NONE, 0); + psel_signals[RELEASED] = g_signal_new("released", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPPaintSelectorClass, released), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - psel_signals[CHANGED] = gtk_signal_new("changed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPPaintSelectorClass, changed), + G_TYPE_NONE, 0); + psel_signals[CHANGED] = g_signal_new("changed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPPaintSelectorClass, changed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - psel_signals[FILLRULE_CHANGED] = gtk_signal_new("fillrule_changed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPPaintSelectorClass, fillrule_changed), + G_TYPE_NONE, 0); + psel_signals[FILLRULE_CHANGED] = g_signal_new("fillrule_changed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPPaintSelectorClass, fillrule_changed), + NULL, NULL, gtk_marshal_NONE__UINT, - GTK_TYPE_NONE, 1, GTK_TYPE_UINT); + G_TYPE_NONE, 1, GTK_TYPE_UINT); object_class->destroy = sp_paint_selector_destroy; } @@ -217,8 +216,6 @@ sp_paint_selector_class_init(SPPaintSelectorClass *klass) static void sp_paint_selector_init(SPPaintSelector *psel) { - GtkTooltips *tt = gtk_tooltips_new(); - psel->mode = static_cast<SPPaintSelector::Mode>(-1); // huh? do you mean 0xff? -- I think this means "not in the enum" /* Paint style button box */ @@ -229,19 +226,19 @@ sp_paint_selector_init(SPPaintSelector *psel) /* Buttons */ psel->none = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON_PAINT_NONE, - SPPaintSelector::MODE_NONE, tt, _("No paint")); + SPPaintSelector::MODE_NONE, _("No paint")); psel->solid = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON_PAINT_SOLID, - SPPaintSelector::MODE_COLOR_RGB, tt, _("Flat color")); + SPPaintSelector::MODE_COLOR_RGB, _("Flat color")); psel->gradient = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON_PAINT_GRADIENT_LINEAR, - SPPaintSelector::MODE_GRADIENT_LINEAR, tt, _("Linear gradient")); + SPPaintSelector::MODE_GRADIENT_LINEAR, _("Linear gradient")); psel->radial = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON_PAINT_GRADIENT_RADIAL, - SPPaintSelector::MODE_GRADIENT_RADIAL, tt, _("Radial gradient")); + SPPaintSelector::MODE_GRADIENT_RADIAL, _("Radial gradient")); psel->pattern = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON_PAINT_PATTERN, - SPPaintSelector::MODE_PATTERN, tt, _("Pattern")); + SPPaintSelector::MODE_PATTERN, _("Pattern")); psel->swatch = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON_PAINT_SWATCH, - SPPaintSelector::MODE_SWATCH, tt, _("Swatch")); + SPPaintSelector::MODE_SWATCH, _("Swatch")); psel->unset = sp_paint_selector_style_button_add(psel, INKSCAPE_ICON_PAINT_UNKNOWN, - SPPaintSelector::MODE_UNSET, tt, _("Unset paint (make it undefined so it can be inherited)")); + SPPaintSelector::MODE_UNSET, _("Unset paint (make it undefined so it can be inherited)")); /* Fillrule */ { @@ -253,23 +250,23 @@ sp_paint_selector_init(SPPaintSelector *psel) gtk_button_set_relief(GTK_BUTTON(psel->evenodd), GTK_RELIEF_NONE); gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(psel->evenodd), FALSE); // TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty - gtk_tooltips_set_tip(tt, psel->evenodd, _("Any path self-intersections or subpaths create holes in the fill (fill-rule: evenodd)"), NULL); + gtk_widget_set_tooltip_text(psel->evenodd, _("Any path self-intersections or subpaths create holes in the fill (fill-rule: evenodd)")); gtk_object_set_data(GTK_OBJECT(psel->evenodd), "mode", GUINT_TO_POINTER(SPPaintSelector::FILLRULE_EVENODD)); w = sp_icon_new(Inkscape::ICON_SIZE_DECORATION, INKSCAPE_ICON_FILL_RULE_EVEN_ODD); gtk_container_add(GTK_CONTAINER(psel->evenodd), w); gtk_box_pack_start(GTK_BOX(psel->fillrulebox), psel->evenodd, FALSE, FALSE, 0); - gtk_signal_connect(GTK_OBJECT(psel->evenodd), "toggled", GTK_SIGNAL_FUNC(sp_paint_selector_fillrule_toggled), psel); + g_signal_connect(G_OBJECT(psel->evenodd), "toggled", G_CALLBACK(sp_paint_selector_fillrule_toggled), psel); psel->nonzero = gtk_radio_button_new(gtk_radio_button_group(GTK_RADIO_BUTTON(psel->evenodd))); gtk_button_set_relief(GTK_BUTTON(psel->nonzero), GTK_RELIEF_NONE); gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(psel->nonzero), FALSE); // TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/painting.html#FillRuleProperty - gtk_tooltips_set_tip(tt, psel->nonzero, _("Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)"), NULL); + gtk_widget_set_tooltip_text(psel->nonzero, _("Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)")); gtk_object_set_data(GTK_OBJECT(psel->nonzero), "mode", GUINT_TO_POINTER(SPPaintSelector::FILLRULE_NONZERO)); w = sp_icon_new(Inkscape::ICON_SIZE_DECORATION, INKSCAPE_ICON_FILL_RULE_NONZERO); gtk_container_add(GTK_CONTAINER(psel->nonzero), w); gtk_box_pack_start(GTK_BOX(psel->fillrulebox), psel->nonzero, FALSE, FALSE, 0); - gtk_signal_connect(GTK_OBJECT(psel->nonzero), "toggled", GTK_SIGNAL_FUNC(sp_paint_selector_fillrule_toggled), psel); + g_signal_connect(G_OBJECT(psel->nonzero), "toggled", G_CALLBACK(sp_paint_selector_fillrule_toggled), psel); } /* Frame */ @@ -297,12 +294,12 @@ sp_paint_selector_destroy(GtkObject *object) static GtkWidget *sp_paint_selector_style_button_add(SPPaintSelector *psel, gchar const *pixmap, SPPaintSelector::Mode mode, - GtkTooltips *tt, gchar const *tip) + gchar const *tip) { GtkWidget *b, *w; b = gtk_toggle_button_new(); - gtk_tooltips_set_tip(tt, b, tip, NULL); + gtk_widget_set_tooltip_text(b, tip); gtk_widget_show(b); gtk_container_set_border_width(GTK_CONTAINER(b), 0); @@ -317,7 +314,7 @@ static GtkWidget *sp_paint_selector_style_button_add(SPPaintSelector *psel, gtk_container_add(GTK_CONTAINER(b), w); gtk_box_pack_start(GTK_BOX(psel->style), b, FALSE, FALSE, 0); - gtk_signal_connect(GTK_OBJECT(b), "toggled", GTK_SIGNAL_FUNC(sp_paint_selector_style_button_toggled), psel); + g_signal_connect(G_OBJECT(b), "toggled", G_CALLBACK(sp_paint_selector_style_button_toggled), psel); return b; } @@ -335,7 +332,7 @@ sp_paint_selector_fillrule_toggled(GtkToggleButton *tb, SPPaintSelector *psel) { if (!psel->update && gtk_toggle_button_get_active(tb)) { SPPaintSelector::FillRule fr = static_cast<SPPaintSelector::FillRule>(GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(tb), "mode"))); - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[FILLRULE_CHANGED], fr); + g_signal_emit(G_OBJECT(psel), psel_signals[FILLRULE_CHANGED], 0, fr); } } @@ -406,7 +403,7 @@ void SPPaintSelector::setMode(Mode mode) break; } this->mode = mode; - gtk_signal_emit(GTK_OBJECT(this), psel_signals[MODE_CHANGED], this->mode); + g_signal_emit(G_OBJECT(this), psel_signals[MODE_CHANGED], 0, this->mode); update = FALSE; } } @@ -619,17 +616,17 @@ sp_paint_selector_set_mode_none(SPPaintSelector *psel) static void sp_paint_selector_color_grabbed(SPColorSelector * /*csel*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[GRABBED]); + g_signal_emit(G_OBJECT(psel), psel_signals[GRABBED], 0); } static void sp_paint_selector_color_dragged(SPColorSelector * /*csel*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[DRAGGED]); + g_signal_emit(G_OBJECT(psel), psel_signals[DRAGGED], 0); } static void sp_paint_selector_color_released(SPColorSelector * /*csel*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[RELEASED]); + g_signal_emit(G_OBJECT(psel), psel_signals[RELEASED], 0); } static void @@ -637,7 +634,7 @@ sp_paint_selector_color_changed(SPColorSelector *csel, SPPaintSelector *psel) { csel->base->getColorAlpha( psel->color, psel->alpha ); - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[CHANGED]); + g_signal_emit(G_OBJECT(psel), psel_signals[CHANGED], 0); } static void sp_paint_selector_set_mode_color(SPPaintSelector *psel, SPPaintSelector::Mode /*mode*/) @@ -663,10 +660,10 @@ static void sp_paint_selector_set_mode_color(SPPaintSelector *psel, SPPaintSelec gtk_widget_show(csel); gtk_object_set_data(GTK_OBJECT(vb), "color-selector", csel); gtk_box_pack_start(GTK_BOX(vb), csel, TRUE, TRUE, 0); - gtk_signal_connect(GTK_OBJECT(csel), "grabbed", GTK_SIGNAL_FUNC(sp_paint_selector_color_grabbed), psel); - gtk_signal_connect(GTK_OBJECT(csel), "dragged", GTK_SIGNAL_FUNC(sp_paint_selector_color_dragged), psel); - gtk_signal_connect(GTK_OBJECT(csel), "released", GTK_SIGNAL_FUNC(sp_paint_selector_color_released), psel); - gtk_signal_connect(GTK_OBJECT(csel), "changed", GTK_SIGNAL_FUNC(sp_paint_selector_color_changed), psel); + g_signal_connect(G_OBJECT(csel), "grabbed", G_CALLBACK(sp_paint_selector_color_grabbed), psel); + g_signal_connect(G_OBJECT(csel), "dragged", G_CALLBACK(sp_paint_selector_color_dragged), psel); + g_signal_connect(G_OBJECT(csel), "released", G_CALLBACK(sp_paint_selector_color_released), psel); + g_signal_connect(G_OBJECT(csel), "changed", G_CALLBACK(sp_paint_selector_color_changed), psel); /* Pack everything to frame */ gtk_container_add(GTK_CONTAINER(psel->frame), vb); psel->selector = vb; @@ -686,22 +683,22 @@ static void sp_paint_selector_set_mode_color(SPPaintSelector *psel, SPPaintSelec static void sp_paint_selector_gradient_grabbed(SPColorSelector * /*csel*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[GRABBED]); + g_signal_emit(G_OBJECT(psel), psel_signals[GRABBED], 0); } static void sp_paint_selector_gradient_dragged(SPColorSelector * /*csel*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[DRAGGED]); + g_signal_emit(G_OBJECT(psel), psel_signals[DRAGGED], 0); } static void sp_paint_selector_gradient_released(SPColorSelector * /*csel*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[RELEASED]); + g_signal_emit(G_OBJECT(psel), psel_signals[RELEASED], 0); } static void sp_paint_selector_gradient_changed(SPColorSelector * /*csel*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[CHANGED]); + g_signal_emit(G_OBJECT(psel), psel_signals[CHANGED], 0); } static void sp_paint_selector_set_mode_gradient(SPPaintSelector *psel, SPPaintSelector::Mode mode) @@ -725,10 +722,10 @@ static void sp_paint_selector_set_mode_gradient(SPPaintSelector *psel, SPPaintSe /* Create new gradient selector */ gsel = sp_gradient_selector_new(); gtk_widget_show(gsel); - gtk_signal_connect(GTK_OBJECT(gsel), "grabbed", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_grabbed), psel); - gtk_signal_connect(GTK_OBJECT(gsel), "dragged", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_dragged), psel); - gtk_signal_connect(GTK_OBJECT(gsel), "released", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_released), psel); - gtk_signal_connect(GTK_OBJECT(gsel), "changed", GTK_SIGNAL_FUNC(sp_paint_selector_gradient_changed), psel); + g_signal_connect(G_OBJECT(gsel), "grabbed", G_CALLBACK(sp_paint_selector_gradient_grabbed), psel); + g_signal_connect(G_OBJECT(gsel), "dragged", G_CALLBACK(sp_paint_selector_gradient_dragged), psel); + g_signal_connect(G_OBJECT(gsel), "released", G_CALLBACK(sp_paint_selector_gradient_released), psel); + g_signal_connect(G_OBJECT(gsel), "changed", G_CALLBACK(sp_paint_selector_gradient_changed), psel); /* Pack everything to frame */ gtk_container_add(GTK_CONTAINER(psel->frame), gsel); psel->selector = gsel; @@ -769,7 +766,7 @@ static void sp_psel_pattern_destroy(GtkWidget *widget, SPPaintSelector * /*psel* static void sp_psel_pattern_change(GtkWidget * /*widget*/, SPPaintSelector *psel) { - gtk_signal_emit(GTK_OBJECT(psel), psel_signals[CHANGED]); + g_signal_emit(G_OBJECT(psel), psel_signals[CHANGED], 0); } @@ -1000,8 +997,8 @@ static void sp_paint_selector_set_mode_pattern(SPPaintSelector *psel, SPPaintSel GtkWidget *mnu = gtk_option_menu_new(); ink_pattern_menu(mnu); - gtk_signal_connect(GTK_OBJECT(mnu), "changed", GTK_SIGNAL_FUNC(sp_psel_pattern_change), psel); - gtk_signal_connect(GTK_OBJECT(mnu), "destroy", GTK_SIGNAL_FUNC(sp_psel_pattern_destroy), psel); + g_signal_connect(G_OBJECT(mnu), "changed", G_CALLBACK(sp_psel_pattern_change), psel); + g_signal_connect(G_OBJECT(mnu), "destroy", G_CALLBACK(sp_psel_pattern_destroy), psel); gtk_object_set_data(GTK_OBJECT(psel), "patternmenu", mnu); g_object_ref( G_OBJECT(mnu)); diff --git a/src/widgets/paint-selector.h b/src/widgets/paint-selector.h index f3aff5a68..c0e44683b 100644 --- a/src/widgets/paint-selector.h +++ b/src/widgets/paint-selector.h @@ -22,12 +22,12 @@ class SPGradient; #define SP_TYPE_PAINT_SELECTOR (sp_paint_selector_get_type ()) -#define SP_PAINT_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_PAINT_SELECTOR, SPPaintSelector)) -#define SP_PAINT_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_PAINT_SELECTOR, SPPaintSelectorClass)) -#define SP_IS_PAINT_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_PAINT_SELECTOR)) -#define SP_IS_PAINT_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_PAINT_SELECTOR)) +#define SP_PAINT_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_PAINT_SELECTOR, SPPaintSelector)) +#define SP_PAINT_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_PAINT_SELECTOR, SPPaintSelectorClass)) +#define SP_IS_PAINT_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_PAINT_SELECTOR)) +#define SP_IS_PAINT_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_PAINT_SELECTOR)) -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include "../forward.h" #include <color.h> diff --git a/src/widgets/ruler.cpp b/src/widgets/ruler.cpp index dd0336413..704d395f7 100644 --- a/src/widgets/ruler.cpp +++ b/src/widgets/ruler.cpp @@ -246,7 +246,7 @@ sp_ruler_common_draw_ticks (GtkRuler *ruler) g_return_if_fail (ruler != NULL); - if (!GTK_WIDGET_DRAWABLE (ruler)) + if (!gtk_widget_is_drawable (GTK_WIDGET (ruler))) return; g_object_get(G_OBJECT(ruler), "orientation", &orientation, NULL); @@ -425,6 +425,6 @@ sp_ruler_set_metric (GtkRuler *ruler, ruler->metric = const_cast<GtkRulerMetric *>(&sp_ruler_metrics[metric]); - if (GTK_WIDGET_DRAWABLE (ruler)) + if (gtk_widget_is_drawable (GTK_WIDGET (ruler))) gtk_widget_queue_draw (GTK_WIDGET (ruler)); } diff --git a/src/widgets/ruler.h b/src/widgets/ruler.h index 7a3509325..3c55b39c4 100644 --- a/src/widgets/ruler.h +++ b/src/widgets/ruler.h @@ -13,7 +13,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include <gtk/gtkruler.h> +#include <gtk/gtk.h> #include "sp-metric.h" #include <iostream> #include <glib.h> @@ -22,9 +22,9 @@ void sp_ruler_set_metric (GtkRuler * ruler, SPMetric metric); -#define SP_HRULER(obj) GTK_CHECK_CAST (obj, sp_hruler_get_type (), SPHRuler) -#define SP_HRULER_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, sp_hruler_get_type (), SPHRulerClass) -#define SP_IS_HRULER(obj) GTK_CHECK_TYPE (obj, sp_hruler_get_type ()) +#define SP_HRULER(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, sp_hruler_get_type (), SPHRuler) +#define SP_HRULER_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, sp_hruler_get_type (), SPHRulerClass) +#define SP_IS_HRULER(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, sp_hruler_get_type ()) struct SPHRuler @@ -47,9 +47,9 @@ GtkWidget* sp_hruler_new (void); -#define SP_VRULER(obj) GTK_CHECK_CAST (obj, sp_vruler_get_type (), SPVRuler) -#define SP_VRULER_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, sp_vruler_get_type (), SPVRulerClass) -#define SP_IS_VRULER(obj) GTK_CHECK_TYPE (obj, sp_vruler_get_type ()) +#define SP_VRULER(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, sp_vruler_get_type (), SPVRuler) +#define SP_VRULER_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, sp_vruler_get_type (), SPVRulerClass) +#define SP_IS_VRULER(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, sp_vruler_get_type ()) struct SPVRuler diff --git a/src/widgets/select-toolbar.cpp b/src/widgets/select-toolbar.cpp index 89253983b..7012badf8 100644 --- a/src/widgets/select-toolbar.cpp +++ b/src/widgets/select-toolbar.cpp @@ -17,12 +17,12 @@ #endif #include <gtk/gtk.h> -#include <gtk/gtkaction.h> #include "widgets/button.h" #include "widgets/spw-utilities.h" #include "widgets/widget-sizes.h" #include "widgets/spinbutton-events.h" +#include "ui/widget/spinbutton.h" #include "widgets/icon.h" #include "widgets/sp-widget.h" @@ -255,6 +255,16 @@ sp_object_layout_any_value_changed(GtkAdjustment *adj, SPWidget *spw) g_object_set_data(G_OBJECT(spw), "update", GINT_TO_POINTER(FALSE)); } +static GtkWidget* createCustomSlider( GtkAdjustment *adjustment, gdouble climbRate, guint digits ) +{ + Inkscape::UI::Widget::SpinButton *inkSpinner = new Inkscape::UI::Widget::SpinButton(*Glib::wrap(adjustment, true), climbRate, digits); + inkSpinner = Gtk::manage( inkSpinner ); + GtkWidget *widget = GTK_WIDGET( inkSpinner->gobj() ); + return widget; +} + +// TODO create_adjustment_action appears to be a rogue tile copy from toolbox.cpp. Resolve it to be unified: + static EgeAdjustmentAction * create_adjustment_action( gchar const *name, gchar const *label, gchar const *shortLabel, @@ -266,6 +276,12 @@ static EgeAdjustmentAction * create_adjustment_action( gchar const *name, gchar const *tooltip, gboolean altx ) { + static bool init = false; + if ( !init ) { + init = true; + ege_adjustment_action_set_compact_tool_factory( createCustomSlider ); + } + GtkAdjustment* adj = GTK_ADJUSTMENT( gtk_adjustment_new( 0.0, lower, 1e6, SPIN_STEP, SPIN_PAGE_STEP, 0 ) ); if (tracker) { tracker->addAdjustment(adj); @@ -279,7 +295,7 @@ static EgeAdjustmentAction * create_adjustment_action( gchar const *name, g_object_set( act, "short_label", Q_(shortLabel), NULL ); } - gtk_signal_connect( GTK_OBJECT(adj), "value_changed", GTK_SIGNAL_FUNC(sp_object_layout_any_value_changed), spw ); + g_signal_connect( G_OBJECT(adj), "value_changed", G_CALLBACK(sp_object_layout_any_value_changed), spw ); if ( focusTarget ) { ege_adjustment_action_set_focuswidget( act, focusTarget ); } @@ -382,7 +398,7 @@ static GtkAction* create_action_for_verb( Inkscape::Verb* verb, Inkscape::UI::Vi InkAction* inky = ink_action_new( verb->get_id(), verb->get_name(), verb->get_tip(), verb->get_image(), size ); act = GTK_ACTION(inky); - g_signal_connect( G_OBJECT(inky), "activate", GTK_SIGNAL_FUNC(trigger_sp_action), targetAction ); + g_signal_connect( G_OBJECT(inky), "activate", G_CALLBACK(trigger_sp_action), targetAction ); Inkscape::queueIconPrerender( verb->get_image(), size ); @@ -502,8 +518,8 @@ void sp_select_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GOb g_object_set_data( G_OBJECT(spw), "contextActions", contextActions ); // Force update when selection changes. - gtk_signal_connect(GTK_OBJECT(spw), "modify_selection", GTK_SIGNAL_FUNC(sp_selection_layout_widget_modify_selection), desktop); - gtk_signal_connect(GTK_OBJECT(spw), "change_selection", GTK_SIGNAL_FUNC(sp_selection_layout_widget_change_selection), desktop); + g_signal_connect(G_OBJECT(spw), "modify_selection", G_CALLBACK(sp_selection_layout_widget_modify_selection), desktop); + g_signal_connect(G_OBJECT(spw), "change_selection", G_CALLBACK(sp_selection_layout_widget_change_selection), desktop); // Update now. sp_selection_layout_widget_update(SP_WIDGET(spw), SP_ACTIVE_DESKTOP ? sp_desktop_selection(SP_ACTIVE_DESKTOP) : NULL); diff --git a/src/widgets/select-toolbar.h b/src/widgets/select-toolbar.h index dbab1975a..a4c42880f 100644 --- a/src/widgets/select-toolbar.h +++ b/src/widgets/select-toolbar.h @@ -14,8 +14,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include <gtk/gtkactiongroup.h> -#include <gtk/gtkstyle.h> +#include <gtk/gtk.h> struct SPDesktop; void sp_select_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); diff --git a/src/widgets/shrink-wrap-button.cpp b/src/widgets/shrink-wrap-button.cpp index d73f972d9..e0c9e3cd1 100644 --- a/src/widgets/shrink-wrap-button.cpp +++ b/src/widgets/shrink-wrap-button.cpp @@ -10,7 +10,7 @@ */ #include <gtkmm/button.h> -#include <gtk/gtkbin.h> +#include <gtk/gtk.h> namespace Inkscape { namespace Widgets { diff --git a/src/widgets/sp-attribute-widget.cpp b/src/widgets/sp-attribute-widget.cpp index a64a03f4e..66ccb27f2 100644 --- a/src/widgets/sp-attribute-widget.cpp +++ b/src/widgets/sp-attribute-widget.cpp @@ -9,8 +9,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include <gtk/gtktable.h> -#include <gtk/gtklabel.h> +#include <gtk/gtk.h> #include "xml/repr.h" #include "macros.h" #include "document.h" diff --git a/src/widgets/sp-attribute-widget.h b/src/widgets/sp-attribute-widget.h index 617c5b012..5d23e6754 100644 --- a/src/widgets/sp-attribute-widget.h +++ b/src/widgets/sp-attribute-widget.h @@ -18,16 +18,16 @@ #include <sigc++/connection.h> #define SP_TYPE_ATTRIBUTE_WIDGET (sp_attribute_widget_get_type ()) -#define SP_ATTRIBUTE_WIDGET(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_ATTRIBUTE_WIDGET, SPAttributeWidget)) -#define SP_ATTRIBUTE_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_ATTRIBUTE_WIDGET, SPAttributeWidgetClass)) -#define SP_IS_ATTRIBUTE_WIDGET(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_ATTRIBUTE_WIDGET)) -#define SP_IS_ATTRIBUTE_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_ATTRIBUTE_WIDGET)) +#define SP_ATTRIBUTE_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_ATTRIBUTE_WIDGET, SPAttributeWidget)) +#define SP_ATTRIBUTE_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_ATTRIBUTE_WIDGET, SPAttributeWidgetClass)) +#define SP_IS_ATTRIBUTE_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_ATTRIBUTE_WIDGET)) +#define SP_IS_ATTRIBUTE_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_ATTRIBUTE_WIDGET)) #define SP_TYPE_ATTRIBUTE_TABLE (sp_attribute_table_get_type ()) -#define SP_ATTRIBUTE_TABLE(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_ATTRIBUTE_TABLE, SPAttributeTable)) -#define SP_ATTRIBUTE_TABLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_ATTRIBUTE_TABLE, SPAttributeTableClass)) -#define SP_IS_ATTRIBUTE_TABLE(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_ATTRIBUTE_TABLE)) -#define SP_IS_ATTRIBUTE_TABLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_ATTRIBUTE_TABLE)) +#define SP_ATTRIBUTE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_ATTRIBUTE_TABLE, SPAttributeTable)) +#define SP_ATTRIBUTE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_ATTRIBUTE_TABLE, SPAttributeTableClass)) +#define SP_IS_ATTRIBUTE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_ATTRIBUTE_TABLE)) +#define SP_IS_ATTRIBUTE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_ATTRIBUTE_TABLE)) namespace Inkscape { namespace XML { @@ -42,8 +42,7 @@ struct SPAttributeWidgetClass; struct SPAttributeTable; struct SPAttributeTableClass; -#include <gtk/gtkentry.h> -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include <forward.h> diff --git a/src/widgets/sp-color-gtkselector.h b/src/widgets/sp-color-gtkselector.h index b9b2b0862..3142406c1 100644 --- a/src/widgets/sp-color-gtkselector.h +++ b/src/widgets/sp-color-gtkselector.h @@ -1,7 +1,7 @@ #ifndef SEEN_SP_COLOR_GTKSELECTOR_H #define SEEN_SP_COLOR_GTKSELECTOR_H -#include <gtk/gtkcolorsel.h> +#include <gtk/gtk.h> #include "../color.h" #include "sp-color-selector.h" @@ -33,10 +33,10 @@ protected: #define SP_TYPE_COLOR_GTKSELECTOR (sp_color_gtkselector_get_type ()) -#define SP_COLOR_GTKSELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_GTKSELECTOR, SPColorGtkselector)) -#define SP_COLOR_GTKSELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_GTKSELECTOR, SPColorGtkselectorClass)) -#define SP_IS_COLOR_GTKSELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_GTKSELECTOR)) -#define SP_IS_COLOR_GTKSELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_GTKSELECTOR)) +#define SP_COLOR_GTKSELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_GTKSELECTOR, SPColorGtkselector)) +#define SP_COLOR_GTKSELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_GTKSELECTOR, SPColorGtkselectorClass)) +#define SP_IS_COLOR_GTKSELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_GTKSELECTOR)) +#define SP_IS_COLOR_GTKSELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_GTKSELECTOR)) struct SPColorGtkselector { SPColorSelector base; diff --git a/src/widgets/sp-color-icc-selector.cpp b/src/widgets/sp-color-icc-selector.cpp index 12467041c..3a2c7fbed 100644 --- a/src/widgets/sp-color-icc-selector.cpp +++ b/src/widgets/sp-color-icc-selector.cpp @@ -2,12 +2,7 @@ # include "config.h" #endif #include <math.h> -#include <gtk/gtkbutton.h> #include <gtk/gtk.h> -#include <gtk/gtksignal.h> -#include <gtk/gtklabel.h> -#include <gtk/gtktable.h> -#include <gtk/gtkspinbutton.h> #include <glibmm/i18n.h> #include "../dialogs/dialog-events.h" #include "sp-color-icc-selector.h" @@ -25,7 +20,6 @@ #ifdef DEBUG_LCMS #include "preferences.h" -#include <gtk/gtkmessagedialog.h> #endif // DEBUG_LCMS #endif // ENABLE_LCMS @@ -143,8 +137,7 @@ ColorICCSelector::ColorICCSelector( SPColorSelector* csel ) _fooMap(0), _adj(0), _sbtn(0), - _label(0), - _tt(0) + _label(0) #if ENABLE_LCMS , _profileName(""), @@ -276,8 +269,6 @@ void ColorICCSelector::init() _updating = FALSE; _dragging = FALSE; - _tt = gtk_tooltips_new(); - t = gtk_table_new (5, 3, FALSE); gtk_widget_show (t); gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 0); @@ -296,7 +287,7 @@ void ColorICCSelector::init() _fixupBtn = gtk_button_new_with_label(_("Fix")); g_signal_connect( G_OBJECT(_fixupBtn), "clicked", G_CALLBACK(_fixupHit), (gpointer)this ); gtk_widget_set_sensitive( _fixupBtn, FALSE ); - gtk_tooltips_set_tip( _tt, _fixupBtn, _("Fix RGB fallback to match icc-color() value."), NULL ); + gtk_widget_set_tooltip_text( _fixupBtn, _("Fix RGB fallback to match icc-color() value.") ); //gtk_misc_set_alignment( GTK_MISC (_fixupBtn), 1.0, 0.5 ); gtk_widget_show( _fixupBtn ); gtk_table_attach( GTK_TABLE (t), _fixupBtn, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD ); @@ -344,18 +335,18 @@ void ColorICCSelector::init() /* Slider */ _fooSlider[i] = sp_color_slider_new( _fooAdj[i] ); #if ENABLE_LCMS - gtk_tooltips_set_tip( _tt, _fooSlider[i], tips[i], NULL ); + gtk_widget_set_tooltip_text( _fooSlider[i], tips[i] ); #else - gtk_tooltips_set_tip( _tt, _fooSlider[i], ".", NULL ); + gtk_widget_set_tooltip_text( _fooSlider[i], "." ); #endif // ENABLE_LCMS gtk_widget_show( _fooSlider[i] ); gtk_table_attach( GTK_TABLE (t), _fooSlider[i], 1, 2, row, row + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)GTK_FILL, XPAD, YPAD ); _fooBtn[i] = gtk_spin_button_new( _fooAdj[i], step, digits ); #if ENABLE_LCMS - gtk_tooltips_set_tip( _tt, _fooBtn[i], tips[i], NULL ); + gtk_widget_set_tooltip_text( _fooBtn[i], tips[i] ); #else - gtk_tooltips_set_tip( _tt, _fooBtn[i], ".", NULL ); + gtk_widget_set_tooltip_text( _fooBtn[i], "." ); #endif // ENABLE_LCMS sp_dialog_defocus_on_enter( _fooBtn[i] ); gtk_label_set_mnemonic_widget( GTK_LABEL(_fooLabel[i]), _fooBtn[i] ); @@ -367,11 +358,11 @@ void ColorICCSelector::init() /* Signals */ - gtk_signal_connect( GTK_OBJECT( _fooAdj[i] ), "value_changed", GTK_SIGNAL_FUNC( _adjustmentChanged ), _csel ); + g_signal_connect( G_OBJECT( _fooAdj[i] ), "value_changed", G_CALLBACK( _adjustmentChanged ), _csel ); - gtk_signal_connect( GTK_OBJECT( _fooSlider[i] ), "grabbed", GTK_SIGNAL_FUNC( _sliderGrabbed ), _csel ); - gtk_signal_connect( GTK_OBJECT( _fooSlider[i] ), "released", GTK_SIGNAL_FUNC( _sliderReleased ), _csel ); - gtk_signal_connect( GTK_OBJECT( _fooSlider[i] ), "changed", GTK_SIGNAL_FUNC( _sliderChanged ), _csel ); + g_signal_connect( G_OBJECT( _fooSlider[i] ), "grabbed", G_CALLBACK( _sliderGrabbed ), _csel ); + g_signal_connect( G_OBJECT( _fooSlider[i] ), "released", G_CALLBACK( _sliderReleased ), _csel ); + g_signal_connect( G_OBJECT( _fooSlider[i] ), "changed", G_CALLBACK( _sliderChanged ), _csel ); row++; } @@ -387,7 +378,7 @@ void ColorICCSelector::init() /* Slider */ _slider = sp_color_slider_new (_adj); - gtk_tooltips_set_tip (_tt, _slider, _("Alpha (opacity)"), NULL); + gtk_widget_set_tooltip_text (_slider, _("Alpha (opacity)")); gtk_widget_show (_slider); gtk_table_attach (GTK_TABLE (t), _slider, 1, 2, row, row + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)GTK_FILL, XPAD, YPAD); @@ -399,22 +390,22 @@ void ColorICCSelector::init() /* Spinbutton */ _sbtn = gtk_spin_button_new (GTK_ADJUSTMENT (_adj), 1.0, 0); - gtk_tooltips_set_tip (_tt, _sbtn, _("Alpha (opacity)"), NULL); + gtk_widget_set_tooltip_text (_sbtn, _("Alpha (opacity)")); sp_dialog_defocus_on_enter (_sbtn); gtk_label_set_mnemonic_widget (GTK_LABEL(_label), _sbtn); gtk_widget_show (_sbtn); gtk_table_attach (GTK_TABLE (t), _sbtn, 2, 3, row, row + 1, (GtkAttachOptions)0, (GtkAttachOptions)0, XPAD, YPAD); /* Signals */ - gtk_signal_connect (GTK_OBJECT (_adj), "value_changed", - GTK_SIGNAL_FUNC (_adjustmentChanged), _csel); - - gtk_signal_connect (GTK_OBJECT (_slider), "grabbed", - GTK_SIGNAL_FUNC (_sliderGrabbed), _csel); - gtk_signal_connect (GTK_OBJECT (_slider), "released", - GTK_SIGNAL_FUNC (_sliderReleased), _csel); - gtk_signal_connect (GTK_OBJECT (_slider), "changed", - GTK_SIGNAL_FUNC (_sliderChanged), _csel); + g_signal_connect (G_OBJECT (_adj), "value_changed", + G_CALLBACK (_adjustmentChanged), _csel); + + g_signal_connect (G_OBJECT (_slider), "grabbed", + G_CALLBACK (_sliderGrabbed), _csel); + g_signal_connect (G_OBJECT (_slider), "released", + G_CALLBACK (_sliderReleased), _csel); + g_signal_connect (G_OBJECT (_slider), "changed", + G_CALLBACK (_sliderChanged), _csel); } static void @@ -700,8 +691,8 @@ void ColorICCSelector::_setProfile( SVGICCColor* profile ) for ( guint i = 0; i < _profChannelCount; i++ ) { gtk_label_set_text_with_mnemonic( GTK_LABEL(_fooLabel[i]), names[i]); - gtk_tooltips_set_tip( _tt, _fooSlider[i], tips[i], NULL ); - gtk_tooltips_set_tip( _tt, _fooBtn[i], tips[i], NULL ); + gtk_widget_set_tooltip_text( _fooSlider[i], tips[i] ); + gtk_widget_set_tooltip_text( _fooBtn[i], tips[i] ); sp_color_slider_set_colors( SP_COLOR_SLIDER(_fooSlider[i]), SPColor(0.0, 0.0, 0.0).toRGBA32(0xff), @@ -709,7 +700,7 @@ void ColorICCSelector::_setProfile( SVGICCColor* profile ) SPColor(1.0, 1.0, 1.0).toRGBA32(0xff) ); /* _fooAdj[i] = GTK_ADJUSTMENT( gtk_adjustment_new( val, 0.0, _fooScales[i], step, page, page ) ); - gtk_signal_connect( GTK_OBJECT( _fooAdj[i] ), "value_changed", GTK_SIGNAL_FUNC( _adjustmentChanged ), _csel ); + g_signal_connect( G_OBJECT( _fooAdj[i] ), "value_changed", G_CALLBACK( _adjustmentChanged ), _csel ); sp_color_slider_set_adjustment( SP_COLOR_SLIDER(_fooSlider[i]), _fooAdj[i] ); gtk_spin_button_set_adjustment( GTK_SPIN_BUTTON(_fooBtn[i]), _fooAdj[i] ); diff --git a/src/widgets/sp-color-icc-selector.h b/src/widgets/sp-color-icc-selector.h index 9fd80c04a..9238e3f68 100644 --- a/src/widgets/sp-color-icc-selector.h +++ b/src/widgets/sp-color-icc-selector.h @@ -2,8 +2,7 @@ #define SEEN_SP_COLOR_ICC_SELECTOR_H #include <glib/gtypes.h> -#include <gtk/gtktooltips.h> -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include "../color.h" #include "sp-color-slider.h" @@ -67,8 +66,6 @@ protected: GtkWidget* _sbtn; /* Spinbutton */ GtkWidget* _label; /* Label */ - GtkTooltips* _tt; /* tooltip container */ - #if ENABLE_LCMS std::string _profileName; Inkscape::ColorProfile* _prof; @@ -85,10 +82,10 @@ private: #define SP_TYPE_COLOR_ICC_SELECTOR (sp_color_icc_selector_get_type ()) -#define SP_COLOR_ICC_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_ICC_SELECTOR, SPColorICCSelector)) -#define SP_COLOR_ICC_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_ICC_SELECTOR, SPColorICCSelectorClass)) -#define SP_IS_COLOR_ICC_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_ICC_SELECTOR)) -#define SP_IS_COLOR_ICC_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_ICC_SELECTOR)) +#define SP_COLOR_ICC_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_ICC_SELECTOR, SPColorICCSelector)) +#define SP_COLOR_ICC_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_ICC_SELECTOR, SPColorICCSelectorClass)) +#define SP_IS_COLOR_ICC_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_ICC_SELECTOR)) +#define SP_IS_COLOR_ICC_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_ICC_SELECTOR)) struct SPColorICCSelector { SPColorSelector parent; diff --git a/src/widgets/sp-color-notebook.cpp b/src/widgets/sp-color-notebook.cpp index 174971555..06e990dfb 100644 --- a/src/widgets/sp-color-notebook.cpp +++ b/src/widgets/sp-color-notebook.cpp @@ -203,8 +203,6 @@ void ColorNotebook::init() GType *selector_types = 0; guint selector_type_count = 0; - GtkTooltips *tt = gtk_tooltips_new (); - /* tempory hardcoding to get types loaded */ SP_TYPE_COLOR_SCALES; SP_TYPE_COLOR_WHEEL_SELECTOR; @@ -320,7 +318,7 @@ void ColorNotebook::init() // but first fix it so it remembers its settings in prefs and does not take that much space (entire vertical column!) //gtk_table_attach (GTK_TABLE (table), align, 2, 3, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD); - gtk_signal_connect_object(GTK_OBJECT(_btn), "event", GTK_SIGNAL_FUNC (sp_color_notebook_menu_handler), GTK_OBJECT(_csel)); + g_signal_connect_swapped(G_OBJECT(_btn), "event", G_CALLBACK (sp_color_notebook_menu_handler), G_OBJECT(_csel)); if ( !found ) { gtk_widget_set_sensitive (_btn, FALSE); @@ -336,24 +334,21 @@ void ColorNotebook::init() _box_colormanaged = gtk_event_box_new (); GtkWidget *colormanaged = gtk_image_new_from_icon_name ("color-management-icon", GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_container_add (GTK_CONTAINER (_box_colormanaged), colormanaged); - GtkTooltips *tooltips_colormanaged = gtk_tooltips_new (); - gtk_tooltips_set_tip (tooltips_colormanaged, _box_colormanaged, _("Color Managed"), ""); + gtk_widget_set_tooltip_text (_box_colormanaged, _("Color Managed")); gtk_widget_set_sensitive (_box_colormanaged, false); gtk_box_pack_start(GTK_BOX(rgbabox), _box_colormanaged, FALSE, FALSE, 2); _box_outofgamut = gtk_event_box_new (); GtkWidget *outofgamut = gtk_image_new_from_icon_name ("out-of-gamut-icon", GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_container_add (GTK_CONTAINER (_box_outofgamut), outofgamut); - GtkTooltips *tooltips_outofgamut = gtk_tooltips_new (); - gtk_tooltips_set_tip (tooltips_outofgamut, _box_outofgamut, _("Out of gamut!"), ""); + gtk_widget_set_tooltip_text (_box_outofgamut, _("Out of gamut!")); gtk_widget_set_sensitive (_box_outofgamut, false); gtk_box_pack_start(GTK_BOX(rgbabox), _box_outofgamut, FALSE, FALSE, 2); _box_toomuchink = gtk_event_box_new (); GtkWidget *toomuchink = gtk_image_new_from_icon_name ("too-much-ink-icon", GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_container_add (GTK_CONTAINER (_box_toomuchink), toomuchink); - GtkTooltips *tooltips_toomuchink = gtk_tooltips_new (); - gtk_tooltips_set_tip (tooltips_toomuchink, _box_toomuchink, _("Too much ink!"), ""); + gtk_widget_set_tooltip_text (_box_toomuchink, _("Too much ink!")); gtk_widget_set_sensitive (_box_toomuchink, false); gtk_box_pack_start(GTK_BOX(rgbabox), _box_toomuchink, FALSE, FALSE, 2); @@ -368,7 +363,7 @@ void ColorNotebook::init() sp_dialog_defocus_on_enter (_rgbae); gtk_entry_set_max_length (GTK_ENTRY (_rgbae), 8); gtk_entry_set_width_chars (GTK_ENTRY (_rgbae), 8); - gtk_tooltips_set_tip (tt, _rgbae, _("Hexadecimal RGBA value of the color"), NULL); + gtk_widget_set_tooltip_text (_rgbae, _("Hexadecimal RGBA value of the color")); gtk_box_pack_start(GTK_BOX(rgbabox), _rgbae, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL(_rgbal), _rgbae); @@ -388,10 +383,10 @@ void ColorNotebook::init() gtk_table_attach (GTK_TABLE (table), _p, 2, 3, row, row + 1, GTK_FILL, GTK_FILL, XPAD, YPAD); #endif - _switchId = g_signal_connect(GTK_OBJECT (_book), "switch-page", - GTK_SIGNAL_FUNC (sp_color_notebook_switch_page), SP_COLOR_NOTEBOOK(_csel)); + _switchId = g_signal_connect(G_OBJECT (_book), "switch-page", + G_CALLBACK (sp_color_notebook_switch_page), SP_COLOR_NOTEBOOK(_csel)); - _entryId = gtk_signal_connect (GTK_OBJECT (_rgbae), "changed", GTK_SIGNAL_FUNC (ColorNotebook::_rgbaEntryChangedHook), _csel); + _entryId = g_signal_connect (G_OBJECT (_rgbae), "changed", G_CALLBACK (ColorNotebook::_rgbaEntryChangedHook), _csel); } static void @@ -653,10 +648,10 @@ GtkWidget* ColorNotebook::addPage(GType page_type, guint submode) // g_message( "Hitting up for tab for '%s'", str ); tab_label = gtk_label_new(_(str)); gtk_notebook_append_page( GTK_NOTEBOOK (_book), page, tab_label ); - gtk_signal_connect (GTK_OBJECT (page), "grabbed", GTK_SIGNAL_FUNC (_entryGrabbed), _csel); - gtk_signal_connect (GTK_OBJECT (page), "dragged", GTK_SIGNAL_FUNC (_entryDragged), _csel); - gtk_signal_connect (GTK_OBJECT (page), "released", GTK_SIGNAL_FUNC (_entryReleased), _csel); - gtk_signal_connect (GTK_OBJECT (page), "changed", GTK_SIGNAL_FUNC (_entryChanged), _csel); + g_signal_connect (G_OBJECT (page), "grabbed", G_CALLBACK (_entryGrabbed), _csel); + g_signal_connect (G_OBJECT (page), "dragged", G_CALLBACK (_entryDragged), _csel); + g_signal_connect (G_OBJECT (page), "released", G_CALLBACK (_entryReleased), _csel); + g_signal_connect (G_OBJECT (page), "changed", G_CALLBACK (_entryChanged), _csel); } return page; diff --git a/src/widgets/sp-color-notebook.h b/src/widgets/sp-color-notebook.h index 0b9b2ed87..8d2988636 100644 --- a/src/widgets/sp-color-notebook.h +++ b/src/widgets/sp-color-notebook.h @@ -12,9 +12,7 @@ * This code is in public domain */ -#include <gtk/gtkvbox.h> -#include <gtk/gtknotebook.h> -#include <gtk/gtkentry.h> +#include <gtk/gtk.h> #include "../color.h" #include "sp-color-selector.h" @@ -78,10 +76,10 @@ private: #define SP_TYPE_COLOR_NOTEBOOK (sp_color_notebook_get_type ()) -#define SP_COLOR_NOTEBOOK(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebook)) -#define SP_COLOR_NOTEBOOK_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebookClass)) -#define SP_IS_COLOR_NOTEBOOK(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_NOTEBOOK)) -#define SP_IS_COLOR_NOTEBOOK_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_NOTEBOOK)) +#define SP_COLOR_NOTEBOOK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebook)) +#define SP_COLOR_NOTEBOOK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebookClass)) +#define SP_IS_COLOR_NOTEBOOK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_NOTEBOOK)) +#define SP_IS_COLOR_NOTEBOOK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_NOTEBOOK)) struct SPColorNotebook { SPColorSelector parent; /* Parent */ diff --git a/src/widgets/sp-color-scales.cpp b/src/widgets/sp-color-scales.cpp index fb8bb0795..25162dead 100644 --- a/src/widgets/sp-color-scales.cpp +++ b/src/widgets/sp-color-scales.cpp @@ -140,8 +140,6 @@ void ColorScales::init() _updating = FALSE; _dragging = FALSE; - _tt = gtk_tooltips_new(); - t = gtk_table_new (5, 3, FALSE); gtk_widget_show (t); gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 0); @@ -170,14 +168,14 @@ void ColorScales::init() /* Attach channel value to adjustment */ gtk_object_set_data (GTK_OBJECT (_a[i]), "channel", GINT_TO_POINTER (i)); /* Signals */ - gtk_signal_connect (GTK_OBJECT (_a[i]), "value_changed", - GTK_SIGNAL_FUNC (_adjustmentAnyChanged), _csel); - gtk_signal_connect (GTK_OBJECT (_s[i]), "grabbed", - GTK_SIGNAL_FUNC (_sliderAnyGrabbed), _csel); - gtk_signal_connect (GTK_OBJECT (_s[i]), "released", - GTK_SIGNAL_FUNC (_sliderAnyReleased), _csel); - gtk_signal_connect (GTK_OBJECT (_s[i]), "changed", - GTK_SIGNAL_FUNC (_sliderAnyChanged), _csel); + g_signal_connect (G_OBJECT (_a[i]), "value_changed", + G_CALLBACK (_adjustmentAnyChanged), _csel); + g_signal_connect (G_OBJECT (_s[i]), "grabbed", + G_CALLBACK (_sliderAnyGrabbed), _csel); + g_signal_connect (G_OBJECT (_s[i]), "released", + G_CALLBACK (_sliderAnyReleased), _csel); + g_signal_connect (G_OBJECT (_s[i]), "changed", + G_CALLBACK (_sliderAnyChanged), _csel); } /* Initial mode is none, so it works */ @@ -402,17 +400,17 @@ void ColorScales::setMode(SPColorScalesMode mode) case SP_COLOR_SCALES_MODE_RGB: _setRangeLimit(255.0); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[0]), _("_R:")); - gtk_tooltips_set_tip (_tt, _s[0], _("Red"), NULL); - gtk_tooltips_set_tip (_tt, _b[0], _("Red"), NULL); + gtk_widget_set_tooltip_text (_s[0], _("Red")); + gtk_widget_set_tooltip_text (_b[0], _("Red")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[1]), _("_G:")); - gtk_tooltips_set_tip (_tt, _s[1], _("Green"), NULL); - gtk_tooltips_set_tip (_tt, _b[1], _("Green"), NULL); + gtk_widget_set_tooltip_text (_s[1], _("Green")); + gtk_widget_set_tooltip_text (_b[1], _("Green")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[2]), _("_B:")); - gtk_tooltips_set_tip (_tt, _s[2], _("Blue"), NULL); - gtk_tooltips_set_tip (_tt, _b[2], _("Blue"), NULL); + gtk_widget_set_tooltip_text (_s[2], _("Blue")); + gtk_widget_set_tooltip_text (_b[2], _("Blue")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[3]), _("_A:")); - gtk_tooltips_set_tip (_tt, _s[3], _("Alpha (opacity)"), NULL); - gtk_tooltips_set_tip (_tt, _b[3], _("Alpha (opacity)"), NULL); + gtk_widget_set_tooltip_text (_s[3], _("Alpha (opacity)")); + gtk_widget_set_tooltip_text (_b[3], _("Alpha (opacity)")); sp_color_slider_set_map (SP_COLOR_SLIDER (_s[0]), NULL); gtk_widget_hide (_l[4]); gtk_widget_hide (_s[4]); @@ -428,17 +426,17 @@ void ColorScales::setMode(SPColorScalesMode mode) case SP_COLOR_SCALES_MODE_HSV: _setRangeLimit(255.0); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[0]), _("_H:")); - gtk_tooltips_set_tip (_tt, _s[0], _("Hue"), NULL); - gtk_tooltips_set_tip (_tt, _b[0], _("Hue"), NULL); + gtk_widget_set_tooltip_text (_s[0], _("Hue")); + gtk_widget_set_tooltip_text (_b[0], _("Hue")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[1]), _("_S:")); - gtk_tooltips_set_tip (_tt, _s[1], _("Saturation"), NULL); - gtk_tooltips_set_tip (_tt, _b[1], _("Saturation"), NULL); + gtk_widget_set_tooltip_text (_s[1], _("Saturation")); + gtk_widget_set_tooltip_text (_b[1], _("Saturation")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[2]), _("_L:")); - gtk_tooltips_set_tip (_tt, _s[2], _("Lightness"), NULL); - gtk_tooltips_set_tip (_tt, _b[2], _("Lightness"), NULL); + gtk_widget_set_tooltip_text (_s[2], _("Lightness")); + gtk_widget_set_tooltip_text (_b[2], _("Lightness")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[3]), _("_A:")); - gtk_tooltips_set_tip (_tt, _s[3], _("Alpha (opacity)"), NULL); - gtk_tooltips_set_tip (_tt, _b[3], _("Alpha (opacity)"), NULL); + gtk_widget_set_tooltip_text (_s[3], _("Alpha (opacity)")); + gtk_widget_set_tooltip_text (_b[3], _("Alpha (opacity)")); sp_color_slider_set_map (SP_COLOR_SLIDER (_s[0]), (guchar*)sp_color_scales_hue_map ()); gtk_widget_hide (_l[4]); gtk_widget_hide (_s[4]); @@ -456,20 +454,20 @@ void ColorScales::setMode(SPColorScalesMode mode) case SP_COLOR_SCALES_MODE_CMYK: _setRangeLimit(100.0); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[0]), _("_C:")); - gtk_tooltips_set_tip (_tt, _s[0], _("Cyan"), NULL); - gtk_tooltips_set_tip (_tt, _b[0], _("Cyan"), NULL); + gtk_widget_set_tooltip_text (_s[0], _("Cyan")); + gtk_widget_set_tooltip_text (_b[0], _("Cyan")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[1]), _("_M:")); - gtk_tooltips_set_tip (_tt, _s[1], _("Magenta"), NULL); - gtk_tooltips_set_tip (_tt, _b[1], _("Magenta"), NULL); + gtk_widget_set_tooltip_text (_s[1], _("Magenta")); + gtk_widget_set_tooltip_text (_b[1], _("Magenta")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[2]), _("_Y:")); - gtk_tooltips_set_tip (_tt, _s[2], _("Yellow"), NULL); - gtk_tooltips_set_tip (_tt, _b[2], _("Yellow"), NULL); + gtk_widget_set_tooltip_text (_s[2], _("Yellow")); + gtk_widget_set_tooltip_text (_b[2], _("Yellow")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[3]), _("_K:")); - gtk_tooltips_set_tip (_tt, _s[3], _("Black"), NULL); - gtk_tooltips_set_tip (_tt, _b[3], _("Black"), NULL); + gtk_widget_set_tooltip_text (_s[3], _("Black")); + gtk_widget_set_tooltip_text (_b[3], _("Black")); gtk_label_set_markup_with_mnemonic (GTK_LABEL (_l[4]), _("_A:")); - gtk_tooltips_set_tip (_tt, _s[4], _("Alpha (opacity)"), NULL); - gtk_tooltips_set_tip (_tt, _b[4], _("Alpha (opacity)"), NULL); + gtk_widget_set_tooltip_text (_s[4], _("Alpha (opacity)")); + gtk_widget_set_tooltip_text (_b[4], _("Alpha (opacity)")); sp_color_slider_set_map (SP_COLOR_SLIDER (_s[0]), NULL); gtk_widget_show (_l[4]); gtk_widget_show (_s[4]); diff --git a/src/widgets/sp-color-scales.h b/src/widgets/sp-color-scales.h index 21a85a08e..8ffe5e7a8 100644 --- a/src/widgets/sp-color-scales.h +++ b/src/widgets/sp-color-scales.h @@ -2,8 +2,7 @@ #define SEEN_SP_COLOR_SCALES_H #include <glib/gtypes.h> -#include <gtk/gtktooltips.h> -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include <color.h> #include <widgets/sp-color-slider.h> @@ -66,8 +65,6 @@ protected: GtkWidget *_b[5]; /* Spinbuttons */ GtkWidget *_l[5]; /* Labels */ - GtkTooltips *_tt; /* tooltip container */ - private: // By default, disallow copy constructor and assignment operator ColorScales(ColorScales const &obj); @@ -77,10 +74,10 @@ private: #define SP_TYPE_COLOR_SCALES (sp_color_scales_get_type()) -#define SP_COLOR_SCALES(o) (GTK_CHECK_CAST((o), SP_TYPE_COLOR_SCALES, SPColorScales)) -#define SP_COLOR_SCALES_CLASS(k) (GTK_CHECK_CLASS_CAST((k), SP_TYPE_COLOR_SCALES, SPColorScalesClass)) -#define SP_IS_COLOR_SCALES(o) (GTK_CHECK_TYPE((o), SP_TYPE_COLOR_SCALES)) -#define SP_IS_COLOR_SCALES_CLASS(k) (GTK_CHECK_CLASS_TYPE((k), SP_TYPE_COLOR_SCALES)) +#define SP_COLOR_SCALES(o) (G_TYPE_CHECK_INSTANCE_CAST((o), SP_TYPE_COLOR_SCALES, SPColorScales)) +#define SP_COLOR_SCALES_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SP_TYPE_COLOR_SCALES, SPColorScalesClass)) +#define SP_IS_COLOR_SCALES(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), SP_TYPE_COLOR_SCALES)) +#define SP_IS_COLOR_SCALES_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), SP_TYPE_COLOR_SCALES)) struct SPColorScales { SPColorSelector parent; diff --git a/src/widgets/sp-color-selector.cpp b/src/widgets/sp-color-selector.cpp index c6f13b391..bf3564d2e 100644 --- a/src/widgets/sp-color-selector.cpp +++ b/src/widgets/sp-color-selector.cpp @@ -7,7 +7,7 @@ # include "config.h" #endif #include <math.h> -#include <gtk/gtksignal.h> +#include <gtk/gtk.h> #include <glibmm/i18n.h> #include "sp-color-selector.h" @@ -70,28 +70,32 @@ void sp_color_selector_class_init( SPColorSelectorClass *klass ) parent_class = GTK_VBOX_CLASS( gtk_type_class(GTK_TYPE_VBOX) ); - csel_signals[GRABBED] = gtk_signal_new( "grabbed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPColorSelectorClass, grabbed), + csel_signals[GRABBED] = g_signal_new( "grabbed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPColorSelectorClass, grabbed), + NULL, NULL, gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0 ); - csel_signals[DRAGGED] = gtk_signal_new( "dragged", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPColorSelectorClass, dragged), + csel_signals[DRAGGED] = g_signal_new( "dragged", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPColorSelectorClass, dragged), + NULL, NULL, gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0 ); - csel_signals[RELEASED] = gtk_signal_new( "released", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPColorSelectorClass, released), + csel_signals[RELEASED] = g_signal_new( "released", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPColorSelectorClass, released), + NULL, NULL, gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0 ); - csel_signals[CHANGED] = gtk_signal_new( "changed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET(SPColorSelectorClass, changed), + csel_signals[CHANGED] = g_signal_new( "changed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET(SPColorSelectorClass, changed), + NULL, NULL, gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0 ); @@ -111,7 +115,7 @@ void sp_color_selector_init( SPColorSelector *csel ) { csel->base->init(); } -/* gtk_signal_connect(GTK_OBJECT(csel->rgbae), "changed", GTK_SIGNAL_FUNC(sp_color_selector_rgba_entry_changed), csel); */ +/* g_signal_connect(G_OBJECT(csel->rgbae), "changed", G_CALLBACK(sp_color_selector_rgba_entry_changed), csel); */ } void sp_color_selector_destroy( GtkObject *object ) @@ -230,7 +234,7 @@ void ColorSelector::setColorAlpha( const SPColor& color, gfloat alpha, bool emit _colorChanged(); if (emit) { - gtk_signal_emit(GTK_OBJECT(_csel), csel_signals[CHANGED]); + g_signal_emit(G_OBJECT(_csel), csel_signals[CHANGED], 0); } #ifdef DUMP_CHANGE_INFO } else { @@ -248,7 +252,7 @@ void ColorSelector::_grabbed() "GRABBED", FOO_NAME(_csel)); #endif - gtk_signal_emit(GTK_OBJECT(_csel), csel_signals[GRABBED]); + g_signal_emit(G_OBJECT(_csel), csel_signals[GRABBED], 0); } void ColorSelector::_released() @@ -259,8 +263,8 @@ void ColorSelector::_released() "RELEASED", FOO_NAME(_csel)); #endif - gtk_signal_emit(GTK_OBJECT(_csel), csel_signals[RELEASED]); - gtk_signal_emit(GTK_OBJECT(_csel), csel_signals[CHANGED]); + g_signal_emit(G_OBJECT(_csel), csel_signals[RELEASED], 0); + g_signal_emit(G_OBJECT(_csel), csel_signals[CHANGED], 0); } // Called from subclasses to update color and broadcast if needed @@ -288,7 +292,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole "GRABBED", color.toRGBA32( alpha ), (color.icc?color.icc->colorProfile.c_str():"<null>"), FOO_NAME(_csel)); #endif - gtk_signal_emit(GTK_OBJECT(_csel), csel_signals[GRABBED]); + g_signal_emit(G_OBJECT(_csel), csel_signals[GRABBED], 0); } else if ( released ) { @@ -297,7 +301,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole "RELEASED", color.toRGBA32( alpha ), (color.icc?color.icc->colorProfile.c_str():"<null>"), FOO_NAME(_csel)); #endif - gtk_signal_emit(GTK_OBJECT(_csel), csel_signals[RELEASED]); + g_signal_emit(G_OBJECT(_csel), csel_signals[RELEASED], 0); } if ( colorDifferent || released ) @@ -307,7 +311,7 @@ void ColorSelector::_updateInternals( const SPColor& color, gfloat alpha, gboole (_held ? "CHANGED" : "DRAGGED" ), color.toRGBA32( alpha ), (color.icc?color.icc->colorProfile.c_str():"<null>"), FOO_NAME(_csel)); #endif - gtk_signal_emit(GTK_OBJECT(_csel), csel_signals[_held ? CHANGED : DRAGGED]); + g_signal_emit(G_OBJECT(_csel), csel_signals[_held ? CHANGED : DRAGGED], 0); } } diff --git a/src/widgets/sp-color-selector.h b/src/widgets/sp-color-selector.h index 3b35140ed..c27cad45f 100644 --- a/src/widgets/sp-color-selector.h +++ b/src/widgets/sp-color-selector.h @@ -1,7 +1,7 @@ #ifndef SEEN_SP_COLOR_SELECTOR_H #define SEEN_SP_COLOR_SELECTOR_H -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include "../color.h" #include <glib.h> @@ -58,10 +58,10 @@ private: #define SP_TYPE_COLOR_SELECTOR (sp_color_selector_get_type ()) -#define SP_COLOR_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_SELECTOR, SPColorSelector)) -#define SP_COLOR_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_SELECTOR, SPColorSelectorClass)) -#define SP_IS_COLOR_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_SELECTOR)) -#define SP_IS_COLOR_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_SELECTOR)) +#define SP_COLOR_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_SELECTOR, SPColorSelector)) +#define SP_COLOR_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_SELECTOR, SPColorSelectorClass)) +#define SP_IS_COLOR_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_SELECTOR)) +#define SP_IS_COLOR_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_SELECTOR)) #define SP_COLOR_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SP_TYPE_COLOR_SELECTOR, SPColorSelectorClass)) struct SPColorSelector { diff --git a/src/widgets/sp-color-slider.cpp b/src/widgets/sp-color-slider.cpp index 0e30b1ce6..7b365bc73 100644 --- a/src/widgets/sp-color-slider.cpp +++ b/src/widgets/sp-color-slider.cpp @@ -1,5 +1,3 @@ -#define __SP_COLOR_SLIDER_C__ - /* * A slider with colored background * @@ -12,8 +10,7 @@ * This code is in public domain */ -#include <gtk/gtkversion.h> -#include <gtk/gtksignal.h> +#include <gtk/gtk.h> #include "sp-color-scales.h" #include "preferences.h" @@ -90,30 +87,34 @@ sp_color_slider_class_init (SPColorSliderClass *klass) parent_class = (GtkWidgetClass*)gtk_type_class (GTK_TYPE_WIDGET); - slider_signals[GRABBED] = gtk_signal_new ("grabbed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPColorSliderClass, grabbed), + slider_signals[GRABBED] = g_signal_new ("grabbed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPColorSliderClass, grabbed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - slider_signals[DRAGGED] = gtk_signal_new ("dragged", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPColorSliderClass, dragged), + G_TYPE_NONE, 0); + slider_signals[DRAGGED] = g_signal_new ("dragged", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPColorSliderClass, dragged), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - slider_signals[RELEASED] = gtk_signal_new ("released", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPColorSliderClass, released), + G_TYPE_NONE, 0); + slider_signals[RELEASED] = g_signal_new ("released", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPColorSliderClass, released), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - slider_signals[CHANGED] = gtk_signal_new ("changed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPColorSliderClass, changed), + G_TYPE_NONE, 0); + slider_signals[CHANGED] = g_signal_new ("changed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPColorSliderClass, changed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); + G_TYPE_NONE, 0); object_class->destroy = sp_color_slider_destroy; @@ -134,7 +135,7 @@ static void sp_color_slider_init (SPColorSlider *slider) { /* We are widget with window */ - GTK_WIDGET_UNSET_FLAGS (slider, GTK_NO_WINDOW); + gtk_widget_set_has_window (GTK_WIDGET(slider), TRUE); slider->dragging = FALSE; @@ -171,7 +172,7 @@ sp_color_slider_destroy (GtkObject *object) slider = SP_COLOR_SLIDER (object); if (slider->adjustment) { - gtk_signal_disconnect_by_data (GTK_OBJECT (slider->adjustment), slider); + g_signal_handlers_disconnect_matched (G_OBJECT (slider->adjustment), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, slider); gtk_object_unref (GTK_OBJECT (slider->adjustment)); slider->adjustment = NULL; } @@ -189,7 +190,7 @@ sp_color_slider_realize (GtkWidget *widget) slider = SP_COLOR_SLIDER (widget); - GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); + gtk_widget_set_realized (widget, TRUE); attributes.window_type = GDK_WINDOW_CHILD; attributes.x = widget->allocation.x; @@ -234,7 +235,7 @@ sp_color_slider_size_allocate (GtkWidget *widget, GtkAllocation *allocation) widget->allocation = *allocation; - if (GTK_WIDGET_REALIZED (widget)) { + if (gtk_widget_get_realized (widget)) { /* Resize GdkWindow */ gdk_window_move_resize (widget->window, allocation->x, allocation->y, allocation->width, allocation->height); } @@ -247,7 +248,7 @@ sp_color_slider_expose (GtkWidget *widget, GdkEventExpose *event) slider = SP_COLOR_SLIDER (widget); - if (GTK_WIDGET_DRAWABLE (widget)) { + if (gtk_widget_is_drawable (widget)) { gint width, height; width = widget->allocation.width; height = widget->allocation.height; @@ -268,11 +269,11 @@ sp_color_slider_button_press (GtkWidget *widget, GdkEventButton *event) gint cx, cw; cx = widget->style->xthickness; cw = widget->allocation.width - 2 * cx; - gtk_signal_emit (GTK_OBJECT (slider), slider_signals[GRABBED]); + g_signal_emit (G_OBJECT (slider), slider_signals[GRABBED], 0); slider->dragging = TRUE; slider->oldvalue = slider->value; ColorScales::setScaled( slider->adjustment, CLAMP ((gfloat) (event->x - cx) / cw, 0.0, 1.0) ); - gtk_signal_emit (GTK_OBJECT (slider), slider_signals[DRAGGED]); + g_signal_emit (G_OBJECT (slider), slider_signals[DRAGGED], 0); gdk_pointer_grab (widget->window, FALSE, (GdkEventMask)(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK), @@ -292,8 +293,8 @@ sp_color_slider_button_release (GtkWidget *widget, GdkEventButton *event) if (event->button == 1) { gdk_pointer_ungrab (event->time); slider->dragging = FALSE; - gtk_signal_emit (GTK_OBJECT (slider), slider_signals[RELEASED]); - if (slider->value != slider->oldvalue) gtk_signal_emit (GTK_OBJECT (slider), slider_signals[CHANGED]); + g_signal_emit (G_OBJECT (slider), slider_signals[RELEASED], 0); + if (slider->value != slider->oldvalue) g_signal_emit (G_OBJECT (slider), slider_signals[CHANGED], 0); } return FALSE; @@ -311,7 +312,7 @@ sp_color_slider_motion_notify (GtkWidget *widget, GdkEventMotion *event) cx = widget->style->xthickness; cw = widget->allocation.width - 2 * cx; ColorScales::setScaled( slider->adjustment, CLAMP ((gfloat) (event->x - cx) / cw, 0.0, 1.0) ); - gtk_signal_emit (GTK_OBJECT (slider), slider_signals[DRAGGED]); + g_signal_emit (G_OBJECT (slider), slider_signals[DRAGGED], 0); } return FALSE; @@ -329,25 +330,21 @@ sp_color_slider_new (GtkAdjustment *adjustment) return GTK_WIDGET (slider); } -void -sp_color_slider_set_adjustment (SPColorSlider *slider, GtkAdjustment *adjustment) +void sp_color_slider_set_adjustment(SPColorSlider *slider, GtkAdjustment *adjustment) { - g_return_if_fail (slider != NULL); - g_return_if_fail (SP_IS_COLOR_SLIDER (slider)); + g_return_if_fail (slider != NULL); + g_return_if_fail (SP_IS_COLOR_SLIDER (slider)); - if (!adjustment) { - adjustment = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, 1.0, 0.01, 0.0, 0.0); - } -#if GTK_CHECK_VERSION (2,14,0) - else { + if (!adjustment) { + adjustment = (GtkAdjustment *) gtk_adjustment_new (0.0, 0.0, 1.0, 0.01, 0.0, 0.0); + } else { gtk_adjustment_set_page_increment(adjustment, 0.0); gtk_adjustment_set_page_size(adjustment, 0.0); } -#endif if (slider->adjustment != adjustment) { if (slider->adjustment) { - gtk_signal_disconnect_by_data (GTK_OBJECT (slider->adjustment), slider); + g_signal_handlers_disconnect_matched (G_OBJECT (slider->adjustment), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, slider); gtk_object_unref (GTK_OBJECT (slider->adjustment)); } @@ -355,10 +352,10 @@ sp_color_slider_set_adjustment (SPColorSlider *slider, GtkAdjustment *adjustment gtk_object_ref (GTK_OBJECT (adjustment)); gtk_object_sink (GTK_OBJECT (adjustment)); - gtk_signal_connect (GTK_OBJECT (adjustment), "changed", - GTK_SIGNAL_FUNC (sp_color_slider_adjustment_changed), slider); - gtk_signal_connect (GTK_OBJECT (adjustment), "value_changed", - GTK_SIGNAL_FUNC (sp_color_slider_adjustment_value_changed), slider); + g_signal_connect (G_OBJECT (adjustment), "changed", + G_CALLBACK (sp_color_slider_adjustment_changed), slider); + g_signal_connect (G_OBJECT (adjustment), "value_changed", + G_CALLBACK (sp_color_slider_adjustment_value_changed), slider); slider->value = ColorScales::getScaled( adjustment ); diff --git a/src/widgets/sp-color-slider.h b/src/widgets/sp-color-slider.h index bdeb3e4b6..b8cfaf869 100644 --- a/src/widgets/sp-color-slider.h +++ b/src/widgets/sp-color-slider.h @@ -12,7 +12,7 @@ * This code is in public domain */ -#include <gtk/gtkwidget.h> +#include <gtk/gtk.h> #include <glib.h> @@ -22,10 +22,10 @@ struct SPColorSlider; struct SPColorSliderClass; #define SP_TYPE_COLOR_SLIDER (sp_color_slider_get_type ()) -#define SP_COLOR_SLIDER(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_SLIDER, SPColorSlider)) -#define SP_COLOR_SLIDER_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_SLIDER, SPColorSliderClass)) -#define SP_IS_COLOR_SLIDER(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_SLIDER)) -#define SP_IS_COLOR_SLIDER_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_SLIDER)) +#define SP_COLOR_SLIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_SLIDER, SPColorSlider)) +#define SP_COLOR_SLIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_SLIDER, SPColorSliderClass)) +#define SP_IS_COLOR_SLIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_SLIDER)) +#define SP_IS_COLOR_SLIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_SLIDER)) struct SPColorSlider { GtkWidget widget; diff --git a/src/widgets/sp-color-wheel-selector.cpp b/src/widgets/sp-color-wheel-selector.cpp index 2e36a024e..4bbda79a6 100644 --- a/src/widgets/sp-color-wheel-selector.cpp +++ b/src/widgets/sp-color-wheel-selector.cpp @@ -2,10 +2,7 @@ # include "config.h" #endif #include <math.h> -#include <gtk/gtksignal.h> -#include <gtk/gtklabel.h> -#include <gtk/gtktable.h> -#include <gtk/gtkspinbutton.h> +#include <gtk/gtk.h> #include <glibmm/i18n.h> #include "../dialogs/dialog-events.h" #include "sp-color-wheel-selector.h" @@ -135,14 +132,12 @@ static void resizeHSVWheel( GtkHSV *hsv, GtkAllocation *allocation ) gtk_hsv_set_metrics( hsv, diam, ring ); } -#if GTK_CHECK_VERSION(2,18,0) static void handleWheelStyleSet(GtkHSV *hsv, GtkStyle* /*previous*/, gpointer /*userData*/) { GtkAllocation allocation = {0, 0, 0, 0}; gtk_widget_get_allocation( GTK_WIDGET(hsv), &allocation ); resizeHSVWheel( hsv, &allocation ); } -#endif // GTK_CHECK_VERSION(2,18,0) static void handleWheelAllocation(GtkHSV *hsv, GtkAllocation *allocation, gpointer /*userData*/) { @@ -157,8 +152,6 @@ void ColorWheelSelector::init() _updating = FALSE; _dragging = FALSE; - _tt = gtk_tooltips_new(); - t = gtk_table_new (5, 3, FALSE); gtk_widget_show (t); gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 0); @@ -184,7 +177,7 @@ void ColorWheelSelector::init() /* Slider */ _slider = sp_color_slider_new (_adj); - gtk_tooltips_set_tip (_tt, _slider, _("Alpha (opacity)"), NULL); + gtk_widget_set_tooltip_text (_slider, _("Alpha (opacity)")); gtk_widget_show (_slider); gtk_table_attach (GTK_TABLE (t), _slider, 1, 2, row, row + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)GTK_FILL, XPAD, YPAD); @@ -196,34 +189,32 @@ void ColorWheelSelector::init() /* Spinbutton */ _sbtn = gtk_spin_button_new (GTK_ADJUSTMENT (_adj), 1.0, 0); - gtk_tooltips_set_tip (_tt, _sbtn, _("Alpha (opacity)"), NULL); + gtk_widget_set_tooltip_text (_sbtn, _("Alpha (opacity)")); sp_dialog_defocus_on_enter (_sbtn); gtk_label_set_mnemonic_widget (GTK_LABEL(_label), _sbtn); gtk_widget_show (_sbtn); gtk_table_attach (GTK_TABLE (t), _sbtn, 2, 3, row, row + 1, (GtkAttachOptions)0, (GtkAttachOptions)0, XPAD, YPAD); /* Signals */ - gtk_signal_connect (GTK_OBJECT (_adj), "value_changed", - GTK_SIGNAL_FUNC (_adjustmentChanged), _csel); + g_signal_connect (G_OBJECT (_adj), "value_changed", + G_CALLBACK (_adjustmentChanged), _csel); - gtk_signal_connect (GTK_OBJECT (_slider), "grabbed", - GTK_SIGNAL_FUNC (_sliderGrabbed), _csel); - gtk_signal_connect (GTK_OBJECT (_slider), "released", - GTK_SIGNAL_FUNC (_sliderReleased), _csel); - gtk_signal_connect (GTK_OBJECT (_slider), "changed", - GTK_SIGNAL_FUNC (_sliderChanged), _csel); + g_signal_connect (G_OBJECT (_slider), "grabbed", + G_CALLBACK (_sliderGrabbed), _csel); + g_signal_connect (G_OBJECT (_slider), "released", + G_CALLBACK (_sliderReleased), _csel); + g_signal_connect (G_OBJECT (_slider), "changed", + G_CALLBACK (_sliderChanged), _csel); - gtk_signal_connect( GTK_OBJECT(_wheel), "changed", - GTK_SIGNAL_FUNC(_wheelChanged), _csel ); + g_signal_connect( G_OBJECT(_wheel), "changed", + G_CALLBACK (_wheelChanged), _csel ); // GTK does not automatically scale the color wheel, so we have to add that in: - gtk_signal_connect( GTK_OBJECT(_wheel), "size-allocate", - GTK_SIGNAL_FUNC(handleWheelAllocation), _csel ); -#if GTK_CHECK_VERSION(2,18,0) - gtk_signal_connect( GTK_OBJECT(_wheel), "style-set", - GTK_SIGNAL_FUNC(handleWheelStyleSet), _csel ); -#endif // GTK_CHECK_VERSION(2,18,0) + g_signal_connect( G_OBJECT (_wheel), "size-allocate", + G_CALLBACK (handleWheelAllocation), _csel ); + g_signal_connect( G_OBJECT (_wheel), "style-set", + G_CALLBACK (handleWheelStyleSet), _csel ); } static void diff --git a/src/widgets/sp-color-wheel-selector.h b/src/widgets/sp-color-wheel-selector.h index 34a5f4cd0..d8bcb730b 100644 --- a/src/widgets/sp-color-wheel-selector.h +++ b/src/widgets/sp-color-wheel-selector.h @@ -2,8 +2,7 @@ #define SEEN_SP_COLOR_WHEEL_SELECTOR_H #include <glib/gtypes.h> -#include <gtk/gtktooltips.h> -#include <gtk/gtkvbox.h> +#include <gtk/gtk.h> #include "../color.h" #include "sp-color-slider.h" @@ -45,8 +44,6 @@ protected: GtkWidget* _sbtn; /* Spinbutton */ GtkWidget* _label; /* Label */ - GtkTooltips* _tt; /* tooltip container */ - private: // By default, disallow copy constructor and assignment operator ColorWheelSelector( const ColorWheelSelector& obj ); @@ -56,10 +53,10 @@ private: #define SP_TYPE_COLOR_WHEEL_SELECTOR (sp_color_wheel_selector_get_type ()) -#define SP_COLOR_WHEEL_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelector)) -#define SP_COLOR_WHEEL_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelectorClass)) -#define SP_IS_COLOR_WHEEL_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_WHEEL_SELECTOR)) -#define SP_IS_COLOR_WHEEL_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_WHEEL_SELECTOR)) +#define SP_COLOR_WHEEL_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelector)) +#define SP_COLOR_WHEEL_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelectorClass)) +#define SP_IS_COLOR_WHEEL_SELECTOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_COLOR_WHEEL_SELECTOR)) +#define SP_IS_COLOR_WHEEL_SELECTOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_WHEEL_SELECTOR)) struct SPColorWheelSelector { SPColorSelector parent; diff --git a/src/widgets/sp-widget.cpp b/src/widgets/sp-widget.cpp index f694c461c..d5877db99 100644 --- a/src/widgets/sp-widget.cpp +++ b/src/widgets/sp-widget.cpp @@ -78,32 +78,36 @@ sp_widget_class_init (SPWidgetClass *klass) object_class->destroy = sp_widget_destroy; - signals[CONSTRUCT] = gtk_signal_new ("construct", - GTK_RUN_FIRST, - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPWidgetClass, construct), + signals[CONSTRUCT] = g_signal_new ("construct", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (SPWidgetClass, construct), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - signals[CHANGE_SELECTION] = gtk_signal_new ("change_selection", - GTK_RUN_FIRST, - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPWidgetClass, change_selection), + G_TYPE_NONE, 0); + signals[CHANGE_SELECTION] = g_signal_new ("change_selection", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (SPWidgetClass, change_selection), + NULL, NULL, gtk_marshal_NONE__POINTER, - GTK_TYPE_NONE, 1, + G_TYPE_NONE, 1, GTK_TYPE_POINTER); - signals[MODIFY_SELECTION] = gtk_signal_new ("modify_selection", - GTK_RUN_FIRST, - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPWidgetClass, modify_selection), + signals[MODIFY_SELECTION] = g_signal_new ("modify_selection", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (SPWidgetClass, modify_selection), + NULL, NULL, gtk_marshal_NONE__POINTER_UINT, - GTK_TYPE_NONE, 2, + G_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_UINT); - signals[SET_SELECTION] = gtk_signal_new ("set_selection", - GTK_RUN_FIRST, - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPWidgetClass, set_selection), + signals[SET_SELECTION] = g_signal_new ("set_selection", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (SPWidgetClass, set_selection), + NULL, NULL, gtk_marshal_NONE__POINTER, - GTK_TYPE_NONE, 1, + G_TYPE_NONE, 1, GTK_TYPE_POINTER); widget_class->show = sp_widget_show; @@ -184,7 +188,7 @@ sp_widget_expose (GtkWidget *widget, GdkEventExpose *event) gtk_container_propagate_expose (GTK_CONTAINER(widget), bin->child, event); } /* - if ((bin->child) && (GTK_WIDGET_NO_WINDOW (bin->child))) { + if ((bin->child) && (!gtk_widget_get_has_window (bin->child))) { GdkEventExpose ce; ce = *event; gtk_widget_event (bin->child, (GdkEvent *) &ce); @@ -233,7 +237,7 @@ sp_widget_construct_global (SPWidget *spw, Inkscape::Application *inkscape) g_return_val_if_fail (!spw->inkscape, NULL); spw->inkscape = inkscape; - if (GTK_WIDGET_VISIBLE (spw)) { + if (gtk_widget_get_visible (GTK_WIDGET(spw))) { g_signal_connect (G_OBJECT (inkscape), "modify_selection", G_CALLBACK (sp_widget_modify_selection), spw); g_signal_connect (G_OBJECT (inkscape), "change_selection", G_CALLBACK (sp_widget_change_selection), spw); g_signal_connect (G_OBJECT (inkscape), "set_selection", G_CALLBACK (sp_widget_set_selection), spw); diff --git a/src/widgets/sp-widget.h b/src/widgets/sp-widget.h index e9f9cfe73..decd9c056 100644 --- a/src/widgets/sp-widget.h +++ b/src/widgets/sp-widget.h @@ -16,12 +16,12 @@ #include <glib.h> #define SP_TYPE_WIDGET (sp_widget_get_type ()) -#define SP_WIDGET(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_WIDGET, SPWidget)) -#define SP_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_WIDGET, SPWidgetClass)) -#define SP_IS_WIDGET(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_WIDGET)) -#define SP_IS_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_WIDGET)) +#define SP_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_WIDGET, SPWidget)) +#define SP_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_WIDGET, SPWidgetClass)) +#define SP_IS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_WIDGET)) +#define SP_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_WIDGET)) -#include <gtk/gtkbin.h> +#include <gtk/gtk.h> namespace Inkscape { class Application; diff --git a/src/widgets/sp-xmlview-attr-list.h b/src/widgets/sp-xmlview-attr-list.h index 8e7b844d0..de79c7a37 100644 --- a/src/widgets/sp-xmlview-attr-list.h +++ b/src/widgets/sp-xmlview-attr-list.h @@ -13,7 +13,6 @@ */ #include <stdio.h> -#include <gtk/gtkctree.h> #include <gtk/gtk.h> #include "../xml/repr.h" @@ -21,9 +20,9 @@ #define SP_TYPE_XMLVIEW_ATTR_LIST (sp_xmlview_attr_list_get_type ()) -#define SP_XMLVIEW_ATTR_LIST(o) (GTK_CHECK_CAST ((o), SP_TYPE_XMLVIEW_ATTR_LIST, SPXMLViewAttrList)) -#define SP_IS_XMLVIEW_ATTR_LIST(o) (GTK_CHECK_TYPE ((o), SP_TYPE_XMLVIEW_ATTR_LIST)) -#define SP_XMLVIEW_ATTR_LIST_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_XMLVIEW_ATTR_LIST)) +#define SP_XMLVIEW_ATTR_LIST(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_XMLVIEW_ATTR_LIST, SPXMLViewAttrList)) +#define SP_IS_XMLVIEW_ATTR_LIST(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_XMLVIEW_ATTR_LIST)) +#define SP_XMLVIEW_ATTR_LIST_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_XMLVIEW_ATTR_LIST)) struct SPXMLViewAttrList { diff --git a/src/widgets/sp-xmlview-content.h b/src/widgets/sp-xmlview-content.h index 3077b2251..fe26891d0 100644 --- a/src/widgets/sp-xmlview-content.h +++ b/src/widgets/sp-xmlview-content.h @@ -16,7 +16,7 @@ #include <stdio.h> -#include <gtk/gtktextview.h> +#include <gtk/gtk.h> #include "../xml/repr.h" #include <glib.h> @@ -24,9 +24,9 @@ #define SP_TYPE_XMLVIEW_CONTENT (sp_xmlview_content_get_type ()) -#define SP_XMLVIEW_CONTENT(o) (GTK_CHECK_CAST ((o), SP_TYPE_XMLVIEW_CONTENT, SPXMLViewContent)) -#define SP_IS_XMLVIEW_CONTENT(o) (GTK_CHECK_TYPE ((o), SP_TYPE_XMLVIEW_CONTENT)) -#define SP_XMLVIEW_CONTENT_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_XMLVIEW_CONTENT)) +#define SP_XMLVIEW_CONTENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_XMLVIEW_CONTENT, SPXMLViewContent)) +#define SP_IS_XMLVIEW_CONTENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_XMLVIEW_CONTENT)) +#define SP_XMLVIEW_CONTENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_XMLVIEW_CONTENT)) struct SPXMLViewContent { diff --git a/src/widgets/sp-xmlview-tree.h b/src/widgets/sp-xmlview-tree.h index a5dadbb61..2b04e79eb 100644 --- a/src/widgets/sp-xmlview-tree.h +++ b/src/widgets/sp-xmlview-tree.h @@ -12,7 +12,7 @@ * Released under the GNU GPL; see COPYING for details */ -#include <gtk/gtkctree.h> +#include <gtk/gtk.h> #include "../xml/repr.h" #include <glib.h> @@ -20,9 +20,9 @@ #define SP_TYPE_XMLVIEW_TREE (sp_xmlview_tree_get_type ()) -#define SP_XMLVIEW_TREE(o) (GTK_CHECK_CAST ((o), SP_TYPE_XMLVIEW_TREE, SPXMLViewTree)) -#define SP_IS_XMLVIEW_TREE(o) (GTK_CHECK_TYPE ((o), SP_TYPE_XMLVIEW_TREE)) -#define SP_XMLVIEW_TREE_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_XMLVIEW_TREE)) +#define SP_XMLVIEW_TREE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_XMLVIEW_TREE, SPXMLViewTree)) +#define SP_IS_XMLVIEW_TREE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_XMLVIEW_TREE)) +#define SP_XMLVIEW_TREE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SP_TYPE_XMLVIEW_TREE)) struct SPXMLViewTree; struct SPXMLViewTreeClass; diff --git a/src/widgets/spinbutton-events.h b/src/widgets/spinbutton-events.h index 683748d0a..46652a346 100644 --- a/src/widgets/spinbutton-events.h +++ b/src/widgets/spinbutton-events.h @@ -10,8 +10,7 @@ */ #include <glib/gtypes.h> -#include <gtk/gtkstyle.h> /* GtkWidget */ -#include <gtk/gtktypeutils.h> /* GtkObject */ +#include <gtk/gtk.h> /* GtkWidget */ gboolean spinbutton_focus_in (GtkWidget *w, GdkEventKey *event, gpointer data); void spinbutton_undo (GtkWidget *w); diff --git a/src/widgets/spw-utilities.cpp b/src/widgets/spw-utilities.cpp index 49e3a7495..aec1e2e11 100644 --- a/src/widgets/spw-utilities.cpp +++ b/src/widgets/spw-utilities.cpp @@ -92,10 +92,8 @@ GtkWidget *spw_vbox_checkbutton(GtkWidget *dialog, GtkWidget *vbox, g_assert (dialog != NULL); g_assert (vbox != NULL); - GtkTooltips *tt = gtk_tooltips_new (); - GtkWidget *b = gtk_check_button_new_with_label (label); - gtk_tooltips_set_tip(tt, b, tip, NULL); + gtk_widget_set_tooltip_text(b, tip); g_assert (b != NULL); gtk_widget_show (b); gtk_box_pack_start (GTK_BOX (vbox), b, FALSE, FALSE, 0); diff --git a/src/widgets/spw-utilities.h b/src/widgets/spw-utilities.h index 9a387454f..443831353 100644 --- a/src/widgets/spw-utilities.h +++ b/src/widgets/spw-utilities.h @@ -19,7 +19,7 @@ */ #include <glib/gtypes.h> -#include <gtk/gtkstyle.h> /* GtkWidget */ +#include <gtk/gtk.h> /* GtkWidget */ #include <gtkmm/widget.h> namespace Gtk { diff --git a/src/widgets/stroke-style.cpp b/src/widgets/stroke-style.cpp index 5288b5102..9da39bac4 100644 --- a/src/widgets/stroke-style.cpp +++ b/src/widgets/stroke-style.cpp @@ -55,6 +55,7 @@ #include "widgets/paint-selector.h" #include "widgets/sp-widget.h" #include "widgets/spw-utilities.h" +#include "ui/widget/spinbutton.h" #include "xml/repr.h" #include "stroke-style.h" @@ -224,7 +225,7 @@ ink_marker_list_get (SPDocument *source) return NULL; GSList *ml = NULL; - SPDefs *defs = (SPDefs *) SP_DOCUMENT_DEFS (source); + SPDefs *defs = source->getDefs(); for ( SPObject *child = defs->firstChild(); child; child = child->getNext() ) { if (SP_IS_MARKER(child)) { @@ -653,7 +654,7 @@ sp_stroke_style_line_widget_new(void) Gtk::Container *spw; Gtk::Table *t; Gtk::Adjustment *a; - Gtk::SpinButton *sb; + Inkscape::UI::Widget::SpinButton *sb; Gtk::RadioButton *tb; Gtk::HBox *f, *hb; @@ -688,7 +689,7 @@ sp_stroke_style_line_widget_new(void) a = new Gtk::Adjustment(1.0, 0.0, 1000.0, 0.1, 10.0, 0.0); spw->set_data("width", a); - sb = new Gtk::SpinButton(*a, 0.1, 3); + sb = new Inkscape::UI::Widget::SpinButton(*a, 0.1, 3); tt->set_tip(*sb, _("Stroke width")); sb->show(); spw_label(t, C_("Stroke width", "_Width:"), 0, i, sb); @@ -765,7 +766,7 @@ sp_stroke_style_line_widget_new(void) a = new Gtk::Adjustment(4.0, 0.0, 100.0, 0.1, 10.0, 0.0); spw->set_data("miterlimit", a); - sb = new Gtk::SpinButton(*a, 0.1, 2); + sb = new Inkscape::UI::Widget::SpinButton(*a, 0.1, 2); tt->set_tip(*sb, _("Maximum length of the miter (in units of stroke width)")); sb->show(); spw_label(t, _("Miter _limit:"), 0, i, sb); @@ -1057,8 +1058,8 @@ sp_stroke_style_line_update(Gtk::Container *spw, Inkscape::Selection *sel) tb = static_cast<Gtk::RadioButton *>(spw->get_data("bevel join")); tb->set_sensitive(enabled); - Gtk::SpinButton* sb = NULL; - sb = static_cast<Gtk::SpinButton *>(spw->get_data("miterlimit_sb")); + Inkscape::UI::Widget::SpinButton* sb = NULL; + sb = static_cast<Inkscape::UI::Widget::SpinButton *>(spw->get_data("miterlimit_sb")); sb->set_sensitive(enabled); tb = static_cast<Gtk::RadioButton *>(spw->get_data("cap butt")); diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index db86ff8a0..90d8f61b4 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -100,6 +100,7 @@ #include "../verbs.h" #include "../widgets/button.h" #include "../widgets/spinbutton-events.h" +#include "ui/widget/spinbutton.h" #include "../widgets/spw-utilities.h" #include "../widgets/widget-sizes.h" #include "../xml/attribute-record.h" @@ -132,6 +133,7 @@ static void sp_node_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainA static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); static void sp_spray_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); static void sp_zoom_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); +static void sp_measure_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); static void sp_star_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); static void sp_arc_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); static void sp_rect_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); @@ -173,6 +175,7 @@ static struct { { "SPTweakContext", "tweak_tool", SP_VERB_CONTEXT_TWEAK, SP_VERB_CONTEXT_TWEAK_PREFS }, { "SPSprayContext", "spray_tool", SP_VERB_CONTEXT_SPRAY, SP_VERB_CONTEXT_SPRAY_PREFS }, { "SPZoomContext", "zoom_tool", SP_VERB_CONTEXT_ZOOM, SP_VERB_CONTEXT_ZOOM_PREFS }, + { "SPMeasureContext", "measure_tool", SP_VERB_CONTEXT_MEASURE, SP_VERB_CONTEXT_MEASURE_PREFS }, { "SPRectContext", "rect_tool", SP_VERB_CONTEXT_RECT, SP_VERB_CONTEXT_RECT_PREFS }, { "Box3DContext", "3dbox_tool", SP_VERB_CONTEXT_3DBOX, SP_VERB_CONTEXT_3DBOX_PREFS }, { "SPArcContext", "arc_tool", SP_VERB_CONTEXT_ARC, SP_VERB_CONTEXT_ARC_PREFS }, @@ -211,6 +214,8 @@ static struct { SP_VERB_INVALID, 0, 0}, { "SPZoomContext", "zoom_toolbox", 0, sp_zoom_toolbox_prep, "ZoomToolbar", SP_VERB_INVALID, 0, 0}, + { "SPMeasureContext", "measure_toolbox", 0, sp_measure_toolbox_prep, "MeasureToolbar", + SP_VERB_INVALID, 0, 0}, { "SPStarContext", "star_toolbox", 0, sp_star_toolbox_prep, "StarToolbar", SP_VERB_CONTEXT_STAR_PREFS, "/tools/shapes/star", N_("Style of new stars")}, { "SPRectContext", "rect_toolbox", 0, sp_rect_toolbox_prep, "RectToolbar", @@ -360,6 +365,11 @@ static gchar const * ui_descr = " <toolitem action='ZoomNext' />" " </toolbar>" + " <toolbar name='MeasureToolbar'>" + " <toolitem action='MeasureFontSizeAction' />" + " <toolitem action='MeasureUnitsAction' />" + " </toolbar>" + " <toolbar name='StarToolbar'>" " <separator />" " <toolitem action='StarStateAction' />" @@ -547,11 +557,11 @@ static void update_commands_toolbox(SPDesktop *desktop, SPEventContext *eventcon static GtkWidget * sp_toolbox_button_new_from_verb_with_doubleclick( GtkWidget *t, Inkscape::IconSize size, SPButtonType type, Inkscape::Verb *verb, Inkscape::Verb *doubleclick_verb, - Inkscape::UI::View::View *view, GtkTooltips *tt); + Inkscape::UI::View::View *view); class VerbAction : public Gtk::Action { public: - static Glib::RefPtr<VerbAction> create(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view, GtkTooltips *tooltips); + static Glib::RefPtr<VerbAction> create(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view); virtual ~VerbAction(); virtual void set_active(bool active = true); @@ -569,31 +579,29 @@ private: Inkscape::Verb* verb; Inkscape::Verb* verb2; Inkscape::UI::View::View *view; - GtkTooltips *tooltips; bool active; - VerbAction(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view, GtkTooltips *tooltips); + VerbAction(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view); }; -Glib::RefPtr<VerbAction> VerbAction::create(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view, GtkTooltips *tooltips) +Glib::RefPtr<VerbAction> VerbAction::create(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view) { Glib::RefPtr<VerbAction> result; SPAction *action = verb->get_action(view); if ( action ) { //SPAction* action2 = verb2 ? verb2->get_action(view) : 0; - result = Glib::RefPtr<VerbAction>(new VerbAction(verb, verb2, view, tooltips)); + result = Glib::RefPtr<VerbAction>(new VerbAction(verb, verb2, view)); } return result; } -VerbAction::VerbAction(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view, GtkTooltips *tooltips) : +VerbAction::VerbAction(Inkscape::Verb* verb, Inkscape::Verb* verb2, Inkscape::UI::View::View *view) : Gtk::Action(Glib::ustring(verb->get_id()), Gtk::StockID(verb->get_image()), Glib::ustring(_(verb->get_name())), Glib::ustring(_(verb->get_tip()))), verb(verb), verb2(verb2), view(view), - tooltips(tooltips), active(false) { } @@ -623,8 +631,7 @@ Gtk::Widget* VerbAction::create_tool_item_vfunc() SP_BUTTON_TYPE_TOGGLE, verb, verb2, - view, - tooltips ); + view ); if ( active ) { sp_button_toggle_set_down( SP_BUTTON(button), active); } @@ -807,7 +814,7 @@ static void delete_prefspusher(GtkObject * /*obj*/, PrefPusher *watcher ) GtkWidget * sp_toolbox_button_new_from_verb_with_doubleclick(GtkWidget *t, Inkscape::IconSize size, SPButtonType type, Inkscape::Verb *verb, Inkscape::Verb *doubleclick_verb, - Inkscape::UI::View::View *view, GtkTooltips *tt) + Inkscape::UI::View::View *view) { SPAction *action = verb->get_action(view); if (!action) { @@ -823,7 +830,7 @@ GtkWidget * sp_toolbox_button_new_from_verb_with_doubleclick(GtkWidget *t, Inksc /* fixme: Handle sensitive/unsensitive */ /* fixme: Implement sp_button_new_from_action */ - GtkWidget *b = sp_button_new(size, type, action, doubleclick_action, tt); + GtkWidget *b = sp_button_new(size, type, action, doubleclick_action); gtk_widget_show(b); @@ -880,7 +887,7 @@ static GtkAction* create_action_for_verb( Inkscape::Verb* verb, Inkscape::UI::Vi act = GTK_ACTION(inky); gtk_action_set_sensitive( act, targetAction->sensitive ); - g_signal_connect( G_OBJECT(inky), "activate", GTK_SIGNAL_FUNC(trigger_sp_action), targetAction ); + g_signal_connect( G_OBJECT(inky), "activate", G_CALLBACK(trigger_sp_action), targetAction ); SPAction*rebound = dynamic_cast<SPAction *>( nr_object_ref( dynamic_cast<NRObject *>(targetAction) ) ); nr_active_object_add_listener( (NRActiveObject *)rebound, (NRObjectEventVector *)&action_event_vector, sizeof(SPActionEventVector), inky ); @@ -931,7 +938,7 @@ static Glib::RefPtr<Gtk::ActionGroup> create_or_fetch_actions( SPDesktop* deskto SP_VERB_ZOOM_PAGE, SP_VERB_ZOOM_PAGE_WIDTH, SP_VERB_ZOOM_PREV, - SP_VERB_ZOOM_SELECTION, + SP_VERB_ZOOM_SELECTION }; Inkscape::IconSize toolboxSize = ToolboxFactory::prefToSize("/toolbox/small"); @@ -958,9 +965,8 @@ static Glib::RefPtr<Gtk::ActionGroup> create_or_fetch_actions( SPDesktop* deskto } if ( !mainActions->get_action("ToolZoom") ) { - GtkTooltips *tt = gtk_tooltips_new(); for ( guint i = 0; i < G_N_ELEMENTS(tools) && tools[i].type_name; i++ ) { - Glib::RefPtr<VerbAction> va = VerbAction::create(Inkscape::Verb::get(tools[i].verb), Inkscape::Verb::get(tools[i].doubleclick_verb), view, tt); + Glib::RefPtr<VerbAction> va = VerbAction::create(Inkscape::Verb::get(tools[i].verb), Inkscape::Verb::get(tools[i].doubleclick_verb), view); if ( va ) { mainActions->add(va); if ( i == 0 ) { @@ -1052,6 +1058,14 @@ GtkWidget *ToolboxFactory::createSnapToolbox() return toolboxNewCommon( tb, BAR_SNAP, GTK_POS_LEFT ); } +static GtkWidget* createCustomSlider( GtkAdjustment *adjustment, gdouble climbRate, guint digits ) +{ + Inkscape::UI::Widget::SpinButton *inkSpinner = new Inkscape::UI::Widget::SpinButton(*Glib::wrap(adjustment, true), climbRate, digits); + inkSpinner = Gtk::manage( inkSpinner ); + GtkWidget *widget = GTK_WIDGET( inkSpinner->gobj() ); + return widget; +} + static EgeAdjustmentAction * create_adjustment_action( gchar const *name, gchar const *label, gchar const *shortLabel, gchar const *tooltip, Glib::ustring const &path, gdouble def, @@ -1064,6 +1078,12 @@ static EgeAdjustmentAction * create_adjustment_action( gchar const *name, void (*callback)(GtkAdjustment *, GObject *), gdouble climb = 0.1, guint digits = 3, double factor = 1.0 ) { + static bool init = false; + if ( !init ) { + init = true; + ege_adjustment_action_set_compact_tool_factory( createCustomSlider ); + } + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); GtkAdjustment* adj = GTK_ADJUSTMENT( gtk_adjustment_new( prefs->getDouble(path, def) * factor, lower, upper, step, page, 0 ) ); @@ -1071,7 +1091,7 @@ static EgeAdjustmentAction * create_adjustment_action( gchar const *name, sp_unit_selector_add_adjustment( SP_UNIT_SELECTOR(us), adj ); } - gtk_signal_connect( GTK_OBJECT(adj), "value-changed", GTK_SIGNAL_FUNC(callback), dataKludge ); + g_signal_connect( G_OBJECT(adj), "value-changed", G_CALLBACK(callback), dataKludge ); EgeAdjustmentAction* act = ege_adjustment_action_new( adj, name, label, tooltip, 0, climb, digits ); if ( shortLabel ) { @@ -1612,6 +1632,54 @@ static void sp_zoom_toolbox_prep(SPDesktop * /*desktop*/, GtkActionGroup* /*main // no custom GtkAction setup needed } // end of sp_zoom_toolbox_prep() +static void +sp_measure_fontsize_value_changed(GtkAdjustment *adj, GObject *tbl) +{ + SPDesktop *desktop = (SPDesktop *) g_object_get_data( tbl, "desktop" ); + + if (DocumentUndo::getUndoSensitive(sp_desktop_document(desktop))) { + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt(Glib::ustring("/tools/measure/fontsize"), adj->value); + } +} + +static void measure_unit_changed(GtkAction* /*act*/, GObject* tbl) +{ + UnitTracker* tracker = reinterpret_cast<UnitTracker*>(g_object_get_data(tbl, "tracker")); + SPUnit const *unit = tracker->getActiveUnit(); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + prefs->setInt("/tools/measure/unitid", unit->unit_id); +} + +static void sp_measure_toolbox_prep(SPDesktop * desktop, GtkActionGroup* mainActions, GObject* holder) +{ + UnitTracker* tracker = new UnitTracker( SP_UNIT_ABSOLUTE | SP_UNIT_DEVICE ); + tracker->setActiveUnit( sp_desktop_namedview(desktop)->doc_units ); + g_object_set_data( holder, "tracker", tracker ); + + EgeAdjustmentAction *eact = 0; + + /* Font Size */ + { + eact = create_adjustment_action( "MeasureFontSizeAction", + _("Font Size"), _("Font Size:"), + _("The font size to be used in the measurement labels"), + "/tools/measure/fontsize", 0.0, + GTK_WIDGET(desktop->canvas), NULL, holder, FALSE, NULL, + 10, 36, 1.0, 4.0, + 0, 0, 0, + sp_measure_fontsize_value_changed); + gtk_action_group_add_action( mainActions, GTK_ACTION(eact) ); + } + + // add the units menu + { + GtkAction* act = tracker->createAction( "MeasureUnitsAction", _("Units"), _("Units:") ); + g_signal_connect_after( G_OBJECT(act), "changed", G_CALLBACK(measure_unit_changed), (GObject*)holder ); + gtk_action_group_add_action( mainActions, act ); + } +} // end of sp_measure_toolbox_prep() + void ToolboxFactory::setToolboxDesktop(GtkWidget *toolbox, SPDesktop *desktop) { sigc::connection *conn = static_cast<sigc::connection*>(g_object_get_data(G_OBJECT(toolbox), @@ -1726,7 +1794,7 @@ void ToolboxFactory::setOrientation(GtkWidget* toolbox, GtkOrientation orientati { #if DUMP_DETAILS g_message("Set orientation for %p to be %d", toolbox, orientation); - GType type = GTK_WIDGET_TYPE(toolbox); + GType type = G_OBJECT_TYPE(toolbox); g_message(" [%s]", g_type_name(type)); g_message(" %p", g_object_get_data(G_OBJECT(toolbox), BAR_ID_KEY)); #endif @@ -1741,7 +1809,7 @@ void ToolboxFactory::setOrientation(GtkWidget* toolbox, GtkOrientation orientati GtkWidget* child = gtk_bin_get_child(GTK_BIN(toolbox)); if (child) { #if DUMP_DETAILS - GType type2 = GTK_WIDGET_TYPE(child); + GType type2 = G_OBJECT_TYPE(child); g_message(" child [%s]", g_type_name(type2)); #endif // DUMP_DETAILS @@ -1755,7 +1823,7 @@ void ToolboxFactory::setOrientation(GtkWidget* toolbox, GtkOrientation orientati for (GList* curr = children; curr; curr = g_list_next(curr)) { GtkWidget* child2 = GTK_WIDGET(curr->data); #if DUMP_DETAILS - GType type3 = GTK_WIDGET_TYPE(child2); + GType type3 = G_OBJECT_TYPE(child2); g_message(" child2 [%s]", g_type_name(type3)); #endif // DUMP_DETAILS @@ -1765,7 +1833,7 @@ void ToolboxFactory::setOrientation(GtkWidget* toolbox, GtkOrientation orientati for (GList* curr2 = children2; curr2; curr2 = g_list_next(curr2)) { GtkWidget* child3 = GTK_WIDGET(curr2->data); #if DUMP_DETAILS - GType type4 = GTK_WIDGET_TYPE(child3); + GType type4 = G_OBJECT_TYPE(child3); g_message(" child3 [%s]", g_type_name(type4)); #endif // DUMP_DETAILS if (GTK_IS_TOOLBAR(child3)) { @@ -1823,6 +1891,7 @@ void setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop) " <toolitem action='ToolNode' />" " <toolitem action='ToolTweak' />" " <toolitem action='ToolZoom' />" + " <toolitem action='ToolMeasure' />" " <!-- Shapes -->" " <toolitem action='ToolRect' />" @@ -8362,7 +8431,9 @@ static void paintbucket_offset_changed(GtkAdjustment *adj, GObject *tbl) SPUnit const *unit = tracker->getActiveUnit(); Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - prefs->setDouble("/tools/paintbucket/offset", (gdouble)sp_units_get_pixels(adj->value, *unit)); + // Don't adjust the offset value because we're saving the + // unit and it'll be correctly handled on load. + prefs->setDouble("/tools/paintbucket/offset", (gdouble)adj->value); prefs->setString("/tools/paintbucket/offsetunits", sp_unit_get_abbreviation(unit)); } diff --git a/src/widgets/toolbox.h b/src/widgets/toolbox.h index a25705536..0f3ce83c5 100644 --- a/src/widgets/toolbox.h +++ b/src/widgets/toolbox.h @@ -15,8 +15,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include <gtk/gtkstyle.h> -#include <gtk/gtktooltips.h> +#include <gtk/gtk.h> #include <glibmm/ustring.h> #include "forward.h" |
