X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpspp-sheet-view-column.c;h=316dc3349cb463a96c06e06fdf549140137d060c;hb=c7b09a12fae1611db7f1e7e00fa1e92c19d9fa37;hp=d8f863dc3bde232d44aee50dbbe6c2f118bfa7f1;hpb=6372cdc8bcb61ba5ba25f9329614e5e4e7e06b48;p=pspp diff --git a/src/ui/gui/pspp-sheet-view-column.c b/src/ui/gui/pspp-sheet-view-column.c index d8f863dc3b..316dc3349c 100644 --- a/src/ui/gui/pspp-sheet-view-column.c +++ b/src/ui/gui/pspp-sheet-view-column.c @@ -72,6 +72,7 @@ enum enum { CLICKED, + QUERY_TOOLTIP, LAST_SIGNAL }; @@ -200,6 +201,16 @@ pspp_sheet_view_column_class_init (PsppSheetViewColumnClass *class) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + tree_column_signals[QUERY_TOOLTIP] = + g_signal_new ("query-tooltip", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + 0, + g_signal_accumulator_true_handled, NULL, + psppire_marshal_BOOLEAN__OBJECT, + G_TYPE_BOOLEAN, 1, + GTK_TYPE_TOOLTIP); + g_object_class_install_property (object_class, PROP_VISIBLE, g_param_spec_boolean ("visible", @@ -812,6 +823,22 @@ pspp_sheet_view_column_clear_attributes_by_info (PsppSheetViewColumn *tree_colum _pspp_sheet_view_column_cell_set_dirty (tree_column); } +static gboolean +on_query_tooltip (GtkWidget *widget, + gint x, + gint y, + gboolean keyboard_mode, + GtkTooltip *tooltip, + gpointer user_data) +{ + PsppSheetViewColumn *tree_column = user_data; + gboolean handled; + + g_signal_emit (tree_column, tree_column_signals[QUERY_TOOLTIP], 0, + tooltip, &handled); + return handled; +} + /* Helper functions */ @@ -846,6 +873,10 @@ pspp_sheet_view_column_create_button (PsppSheetViewColumn *tree_column) G_CALLBACK (pspp_sheet_view_column_button_clicked), tree_column); + g_signal_connect (tree_column->button, "query-tooltip", + G_CALLBACK (on_query_tooltip), tree_column); + g_object_set (tree_column->button, "has-tooltip", TRUE, NULL); + tree_column->alignment = gtk_alignment_new (tree_column->xalign, 0.5, 0.0, 0.0); hbox = gtk_hbox_new (FALSE, 2);