summaryrefslogtreecommitdiff
path: root/gtk/gtkiconviewprivate.h
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2011-12-18 16:16:34 +0100
committerBenjamin Otte <otte@redhat.com>2011-12-19 16:17:12 +0100
commit1305815bde9be3a2571ddd568911892f71b108b3 (patch)
tree8015051828d3bf03fb47cf5b7ccf101ba8b18ac5 /gtk/gtkiconviewprivate.h
parenteb27c618788009353ac280e284a13e403c91d089 (diff)
downloadgtk+-1305815bde9be3a2571ddd568911892f71b108b3.tar.gz
iconview: Split out iconview accessible
Diffstat (limited to 'gtk/gtkiconviewprivate.h')
-rw-r--r--gtk/gtkiconviewprivate.h157
1 files changed, 157 insertions, 0 deletions
diff --git a/gtk/gtkiconviewprivate.h b/gtk/gtkiconviewprivate.h
new file mode 100644
index 0000000000..4be78dcf4c
--- /dev/null
+++ b/gtk/gtkiconviewprivate.h
@@ -0,0 +1,157 @@
+/* gtkiconview.h
+ * Copyright (C) 2002, 2004 Anders Carlsson <andersca@gnome.org>
+ *
+ * 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.
+ */
+
+#include "gtk/gtkiconview.h"
+
+#ifndef __GTK_ICON_VIEW_PRIVATE_H__
+#define __GTK_ICON_VIEW_PRIVATE_H__
+
+typedef struct _GtkIconViewItem GtkIconViewItem;
+struct _GtkIconViewItem
+{
+ /* First member is always the rectangle so it
+ * can be cast to a rectangle. */
+ GdkRectangle cell_area;
+
+ GtkTreeIter iter;
+ gint index;
+
+ gint row, col;
+
+ guint prelight : 1;
+ guint selected : 1;
+ guint selected_before_rubberbanding : 1;
+
+};
+
+struct _GtkIconViewPrivate
+{
+ GtkCellArea *cell_area;
+ GtkCellAreaContext *cell_area_context;
+
+ gulong add_editable_id;
+ gulong remove_editable_id;
+ gulong context_changed_id;
+
+ GPtrArray *row_contexts;
+
+ gint width, height;
+
+ GtkSelectionMode selection_mode;
+
+ guint layout_idle_id;
+
+ GdkWindow *bin_window;
+
+ GList *children;
+
+ GtkTreeModel *model;
+
+ GList *items;
+
+ GtkAdjustment *hadjustment;
+ GtkAdjustment *vadjustment;
+
+ gint rubberband_x1, rubberband_y1;
+ gint rubberband_x2, rubberband_y2;
+ GdkDevice *rubberband_device;
+
+ guint scroll_timeout_id;
+ gint scroll_value_diff;
+ gint event_last_x, event_last_y;
+
+ GtkIconViewItem *anchor_item;
+ GtkIconViewItem *cursor_item;
+
+ GtkIconViewItem *last_single_clicked;
+ GtkIconViewItem *last_prelight;
+
+ GtkOrientation item_orientation;
+
+ gint columns;
+ gint item_width;
+ gint spacing;
+ gint row_spacing;
+ gint column_spacing;
+ gint margin;
+ gint item_padding;
+
+ gint text_column;
+ gint markup_column;
+ gint pixbuf_column;
+ gint tooltip_column;
+
+ GtkCellRenderer *pixbuf_cell;
+ GtkCellRenderer *text_cell;
+
+ /* Drag-and-drop. */
+ GdkModifierType start_button_mask;
+ gint pressed_button;
+ gint press_start_x;
+ gint press_start_y;
+
+ GdkDragAction source_actions;
+ GdkDragAction dest_actions;
+
+ GtkTreeRowReference *dest_item;
+ GtkIconViewDropPosition dest_pos;
+
+ /* scroll to */
+ GtkTreeRowReference *scroll_to_path;
+ gfloat scroll_to_row_align;
+ gfloat scroll_to_col_align;
+ guint scroll_to_use_align : 1;
+
+ guint source_set : 1;
+ guint dest_set : 1;
+ guint reorderable : 1;
+ guint empty_view_drop :1;
+
+ guint modify_selection_pressed : 1;
+ guint extend_selection_pressed : 1;
+
+ guint draw_focus : 1;
+
+ /* GtkScrollablePolicy needs to be checked when
+ * driving the scrollable adjustment values */
+ guint hscroll_policy : 1;
+ guint vscroll_policy : 1;
+
+ guint doing_rubberband : 1;
+
+};
+
+void _gtk_icon_view_set_cell_data (GtkIconView *icon_view,
+ GtkIconViewItem *item);
+void _gtk_icon_view_set_cursor_item (GtkIconView *icon_view,
+ GtkIconViewItem *item,
+ GtkCellRenderer *cursor_cell);
+GtkIconViewItem * _gtk_icon_view_get_item_at_coords (GtkIconView *icon_view,
+ gint x,
+ gint y,
+ gboolean only_in_cell,
+ GtkCellRenderer **cell_at_pos);
+void _gtk_icon_view_select_item (GtkIconView *icon_view,
+ GtkIconViewItem *item);
+void _gtk_icon_view_unselect_item (GtkIconView *icon_view,
+ GtkIconViewItem *item);
+
+G_END_DECLS
+
+#endif /* __GTK_ICON_VIEW_PRIVATE_H__ */