summaryrefslogtreecommitdiff
path: root/gtk/gtklist.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtklist.h')
-rw-r--r--gtk/gtklist.h43
1 files changed, 36 insertions, 7 deletions
diff --git a/gtk/gtklist.h b/gtk/gtklist.h
index ef6a3d5e69..368e9fcfdd 100644
--- a/gtk/gtklist.h
+++ b/gtk/gtklist.h
@@ -23,7 +23,7 @@
#include <gdk/gdk.h>
#include <gtk/gtkenums.h>
#include <gtk/gtkcontainer.h>
-
+#include <gtk/gtklistitem.h>
#ifdef __cplusplus
extern "C" {
@@ -48,13 +48,22 @@ struct _GtkList
GList *children;
GList *selection;
- guint32 timer;
- guint16 selection_start_pos;
- guint16 selection_end_pos;
+ GList *undo_selection;
+ GList *undo_unselection;
+
+ GtkWidget *last_focus_child;
+ GtkWidget *undo_focus_child;
+
+ guint htimer;
+ guint vtimer;
+
+ gint anchor;
+ gint drag_pos;
+ GtkStateType anchor_state;
+
guint selection_mode : 2;
- guint scroll_direction : 1;
- guint have_grab : 1; /* unused */
- guint16 button; /* read by GtkCombo */
+ guint drag_selection:1;
+ guint add_mode:1;
};
struct _GtkListClass
@@ -98,6 +107,26 @@ gint gtk_list_child_position (GtkList *list,
void gtk_list_set_selection_mode (GtkList *list,
GtkSelectionMode mode);
+void gtk_list_extend_selection (GtkList *list,
+ GtkScrollType scroll_type,
+ gfloat position,
+ gboolean auto_start_selection);
+void gtk_list_start_selection (GtkList *list);
+void gtk_list_end_selection (GtkList *list);
+void gtk_list_select_all (GtkList *list);
+void gtk_list_unselect_all (GtkList *list);
+void gtk_list_scroll_horizontal (GtkList *list,
+ GtkScrollType scroll_type,
+ gfloat position);
+void gtk_list_scroll_vertical (GtkList *list,
+ GtkScrollType scroll_type,
+ gfloat position);
+void gtk_list_toggle_add_mode (GtkList *list);
+void gtk_list_toggle_focus_row (GtkList *list);
+void gtk_list_toggle_row (GtkList *list,
+ GtkWidget *item);
+void gtk_list_undo_selection (GtkList *list);
+void gtk_list_end_drag_selection (GtkList *list);
#ifdef __cplusplus
}