From: John Darrington Date: Thu, 27 Nov 2008 09:16:20 +0000 (+0900) Subject: Merge branch 'rewrite-sheet' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into rewrite... X-Git-Tag: v0.7.1~107 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ad1c79cd51b7ca9d0ad51d80ff916fa48ee5e893;hp=-c;p=pspp-builds.git Merge branch 'rewrite-sheet' of ssh://jmd@git.sv.gnu.org/srv/git/pspp into rewrite-sheet --- ad1c79cd51b7ca9d0ad51d80ff916fa48ee5e893 diff --combined lib/gtksheet/gsheetmodel.c index 5af40464,2497097d..55b22db8 --- a/lib/gtksheet/gsheetmodel.c +++ b/lib/gtksheet/gsheetmodel.c @@@ -20,7 -20,7 +20,7 @@@ #include #include "gsheetmodel.h" -#include "gtkextra-marshal.h" +#include enum { RANGE_CHANGED, @@@ -80,7 -80,7 +80,7 @@@ g_sheet_model_base_init (gpointer g_cla G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GSheetModelIface, range_changed), NULL, NULL, - gtkextra_VOID__INT_INT_INT_INT, + psppire_marshal_VOID__INT_INT_INT_INT, G_TYPE_NONE, 4, G_TYPE_INT, G_TYPE_INT, @@@ -95,7 -95,7 +95,7 @@@ G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GSheetModelIface, rows_inserted), NULL, NULL, - gtkextra_VOID__INT_INT, + psppire_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); @@@ -107,7 -107,7 +107,7 @@@ G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GSheetModelIface, rows_deleted), NULL, NULL, - gtkextra_VOID__INT_INT, + psppire_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); @@@ -118,7 -118,7 +118,7 @@@ G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GSheetModelIface, columns_inserted), NULL, NULL, - gtkextra_VOID__INT_INT, + psppire_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); @@@ -130,7 -130,7 +130,7 @@@ G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GSheetModelIface, columns_deleted), NULL, NULL, - gtkextra_VOID__INT_INT, + psppire_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); @@@ -505,7 -505,6 +505,6 @@@ g_sheet_model_get_row_count(const GShee { g_return_val_if_fail (G_IS_SHEET_MODEL (model), -1); - return G_SHEET_MODEL_GET_IFACE (model)->get_row_count (model); } @@@ -515,6 -514,8 +514,8 @@@ gboolean g_sheet_model_get_column_sensitivity (const GSheetModel *model, gint col) { + g_return_val_if_fail (G_IS_SHEET_MODEL (model), FALSE); + if ( NULL == G_SHEET_MODEL_GET_IFACE (model)->get_column_sensitivity) return TRUE; @@@ -553,6 -554,8 +554,8 @@@ GtkJustificatio g_sheet_model_get_column_justification (const GSheetModel *model, gint col) { + g_return_val_if_fail (G_IS_SHEET_MODEL (model), GTK_JUSTIFY_LEFT); + if ( G_SHEET_MODEL_GET_IFACE (model)->get_column_justification) return G_SHEET_MODEL_GET_IFACE (model)->get_column_justification (model, col); @@@ -564,6 -567,8 +567,8 @@@ gboolean g_sheet_model_get_row_sensitivity (const GSheetModel *model, gint row) { + g_return_val_if_fail (G_IS_SHEET_MODEL (model), FALSE); + if ( NULL == G_SHEET_MODEL_GET_IFACE (model)->get_row_sensitivity) return TRUE; diff --combined lib/gtksheet/gtksheet.c index b6ff0000,feeeaafa..b4184080 --- a/lib/gtksheet/gtksheet.c +++ b/lib/gtksheet/gtksheet.c @@@ -53,7 -53,7 +53,7 @@@ #include #include #include "gtksheet.h" -#include "gtkextra-marshal.h" +#include #include "gsheetmodel.h" #include #include @@@ -836,7 -836,7 +836,7 @@@ gtk_sheet_class_init (GtkSheetClass *kl G_SIGNAL_RUN_LAST, 0, NULL, NULL, - gtkextra_VOID__INT_POINTER, + psppire_marshal_VOID__INT_POINTER, G_TYPE_NONE, 2, G_TYPE_INT, @@@ -857,7 -857,7 +857,7 @@@ G_SIGNAL_RUN_LAST, 0, NULL, NULL, - gtkextra_VOID__INT_POINTER, + psppire_marshal_VOID__INT_POINTER, G_TYPE_NONE, 2, G_TYPE_INT, @@@ -883,7 -883,7 +883,7 @@@ G_SIGNAL_RUN_LAST, offsetof (GtkSheetClass, resize_range), NULL, NULL, - gtkextra_VOID__BOXED_BOXED, + psppire_marshal_VOID__BOXED_BOXED, G_TYPE_NONE, 2, GTK_TYPE_SHEET_RANGE, GTK_TYPE_SHEET_RANGE @@@ -895,7 -895,7 +895,7 @@@ G_SIGNAL_RUN_LAST, offsetof (GtkSheetClass, move_range), NULL, NULL, - gtkextra_VOID__BOXED_BOXED, + psppire_marshal_VOID__BOXED_BOXED, G_TYPE_NONE, 2, GTK_TYPE_SHEET_RANGE, GTK_TYPE_SHEET_RANGE @@@ -907,7 -907,7 +907,7 @@@ G_SIGNAL_RUN_LAST, offsetof (GtkSheetClass, traverse), NULL, NULL, - gtkextra_BOOLEAN__BOXED_POINTER, + psppire_marshal_BOOLEAN__BOXED_POINTER, G_TYPE_BOOLEAN, 2, GTK_TYPE_SHEET_CELL, G_TYPE_POINTER); @@@ -919,7 -919,7 +919,7 @@@ G_SIGNAL_RUN_LAST, offsetof (GtkSheetClass, activate), NULL, NULL, - gtkextra_VOID__INT_INT_INT_INT, + psppire_marshal_VOID__INT_INT_INT_INT, G_TYPE_NONE, 4, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); @@@ -930,7 -930,7 +930,7 @@@ G_SIGNAL_RUN_LAST, offsetof (GtkSheetClass, set_scroll_adjustments), NULL, NULL, - gtkextra_VOID__OBJECT_OBJECT, + psppire_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); @@@ -1046,7 -1046,6 +1046,6 @@@ gtk_sheet_init (GtkSheet *sheet sheet->sheet_window = NULL; sheet->entry_widget = NULL; - sheet->entry_container = NULL; sheet->entry_handler_id = 0; sheet->button = NULL; @@@ -1074,7 -1073,7 +1073,7 @@@ /* create sheet entry */ - sheet->entry_type = 0; + sheet->entry_type = GTK_TYPE_ENTRY; create_sheet_entry (sheet); /* create global selection button */ @@@ -1210,7 -1209,7 +1209,7 @@@ range_update_callback (GSheetModel *m, * Returns: the new sheet widget */ GtkWidget * - gtk_sheet_new (void *vgeo, void *hgeo, GSheetModel *model) + gtk_sheet_new (GSheetModel *model) { GtkWidget *widget = g_object_new (GTK_TYPE_SHEET, "model", model, @@@ -1658,9 -1657,6 +1657,6 @@@ gtk_sheet_dispose (GObject *object if (sheet->vaxis) g_object_unref (sheet->vaxis); if (sheet->haxis) g_object_unref (sheet->haxis); - g_object_unref (sheet->entry_container); - sheet->entry_container = NULL; - g_object_unref (sheet->button); sheet->button = NULL; @@@ -2054,6 -2050,8 +2050,6 @@@ gtk_sheet_cell_draw (GtkSheet *sheet, g area.width, area.height); } - // gtk_sheet_cell_draw_label (sheet, row, col); - label = gtk_sheet_cell_get_text (sheet, row, col); if (NULL == label) @@@ -2511,9 -2509,7 +2507,7 @@@ gtk_sheet_entry_changed (GtkWidget *wid sheet->active_cell.row = -1; sheet->active_cell.col = -1; - text = gtk_entry_get_text (GTK_ENTRY (gtk_sheet_get_entry (sheet))); - - + text = gtk_entry_get_text (gtk_sheet_get_entry (sheet)); if (text && strlen (text) > 0) { @@@ -2628,7 -2624,7 +2622,7 @@@ gtk_sheet_show_active_cell (GtkSheet *s GTK_WIDGET_SET_FLAGS (GTK_WIDGET (sheet->entry_widget), GTK_VISIBLE); - sheet_entry = GTK_ENTRY (gtk_sheet_get_entry (sheet)); + sheet_entry = gtk_sheet_get_entry (sheet); gtk_sheet_get_attributes (sheet, row, col, &attributes); @@@ -2637,14 -2633,14 +2631,14 @@@ if ( ! text ) text = g_strdup (""); - gtk_entry_set_visibility (GTK_ENTRY (sheet_entry), attributes.is_visible); + gtk_entry_set_visibility (sheet_entry, attributes.is_visible); if ( GTK_IS_ENTRY (sheet_entry)) { const gchar *old_text = gtk_entry_get_text (GTK_ENTRY (sheet_entry)); if (strcmp (old_text, text) != 0) - gtk_entry_set_text (GTK_ENTRY (sheet_entry), text); + gtk_entry_set_text (sheet_entry, text); switch (attributes.justification) { @@@ -2663,6 -2659,9 +2657,9 @@@ gtk_sheet_size_allocate_entry (sheet); + gtk_widget_set_sensitive (GTK_WIDGET (sheet_entry), + g_sheet_model_is_editable (sheet->model, + row, col)); gtk_widget_map (sheet->entry_widget); gtk_widget_grab_focus (GTK_WIDGET (sheet_entry)); @@@ -4523,16 -4522,19 +4520,16 @@@ gtk_sheet_size_allocate_entry (GtkShee GtkSheetCellAttr attributes = { 0 }; GtkEntry *sheet_entry; - if (!GTK_WIDGET_REALIZED (GTK_WIDGET (sheet))) return; if (!GTK_WIDGET_MAPPED (GTK_WIDGET (sheet))) return; - sheet_entry = GTK_ENTRY (gtk_sheet_get_entry (sheet)); + sheet_entry = gtk_sheet_get_entry (sheet); if ( ! gtk_sheet_get_attributes (sheet, sheet->active_cell.row, sheet->active_cell.col, &attributes) ) return ; - gtk_widget_ensure_style (GTK_WIDGET (sheet_entry)); - if ( GTK_WIDGET_REALIZED (sheet->entry_widget) ) { GtkStyle *style = GTK_WIDGET (sheet_entry)->style; @@@ -4543,6 -4545,10 +4540,6 @@@ style->bg[GTK_STATE_ACTIVE] = attributes.background; style->fg[GTK_STATE_ACTIVE] = attributes.foreground; style->text[GTK_STATE_ACTIVE] = attributes.foreground; - - pango_font_description_free (style->font_desc); - g_assert (attributes.font_desc); - style->font_desc = pango_font_description_copy (attributes.font_desc); } rectangle_from_cell (sheet, sheet->active_cell.row, @@@ -4562,29 -4568,8 +4559,8 @@@ create_sheet_entry (GtkSheet *sheet gtk_widget_unparent (sheet->entry_widget); } - if (sheet->entry_type) - { - sheet->entry_container = g_object_new (sheet->entry_type, NULL); - g_object_ref_sink (sheet->entry_container); - sheet->entry_widget = gtk_sheet_get_entry (sheet); - - if ( NULL == sheet->entry_widget) - { - g_warning ("Entry type is %s. It must be GtkEntry subclass, or a widget containing one. " - "Using default", g_type_name (sheet->entry_type)); - g_object_unref (sheet->entry_container); - sheet->entry_widget = sheet->entry_container = gtk_entry_new (); - } - else - { - sheet->entry_widget = sheet->entry_container ; - } - } - else - { - sheet->entry_widget = sheet->entry_container = gtk_entry_new (); - g_object_ref_sink (sheet->entry_container); - } + sheet->entry_widget = g_object_new (sheet->entry_type, NULL); + g_object_ref_sink (sheet->entry_widget); gtk_widget_size_request (sheet->entry_widget, NULL); @@@ -4620,43 -4605,32 +4596,32 @@@ find_entry (GtkWidget *w, gpointer user } } - GtkWidget * + + GtkEntry * gtk_sheet_get_entry (GtkSheet *sheet) { - GtkWidget *parent; - GtkWidget *entry = NULL; + GtkWidget *w = sheet->entry_widget; g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); g_return_val_if_fail (sheet->entry_widget != NULL, NULL); - if (GTK_IS_ENTRY (sheet->entry_container)) - return (sheet->entry_container); - - parent = sheet->entry_container; - - if (GTK_IS_CONTAINER (parent)) + while (! GTK_IS_ENTRY (w)) { - gtk_container_forall (GTK_CONTAINER (parent), find_entry, &entry); - - if (GTK_IS_ENTRY (entry)) - return entry; - } - - if (!GTK_IS_ENTRY (entry)) return NULL; + GtkWidget *entry = NULL; - return (entry); + if (GTK_IS_CONTAINER (w)) + { + gtk_container_forall (GTK_CONTAINER (w), find_entry, &entry); - } + if (NULL == entry) + break; - GtkWidget * - gtk_sheet_get_entry_widget (GtkSheet *sheet) - { - g_return_val_if_fail (sheet != NULL, NULL); - g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); - g_return_val_if_fail (sheet->entry_widget != NULL, NULL); + w = entry; + } + } - return (sheet->entry_widget); + return GTK_ENTRY (w); } @@@ -5218,6 -5192,7 +5183,6 @@@ gtk_sheet_get_attributes (const GtkShee if (row < 0 || col < 0) return FALSE; - attr->foreground = GTK_WIDGET (sheet)->style->black; attr->background = sheet->color[BG_COLOR]; @@@ -5336,8 -5311,8 +5301,8 @@@ gtk_sheet_forall (GtkContainer *contain if (sheet->button && sheet->button->parent) (* callback) (sheet->button, callback_data); - if (sheet->entry_container && GTK_IS_CONTAINER (sheet->entry_container)) - (* callback) (sheet->entry_container, callback_data); + if (sheet->entry_widget && GTK_IS_CONTAINER (sheet->entry_widget)) + (* callback) (sheet->entry_widget, callback_data); }