diff options
author | Matthias Clasen <mclasen@redhat.com> | 2014-03-28 19:21:57 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2014-04-06 01:44:35 -0400 |
commit | 463c89e5401700e4dd5c6c3bb5902eefb2eacb70 (patch) | |
tree | a31f63f296f9c11873cd03430c762dd0410c0e26 /gtk/gtklistbox.h | |
parent | d6cc9bd7cb803f2acb4eef28f7109fae253b347e (diff) | |
download | gtk+-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.h | 28 |
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 |