X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-checkbox-treeview.c;h=5c543f22bbb5f755942b96b5ffa615e725e83e3a;hb=33cdbdf7e095370cf04240eed21344205a487191;hp=9cf50302193ada11b1c149909286500957d09b46;hpb=4e3feede0f6b3d2e67d6e41a9ddea3738e574dc3;p=pspp diff --git a/src/ui/gui/psppire-checkbox-treeview.c b/src/ui/gui/psppire-checkbox-treeview.c index 9cf5030219..5c543f22bb 100644 --- a/src/ui/gui/psppire-checkbox-treeview.c +++ b/src/ui/gui/psppire-checkbox-treeview.c @@ -15,7 +15,7 @@ along with this program. If not, see . */ -/* +/* This module provides a subclass of GtkTreeView, designed for dialogs which need lists of annotated checkbox items. The object contains the necessary model and renderers, which means that @@ -32,37 +32,7 @@ #define _(msgid) gettext (msgid) #define N_(msgid) msgid -static void psppire_checkbox_treeview_init (PsppireCheckboxTreeview *cbtv); - -GType -psppire_checkbox_treeview_get_type (void) -{ - static GType psppire_checkbox_treeview_type = 0; - - if (!psppire_checkbox_treeview_type) - { - static const GTypeInfo psppire_checkbox_treeview_info = - { - sizeof (PsppireCheckboxTreeviewClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) NULL, - (GClassFinalizeFunc) NULL, - NULL, - sizeof (PsppireCheckboxTreeview), - 0, - (GInstanceInitFunc) psppire_checkbox_treeview_init, - }; - - psppire_checkbox_treeview_type = - g_type_register_static (GTK_TYPE_TREE_VIEW, "PsppireCheckboxTreeview", - &psppire_checkbox_treeview_info, 0); - } - - return psppire_checkbox_treeview_type; -} - - +G_DEFINE_TYPE (PsppireCheckboxTreeview, psppire_checkbox_treeview, GTK_TYPE_TREE_VIEW) /* Callback for checkbox cells in the statistics tree view. Toggles the checkbox. */ @@ -118,8 +88,9 @@ static void psppire_checkbox_treeview_init (PsppireCheckboxTreeview *cbtv) { cbtv->list = GTK_TREE_MODEL (gtk_list_store_new (N_CHECKBOX_COLUMNS, - G_TYPE_STRING, - G_TYPE_BOOLEAN)); + G_TYPE_STRING, + G_TYPE_BOOLEAN, + G_TYPE_STRING)); gtk_tree_view_set_model (GTK_TREE_VIEW (cbtv), cbtv->list); g_object_unref (cbtv->list); @@ -147,9 +118,15 @@ psppire_checkbox_treeview_populate (PsppireCheckboxTreeview *cbtv, gtk_list_store_append (GTK_LIST_STORE (cbtv->list), &iter); gtk_list_store_set (GTK_LIST_STORE (cbtv->list), &iter, CHECKBOX_COLUMN_LABEL, gettext (items[i].label), - CHECKBOX_COLUMN_SELECTED, - (default_items & (1u << i)) != 0, + CHECKBOX_COLUMN_SELECTED, (default_items & (1u << i)) != 0, + CHECKBOX_COLUMN_TOOLTIP, gettext (items[i].tooltip), -1); } + gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (cbtv), CHECKBOX_COLUMN_TOOLTIP); +} + +static void +psppire_checkbox_treeview_class_init (PsppireCheckboxTreeviewClass *class) +{ }