X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpspp-sheet-private.h;h=a19c7c5b783bf60bef8916a8616be49a091e86c8;hb=e616e74c79756510aa504b4a2885b2a9b18ed546;hp=4658955b0007d287f3761e431d943ac4789ba05b;hpb=7ecdf4e88e39024da846a25c98caa2887f0dac59;p=pspp diff --git a/src/ui/gui/pspp-sheet-private.h b/src/ui/gui/pspp-sheet-private.h index 4658955b00..a19c7c5b78 100644 --- a/src/ui/gui/pspp-sheet-private.h +++ b/src/ui/gui/pspp-sheet-private.h @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc. 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 @@ -53,13 +53,6 @@ typedef enum PSPP_SHEET_VIEW_IN_COLUMN_DRAG = 1 << 7 } PsppSheetViewFlags; -typedef enum -{ - GTK_TREE_SELECT_MODE_TOGGLE = 1 << 0, - GTK_TREE_SELECT_MODE_EXTEND = 1 << 1 -} -GtkTreeSelectMode; - enum { DRAG_COLUMN_WINDOW_STATE_UNSET = 0, @@ -144,6 +137,7 @@ struct _PsppSheetViewPrivate gint pressed_button; gint press_start_x; gint press_start_y; + gint press_start_node; gint event_last_x; gint event_last_y; @@ -156,6 +150,7 @@ struct _PsppSheetViewPrivate /* Cell Editing */ PsppSheetViewColumn *edited_column; + gint edited_row; /* Selection information */ PsppSheetSelection *selection; @@ -164,6 +159,7 @@ struct _PsppSheetViewPrivate gint n_columns; GList *columns; gint header_height; + gint n_selected_columns; PsppSheetViewColumnDropFunc column_drop_func; gpointer column_drop_func_data; @@ -184,10 +180,6 @@ struct _PsppSheetViewPrivate /* Non-interactive Header Resizing, expand flag support */ gint prev_width; - gint last_extra_space; - gint last_extra_space_per_column; - gint last_number_of_expand_columns; - /* ATK Hack */ PsppSheetDestroyCountFunc destroy_count_func; gpointer destroy_count_data; @@ -212,8 +204,12 @@ struct _PsppSheetViewPrivate int rubber_band_end_node; + /* Rectangular selection. */ + PsppSheetViewColumn *anchor_column; /* XXX needs to be a weak pointer? */ + /* fixed height */ gint fixed_height; + gboolean fixed_height_set; /* Scroll-to functionality when unrealized */ GtkTreeRowReference *scroll_to_path; @@ -237,11 +233,16 @@ struct _PsppSheetViewPrivate /* Grid and tree lines */ PsppSheetViewGridLines grid_lines; - GdkGC *grid_line_gc; + + /* Special cells. */ + PsppSheetViewSpecialCells special_cells; /* Tooltip support */ gint tooltip_column; + /* Cached style for button facades in columns. */ + GtkStyle *button_style; + /* Here comes the bitfield */ guint scroll_to_use_align : 1; @@ -254,9 +255,6 @@ struct _PsppSheetViewPrivate /* for DnD */ guint empty_view_drop : 1; - guint ctrl_pressed : 1; - guint shift_pressed : 1; - guint init_hadjust_value : 1; guint in_top_row_to_dy : 1; @@ -276,8 +274,16 @@ struct _PsppSheetViewPrivate guint post_validation_flag : 1; /* Whether our key press handler is to avoid sending an unhandled binding to the search entry */ + guint search_entry_avoid_unhandled_binding : 1; -}; + /* GtkScrollablePolicy needs to be checked when + * driving the scrollable adjustment values */ + guint hscroll_policy : 1; + guint vscroll_policy : 1; + + /* For optimisation of size allocate requests */ + guint resized : 1; + }; #ifdef __GNUC__ @@ -353,7 +359,7 @@ struct _PsppSheetViewPrivate void _pspp_sheet_selection_internal_select_node (PsppSheetSelection *selection, int node, GtkTreePath *path, - GtkTreeSelectMode mode, + PsppSheetSelectMode mode, gboolean override_browse_mode); void _pspp_sheet_selection_emit_changed (PsppSheetSelection *selection); void _pspp_sheet_view_find_node (PsppSheetView *tree_view, @@ -408,10 +414,9 @@ void _pspp_sheet_selection_set_tree_view (PsppSheetSelection * PsppSheetView *tree_view); void _pspp_sheet_view_column_cell_render (PsppSheetViewColumn *tree_column, - GdkWindow *window, + cairo_t *cr, const GdkRectangle *background_area, const GdkRectangle *cell_area, - const GdkRectangle *expose_area, guint flags); void _pspp_sheet_view_column_get_focus_area (PsppSheetViewColumn *tree_column, const GdkRectangle *background_area, @@ -422,10 +427,9 @@ gboolean _pspp_sheet_view_column_cell_focus (PsppSheetViewColumn *tree_ gboolean left, gboolean right); void _pspp_sheet_view_column_cell_draw_focus (PsppSheetViewColumn *tree_column, - GdkWindow *window, + cairo_t *cr, const GdkRectangle *background_area, const GdkRectangle *cell_area, - const GdkRectangle *expose_area, guint flags); void _pspp_sheet_view_column_cell_set_dirty (PsppSheetViewColumn *tree_column); void _pspp_sheet_view_column_get_neighbor_sizes (PsppSheetViewColumn *column,