X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fgtk-contrib%2Fpsppire-sheet.c;h=ecadf742cbb9e0b874bf207ecaeae832072e17b9;hb=32ee0e0402d6d56674f53a47d879ec5c07dabe09;hp=63307d8f51249a1a97ceae37c449f3ed24c9c789;hpb=77ce797fbee4ea815123f46f2dbdad589fd608a2;p=pspp diff --git a/lib/gtk-contrib/psppire-sheet.c b/lib/gtk-contrib/psppire-sheet.c index 63307d8f51..ecadf742cb 100644 --- a/lib/gtk-contrib/psppire-sheet.c +++ b/lib/gtk-contrib/psppire-sheet.c @@ -1,5 +1,5 @@ /* - Copyright (C) 2006, 2008, 2009 Free Software Foundation + Copyright (C) 2006, 2008, 2009, 2011 Free Software Foundation This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -387,7 +387,7 @@ POSSIBLE_RESIZE (const PsppireSheet *sheet, gint x, gint y, } -static gboolean +static void rectangle_from_range (PsppireSheet *sheet, const PsppireSheetRange *range, GdkRectangle *r) { @@ -424,22 +424,20 @@ rectangle_from_range (PsppireSheet *sheet, const PsppireSheetRange *range, { r->x += sheet->row_title_area.width; } - - return TRUE; } -static gboolean +static void rectangle_from_cell (PsppireSheet *sheet, gint row, gint col, GdkRectangle *r) { PsppireSheetRange range; - g_return_val_if_fail (row >= 0, FALSE); - g_return_val_if_fail (col >= 0, FALSE); + g_return_if_fail (row >= 0); + g_return_if_fail (col >= 0); range.row0 = range.rowi = row; range.col0 = range.coli = col; - return rectangle_from_range (sheet, &range, r); + rectangle_from_range (sheet, &range, r); } @@ -547,9 +545,6 @@ static void draw_row_title_buttons (PsppireSheet *sheet); static void size_allocate_global_button (PsppireSheet *sheet); -static void psppire_sheet_button_size_request (PsppireSheet *sheet, - const PsppireSheetButton *button, - GtkRequisition *requisition); static void psppire_sheet_real_cell_clear (PsppireSheet *sheet, gint row, @@ -1393,7 +1388,7 @@ psppire_sheet_set_model (PsppireSheet *sheet, PsppireSheetModel *model) void -psppire_sheet_change_entry (PsppireSheet *sheet, GtkType entry_type) +psppire_sheet_change_entry (PsppireSheet *sheet, GType entry_type) { g_return_if_fail (sheet != NULL); g_return_if_fail (PSPPIRE_IS_SHEET (sheet)); @@ -2726,13 +2721,17 @@ psppire_sheet_select_range (PsppireSheet *sheet, const PsppireSheetRange *range) void psppire_sheet_unselect_range (PsppireSheet *sheet) { - GdkRectangle area; sheet->select_status = PSPPIRE_SHEET_NORMAL; - rectangle_from_range (sheet, &sheet->range, &area); - area.x++; - area.y++; - gdk_window_invalidate_rect (sheet->sheet_window, &area, FALSE); + if (sheet->sheet_window != NULL) + { + GdkRectangle area; + + rectangle_from_range (sheet, &sheet->range, &area); + area.x++; + area.y++; + gdk_window_invalidate_rect (sheet->sheet_window, &area, FALSE); + } g_signal_emit (sheet, sheet_signals [SELECT_COLUMN], 0, -1); g_signal_emit (sheet, sheet_signals [SELECT_ROW], 0, -1); @@ -2779,30 +2778,15 @@ psppire_sheet_expose (GtkWidget *widget, GdkEventExpose *event) if (sheet->select_status != PSPPIRE_SHEET_NORMAL) { -#if 0 - if (psppire_sheet_range_isvisible (sheet, &sheet->range)) - psppire_sheet_range_draw (sheet, &sheet->range); - - if (PSPPIRE_SHEET_IN_RESIZE (sheet) || PSPPIRE_SHEET_IN_DRAG (sheet)) - psppire_sheet_range_draw (sheet, &sheet->drag_range); -#endif - - { - GdkRectangle area; + GdkRectangle area; - rectangle_from_range (sheet, &sheet->range, &area); + rectangle_from_range (sheet, &sheet->range, &area); - gdk_draw_rectangle (sheet->sheet_window, - sheet->xor_gc, - TRUE, - area.x + 1, area.y + 1, - area.width, area.height); - } - -#if 0 - if (PSPPIRE_SHEET_IN_RESIZE (sheet) || PSPPIRE_SHEET_IN_DRAG (sheet)) - draw_xor_rectangle (sheet, sheet->drag_range); -#endif + gdk_draw_rectangle (sheet->sheet_window, + sheet->xor_gc, + TRUE, + area.x + 1, area.y + 1, + area.width, area.height); } @@ -3039,9 +3023,7 @@ psppire_sheet_click_cell (PsppireSheet *sheet, gint row, gint column) sheet->range.row0 = 0; sheet->range.col0 = 0; sheet->range.rowi = psppire_axis_unit_count (sheet->vaxis) - 1; - sheet->range.coli = - psppire_axis_unit_count (sheet->haxis) - 1; - psppire_sheet_select_range (sheet, NULL); + sheet->range.coli = psppire_axis_unit_count (sheet->haxis) - 1; return TRUE; } @@ -4697,27 +4679,6 @@ psppire_sheet_get_attributes (const PsppireSheet *sheet, gint row, gint col, return TRUE; } -static void -psppire_sheet_button_size_request (PsppireSheet *sheet, - const PsppireSheetButton *button, - GtkRequisition *button_requisition) -{ - GtkRequisition requisition; - GtkRequisition label_requisition; - - label_requisition.height = DEFAULT_ROW_HEIGHT; - label_requisition.width = COLUMN_MIN_WIDTH; - - requisition.height = DEFAULT_ROW_HEIGHT; - requisition.width = COLUMN_MIN_WIDTH; - - - *button_requisition = requisition; - button_requisition->width = MAX (requisition.width, label_requisition.width); - button_requisition->height = MAX (requisition.height, label_requisition.height); - -} - static void psppire_sheet_forall (GtkContainer *container, gboolean include_internals,