X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpspp-sheet-view.h;h=8941b8946bd8245d0f7055cf16d0af6f6714ae98;hb=7293c1a383d325c371bd708401e5a1d7586a4d90;hp=dc9bf681593a3104313b6172bdafd08928ec75bf;hpb=2ed64681bb51b288b31054249fe41f61c5eab696;p=pspp diff --git a/src/ui/gui/pspp-sheet-view.h b/src/ui/gui/pspp-sheet-view.h deleted file mode 100644 index dc9bf68159..0000000000 --- a/src/ui/gui/pspp-sheet-view.h +++ /dev/null @@ -1,426 +0,0 @@ -/* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2011, 2012 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 - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* gtktreeview.h - * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __PSPP_SHEET_VIEW_H__ -#define __PSPP_SHEET_VIEW_H__ - -#include -#include "ui/gui/pspp-sheet-view-column.h" - -G_BEGIN_DECLS - - -typedef enum -{ - PSPP_SHEET_VIEW_GRID_LINES_NONE, - PSPP_SHEET_VIEW_GRID_LINES_HORIZONTAL, - PSPP_SHEET_VIEW_GRID_LINES_VERTICAL, - PSPP_SHEET_VIEW_GRID_LINES_BOTH -} PsppSheetViewGridLines; - -GType pspp_sheet_view_grid_lines_get_type (void) G_GNUC_CONST; -#define PSPP_TYPE_SHEET_VIEW_GRID_LINES (pspp_sheet_view_grid_lines_get_type ()) - -/* A "special cell" is a cell that is editable or activatable. When a row that - * contains a special cell is selected, the cursor is drawn around a single - * cell; when other rows are selected, the cursor is drawn around the entire - * row. - * - * With the default of "detect", whether a given row contains a special cell is - * detected automatically. This is the best choice most of the time. For - * sheet views that contain more than 100 columns, an explicit "yes" or "no" - * improves performance. */ -typedef enum -{ - PSPP_SHEET_VIEW_SPECIAL_CELLS_DETECT, - PSPP_SHEET_VIEW_SPECIAL_CELLS_YES, - PSPP_SHEET_VIEW_SPECIAL_CELLS_NO, -} PsppSheetViewSpecialCells; - -GType pspp_sheet_view_special_cells_get_type (void) G_GNUC_CONST; -#define PSPP_TYPE_SHEET_VIEW_SPECIAL_CELLS (pspp_sheet_view_special_cells_get_type ()) - -typedef enum -{ - /* drop before/after this row */ - PSPP_SHEET_VIEW_DROP_BEFORE, - PSPP_SHEET_VIEW_DROP_AFTER, - /* drop as a child of this row (with fallback to before or after - * if into is not possible) - */ - PSPP_SHEET_VIEW_DROP_INTO_OR_BEFORE, - PSPP_SHEET_VIEW_DROP_INTO_OR_AFTER -} PsppSheetViewDropPosition; - -#define PSPP_TYPE_SHEET_VIEW (pspp_sheet_view_get_type ()) -#define PSPP_SHEET_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PSPP_TYPE_SHEET_VIEW, PsppSheetView)) -#define PSPP_SHEET_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PSPP_TYPE_SHEET_VIEW, PsppSheetViewClass)) -#define PSPP_IS_SHEET_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PSPP_TYPE_SHEET_VIEW)) -#define PSPP_IS_SHEET_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PSPP_TYPE_SHEET_VIEW)) -#define PSPP_SHEET_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PSPP_TYPE_SHEET_VIEW, PsppSheetViewClass)) - -typedef struct _PsppSheetView PsppSheetView; -typedef struct _PsppSheetViewClass PsppSheetViewClass; -typedef struct _PsppSheetViewPrivate PsppSheetViewPrivate; -typedef struct _PsppSheetSelection PsppSheetSelection; -typedef struct _PsppSheetSelectionClass PsppSheetSelectionClass; - -struct _PsppSheetView -{ - GtkContainer parent; - - PsppSheetViewPrivate *GSEAL (priv); - - gboolean dispose_has_run ; -}; - -struct _PsppSheetViewClass -{ - GtkContainerClass parent_class; - - void (* set_scroll_adjustments) (PsppSheetView *tree_view, - GtkAdjustment *hadjustment, - GtkAdjustment *vadjustment); - void (* row_activated) (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewColumn *column); - void (* columns_changed) (PsppSheetView *tree_view); - void (* cursor_changed) (PsppSheetView *tree_view); - - /* Key Binding signals */ - gboolean (* move_cursor) (PsppSheetView *tree_view, - GtkMovementStep step, - gint count); - gboolean (* select_all) (PsppSheetView *tree_view); - gboolean (* unselect_all) (PsppSheetView *tree_view); - gboolean (* select_cursor_row) (PsppSheetView *tree_view, - gboolean start_editing); - gboolean (* toggle_cursor_row) (PsppSheetView *tree_view); - gboolean (* select_cursor_parent) (PsppSheetView *tree_view); - gboolean (* start_interactive_search) (PsppSheetView *tree_view); - - /* Padding for future expansion */ - void (*_gtk_reserved0) (void); - void (*_gtk_reserved1) (void); - void (*_gtk_reserved2) (void); - void (*_gtk_reserved3) (void); - void (*_gtk_reserved4) (void); -}; - - -typedef gboolean (* PsppSheetViewColumnDropFunc) (PsppSheetView *tree_view, - PsppSheetViewColumn *column, - PsppSheetViewColumn *prev_column, - PsppSheetViewColumn *next_column, - gpointer data); -typedef void (* PsppSheetViewMappingFunc) (PsppSheetView *tree_view, - GtkTreePath *path, - gpointer user_data); -typedef gboolean (*PsppSheetViewSearchEqualFunc) (GtkTreeModel *model, - gint column, - const gchar *key, - GtkTreeIter *iter, - gpointer search_data); -typedef void (*PsppSheetViewSearchPositionFunc) (PsppSheetView *tree_view, - GtkWidget *search_dialog, - gpointer user_data); - - -/* Creators */ -GType pspp_sheet_view_get_type (void) G_GNUC_CONST; -GtkWidget *pspp_sheet_view_new (void); -GtkWidget *pspp_sheet_view_new_with_model (GtkTreeModel *model); - -/* Accessors */ -GtkTreeModel *pspp_sheet_view_get_model (PsppSheetView *tree_view); -void pspp_sheet_view_set_model (PsppSheetView *tree_view, - GtkTreeModel *model); -PsppSheetSelection *pspp_sheet_view_get_selection (PsppSheetView *tree_view); -GtkAdjustment *pspp_sheet_view_get_hadjustment (PsppSheetView *tree_view); -void pspp_sheet_view_set_hadjustment (PsppSheetView *tree_view, - GtkAdjustment *adjustment); -GtkAdjustment *pspp_sheet_view_get_vadjustment (PsppSheetView *tree_view); -void pspp_sheet_view_set_vadjustment (PsppSheetView *tree_view, - GtkAdjustment *adjustment); -gboolean pspp_sheet_view_get_headers_visible (PsppSheetView *tree_view); -void pspp_sheet_view_set_headers_visible (PsppSheetView *tree_view, - gboolean headers_visible); -void pspp_sheet_view_columns_autosize (PsppSheetView *tree_view); -gboolean pspp_sheet_view_get_headers_clickable (PsppSheetView *tree_view); -void pspp_sheet_view_set_headers_clickable (PsppSheetView *tree_view, - gboolean setting); -void pspp_sheet_view_set_rules_hint (PsppSheetView *tree_view, - gboolean setting); -gboolean pspp_sheet_view_get_rules_hint (PsppSheetView *tree_view); - -/* Column funtions */ -gint pspp_sheet_view_append_column (PsppSheetView *tree_view, - PsppSheetViewColumn *column); -gint pspp_sheet_view_remove_column (PsppSheetView *tree_view, - PsppSheetViewColumn *column); -gint pspp_sheet_view_insert_column (PsppSheetView *tree_view, - PsppSheetViewColumn *column, - gint position); -gint pspp_sheet_view_insert_column_with_attributes (PsppSheetView *tree_view, - gint position, - const gchar *title, - GtkCellRenderer *cell, - ...) G_GNUC_NULL_TERMINATED; -gint pspp_sheet_view_insert_column_with_data_func (PsppSheetView *tree_view, - gint position, - const gchar *title, - GtkCellRenderer *cell, - PsppSheetCellDataFunc func, - gpointer data, - GDestroyNotify dnotify); -PsppSheetViewColumn *pspp_sheet_view_get_column (PsppSheetView *tree_view, - gint n); -GList *pspp_sheet_view_get_columns (PsppSheetView *tree_view); -void pspp_sheet_view_move_column_after (PsppSheetView *tree_view, - PsppSheetViewColumn *column, - PsppSheetViewColumn *base_column); -void pspp_sheet_view_set_column_drag_function (PsppSheetView *tree_view, - PsppSheetViewColumnDropFunc func, - gpointer user_data, - GDestroyNotify destroy); - -/* Actions */ -void pspp_sheet_view_scroll_to_point (PsppSheetView *tree_view, - gint tree_x, - gint tree_y); -void pspp_sheet_view_scroll_to_cell (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewColumn *column, - gboolean use_align, - gfloat row_align, - gfloat col_align); -void pspp_sheet_view_row_activated (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewColumn *column); -void pspp_sheet_view_set_reorderable (PsppSheetView *tree_view, - gboolean reorderable); -gboolean pspp_sheet_view_get_reorderable (PsppSheetView *tree_view); -void pspp_sheet_view_set_cursor (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewColumn *focus_column, - gboolean start_editing); -void pspp_sheet_view_set_cursor_on_cell (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewColumn *focus_column, - GtkCellRenderer *focus_cell, - gboolean start_editing); -void pspp_sheet_view_get_cursor (PsppSheetView *tree_view, - GtkTreePath **path, - PsppSheetViewColumn **focus_column); - - -/* Layout information */ -GdkWindow *pspp_sheet_view_get_bin_window (PsppSheetView *tree_view); -gboolean pspp_sheet_view_get_path_at_pos (PsppSheetView *tree_view, - gint x, - gint y, - GtkTreePath **path, - PsppSheetViewColumn **column, - gint *cell_x, - gint *cell_y); -void pspp_sheet_view_get_cell_area (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewColumn *column, - GdkRectangle *rect); -void pspp_sheet_view_get_background_area (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewColumn *column, - GdkRectangle *rect); -void pspp_sheet_view_get_visible_rect (PsppSheetView *tree_view, - GdkRectangle *visible_rect); - -#ifndef GTK_DISABLE_DEPRECATED -void pspp_sheet_view_widget_to_tree_coords (PsppSheetView *tree_view, - gint wx, - gint wy, - gint *tx, - gint *ty); -void pspp_sheet_view_tree_to_widget_coords (PsppSheetView *tree_view, - gint tx, - gint ty, - gint *wx, - gint *wy); -#endif /* !GTK_DISABLE_DEPRECATED */ -gboolean pspp_sheet_view_get_visible_range (PsppSheetView *tree_view, - GtkTreePath **start_path, - GtkTreePath **end_path); - -/* Drag-and-Drop support */ -void pspp_sheet_view_enable_model_drag_source (PsppSheetView *tree_view, - GdkModifierType start_button_mask, - const GtkTargetEntry *targets, - gint n_targets, - GdkDragAction actions); -void pspp_sheet_view_enable_model_drag_dest (PsppSheetView *tree_view, - const GtkTargetEntry *targets, - gint n_targets, - GdkDragAction actions); -void pspp_sheet_view_unset_rows_drag_source (PsppSheetView *tree_view); -void pspp_sheet_view_unset_rows_drag_dest (PsppSheetView *tree_view); - - -/* These are useful to implement your own custom stuff. */ -void pspp_sheet_view_set_drag_dest_row (PsppSheetView *tree_view, - GtkTreePath *path, - PsppSheetViewDropPosition pos); -void pspp_sheet_view_get_drag_dest_row (PsppSheetView *tree_view, - GtkTreePath **path, - PsppSheetViewDropPosition *pos); -gboolean pspp_sheet_view_get_dest_row_at_pos (PsppSheetView *tree_view, - gint drag_x, - gint drag_y, - GtkTreePath **path, - PsppSheetViewDropPosition *pos); -GdkPixmap *pspp_sheet_view_create_row_drag_icon (PsppSheetView *tree_view, - GtkTreePath *path); - -/* Interactive search */ -void pspp_sheet_view_set_enable_search (PsppSheetView *tree_view, - gboolean enable_search); -gboolean pspp_sheet_view_get_enable_search (PsppSheetView *tree_view); -gint pspp_sheet_view_get_search_column (PsppSheetView *tree_view); -void pspp_sheet_view_set_search_column (PsppSheetView *tree_view, - gint column); -PsppSheetViewSearchEqualFunc pspp_sheet_view_get_search_equal_func (PsppSheetView *tree_view); -void pspp_sheet_view_set_search_equal_func (PsppSheetView *tree_view, - PsppSheetViewSearchEqualFunc search_equal_func, - gpointer search_user_data, - GDestroyNotify search_destroy); - -GtkEntry *pspp_sheet_view_get_search_entry (PsppSheetView *tree_view); -void pspp_sheet_view_set_search_entry (PsppSheetView *tree_view, - GtkEntry *entry); -PsppSheetViewSearchPositionFunc pspp_sheet_view_get_search_position_func (PsppSheetView *tree_view); -void pspp_sheet_view_set_search_position_func (PsppSheetView *tree_view, - PsppSheetViewSearchPositionFunc func, - gpointer data, - GDestroyNotify destroy); - -/* Convert between the different coordinate systems */ -void pspp_sheet_view_convert_widget_to_tree_coords (PsppSheetView *tree_view, - gint wx, - gint wy, - gint *tx, - gint *ty); -void pspp_sheet_view_convert_tree_to_widget_coords (PsppSheetView *tree_view, - gint tx, - gint ty, - gint *wx, - gint *wy); -void pspp_sheet_view_convert_widget_to_bin_window_coords (PsppSheetView *tree_view, - gint wx, - gint wy, - gint *bx, - gint *by); -void pspp_sheet_view_convert_bin_window_to_widget_coords (PsppSheetView *tree_view, - gint bx, - gint by, - gint *wx, - gint *wy); -void pspp_sheet_view_convert_tree_to_bin_window_coords (PsppSheetView *tree_view, - gint tx, - gint ty, - gint *bx, - gint *by); -void pspp_sheet_view_convert_bin_window_to_tree_coords (PsppSheetView *tree_view, - gint bx, - gint by, - gint *tx, - gint *ty); - -/* This function should really never be used. It is just for use by ATK. - */ -typedef void (* PsppSheetDestroyCountFunc) (PsppSheetView *tree_view, - GtkTreePath *path, - gint children, - gpointer user_data); -void pspp_sheet_view_set_destroy_count_func (PsppSheetView *tree_view, - PsppSheetDestroyCountFunc func, - gpointer data, - GDestroyNotify destroy); - -void pspp_sheet_view_set_hover_selection (PsppSheetView *tree_view, - gboolean hover); -gboolean pspp_sheet_view_get_hover_selection (PsppSheetView *tree_view); -void pspp_sheet_view_set_rubber_banding (PsppSheetView *tree_view, - gboolean enable); -gboolean pspp_sheet_view_get_rubber_banding (PsppSheetView *tree_view); - -gboolean pspp_sheet_view_is_rubber_banding_active (PsppSheetView *tree_view); - -PsppSheetViewGridLines pspp_sheet_view_get_grid_lines (PsppSheetView *tree_view); -void pspp_sheet_view_set_grid_lines (PsppSheetView *tree_view, - PsppSheetViewGridLines grid_lines); - -PsppSheetViewSpecialCells pspp_sheet_view_get_special_cells (PsppSheetView *tree_view); -void pspp_sheet_view_set_special_cells (PsppSheetView *tree_view, - PsppSheetViewSpecialCells); - -int pspp_sheet_view_get_fixed_height (const PsppSheetView *); -void pspp_sheet_view_set_fixed_height (PsppSheetView *, - int fixed_height); - -/* Convenience functions for setting tooltips */ -void pspp_sheet_view_set_tooltip_row (PsppSheetView *tree_view, - GtkTooltip *tooltip, - GtkTreePath *path); -void pspp_sheet_view_set_tooltip_cell (PsppSheetView *tree_view, - GtkTooltip *tooltip, - GtkTreePath *path, - PsppSheetViewColumn *column, - GtkCellRenderer *cell); -gboolean pspp_sheet_view_get_tooltip_context(PsppSheetView *tree_view, - gint *x, - gint *y, - gboolean keyboard_tip, - GtkTreeModel **model, - GtkTreePath **path, - GtkTreeIter *iter); -void pspp_sheet_view_set_tooltip_column (PsppSheetView *tree_view, - gint column); -gint pspp_sheet_view_get_tooltip_column (PsppSheetView *tree_view); - -void pspp_sheet_view_stop_editing (PsppSheetView *tree_view, - gboolean cancel_editing); - -G_END_DECLS - - -#endif /* __PSPP_SHEET_VIEW_H__ */