summaryrefslogtreecommitdiff
path: root/gtk/gtklistbox.h
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-03-28 19:21:57 -0400
committerMatthias Clasen <mclasen@redhat.com>2014-04-06 01:44:35 -0400
commit463c89e5401700e4dd5c6c3bb5902eefb2eacb70 (patch)
treea31f63f296f9c11873cd03430c762dd0410c0e26 /gtk/gtklistbox.h
parentd6cc9bd7cb803f2acb4eef28f7109fae253b347e (diff)
downloadgtk+-463c89e5401700e4dd5c6c3bb5902eefb2eacb70.tar.gz
listbox: Add multi-selection API
This commit adds API for dealing with multi-selection. It is identical to the flow box API for this purpose. The implementation is still limited to single-selection, and will be updated in subsequent commits.
Diffstat (limited to 'gtk/gtklistbox.h')
-rw-r--r--gtk/gtklistbox.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/gtk/gtklistbox.h b/gtk/gtklistbox.h
index 7b2a832032..88cce2b101 100644
--- a/gtk/gtklistbox.h
+++ b/gtk/gtklistbox.h
@@ -73,6 +73,9 @@ struct _GtkListBoxClass
void (*move_cursor) (GtkListBox *list_box,
GtkMovementStep step,
gint count);
+ void (*selected_rows_changed) (GtkListBox *box);
+ void (*select_all) (GtkListBox *box);
+ void (*unselect_all) (GtkListBox *box);
/*< private >*/
@@ -80,9 +83,6 @@ struct _GtkListBoxClass
void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
void (*_gtk_reserved3) (void);
- void (*_gtk_reserved4) (void);
- void (*_gtk_reserved5) (void);
- void (*_gtk_reserved6) (void);
};
#define GTK_TYPE_LIST_BOX_ROW (gtk_list_box_row_get_type ())
@@ -180,6 +180,8 @@ gint gtk_list_box_row_get_index (GtkListBoxRow *row);
GDK_AVAILABLE_IN_3_10
void gtk_list_box_row_changed (GtkListBoxRow *row);
+GDK_AVAILABLE_IN_3_14
+gboolean gtk_list_box_row_is_selected (GtkListBoxRow *row);
GDK_AVAILABLE_IN_3_10
GType gtk_list_box_get_type (void) G_GNUC_CONST;
@@ -209,6 +211,25 @@ void gtk_list_box_set_adjustment (GtkListBox
GtkAdjustment *adjustment);
GDK_AVAILABLE_IN_3_10
GtkAdjustment *gtk_list_box_get_adjustment (GtkListBox *list_box);
+
+typedef void (* GtkListBoxForeachFunc) (GtkListBox *box,
+ GtkListBoxRow *row,
+ gpointer user_data);
+
+GDK_AVAILABLE_IN_3_14
+void gtk_list_box_selected_foreach (GtkListBox *list_box,
+ GtkListBoxForeachFunc func,
+ gpointer data);
+GDK_AVAILABLE_IN_3_14
+GList *gtk_list_box_get_selected_rows (GtkListBox *list_box);
+GDK_AVAILABLE_IN_3_14
+void gtk_list_box_unselect_row (GtkListBox *list_box,
+ GtkListBoxRow *row);
+GDK_AVAILABLE_IN_3_14
+void gtk_list_box_select_all (GtkListBox *list_box);
+GDK_AVAILABLE_IN_3_14
+void gtk_list_box_unselect_all (GtkListBox *list_box);
+
GDK_AVAILABLE_IN_3_10
void gtk_list_box_set_selection_mode (GtkListBox *list_box,
GtkSelectionMode mode);
@@ -249,6 +270,7 @@ GDK_AVAILABLE_IN_3_10
GtkWidget* gtk_list_box_new (void);
+
G_END_DECLS
#endif