Add GtkFlowBox

GtkFlowBox is a container that its children in a reflowing
grid, which can be oriented horizontally or vertically.

It is similar to GtkListBox in that the children can
be sorted and filtered, and by requiring a dedicated child
widget type, GtkFlowBoxChild. It is similar to GtkTreeView
in that is supports a full set of selection modes, including
rubberband selection.

This is the culmination of work that has happened in the
egg-list-box module, and earlier in libegg. The origins of
this code are the EggSpreadTable in libegg, which was written
by Tristan van Berkom. It was moved to egg-list-box and
renamed EggFlowBox by Jon McCann, and I gave it some finishing
touched in the flowbox-improvements branch of that module.
This commit is contained in:
Matthias Clasen
2013-09-29 13:43:27 -04:00
parent 8a85371901
commit 943d575ec3
20 changed files with 6211 additions and 1 deletions

View File

@ -421,7 +421,8 @@ HTML_IMAGES = \
$(srcdir)/images/getting-started-app7.png \
$(srcdir)/images/getting-started-app8.png \
$(srcdir)/images/getting-started-app9.png \
$(srcdir)/images/exampleapp.png
$(srcdir)/images/exampleapp.png \
$(srcdir)/images/flow-box.png
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=../gdk/html \

View File

@ -72,6 +72,7 @@
<xi:include href="xml/gtkgrid.xml" />
<xi:include href="xml/gtkrevealer.xml" />
<xi:include href="xml/gtklistbox.xml" />
<xi:include href="xml/gtkflowbox.xml" />
<xi:include href="xml/gtkstack.xml" />
<xi:include href="xml/gtkstackswitcher.xml" />
<xi:include href="xml/gtkheaderbar.xml" />

View File

@ -7737,3 +7737,52 @@ GtkRevealerTransitionType
gtk_revealer_get_transition_type
gtk_revealer_set_transition_type
</SECTION>
<SECTION>
<FILE>gtkflowbox</FILE>
<TITLE>GtkFlowBox</TITLE>
GtkFlowBox
gtk_flow_box_new
gtk_flow_box_insert
gtk_flow_box_get_child_at_index
gtk_flow_box_set_hadjustment
gtk_flow_box_set_vadjustment
gtk_flow_box_set_homogeneous
gtk_flow_box_get_homogeneous
gtk_flow_box_set_row_spacing
gtk_flow_box_get_row_spacing
gtk_flow_box_set_column_spacing
gtk_flow_box_get_column_spacing
gtk_flow_box_set_min_children_per_line
gtk_flow_box_get_min_children_per_line
gtk_flow_box_set_max_children_per_line
gtk_flow_box_get_max_children_per_line
gtk_flow_box_set_activate_on_single_click
gtk_flow_box_get_activate_on_single_click
GtkFlowBoxForeachFunc
gtk_flow_box_selected_foreach
gtk_flow_box_get_selected_children
gtk_flow_box_select_child
gtk_flow_box_unselect_child
gtk_flow_box_select_all
gtk_flow_box_unselect_all
gtk_flow_box_set_selection_mode
gtk_flow_box_get_selection_mode
GtkFlowBoxFilterFunc
gtk_flow_box_set_filter_func
gtk_flow_box_invalidate_filter
GtkFlowBoxSortFunc
gtk_flow_box_set_sort_func
gtk_flow_box_invalidate_sort
<SUBSECTION GtkFlowBoxChild>
GtkFlowBoxChild
gtk_flow_box_child_new
gtk_flow_box_child_get_index
gtk_flow_box_child_is_selected
gtk_flow_box_child_changed
</SECTION>

View File

@ -70,6 +70,8 @@ gtk_file_chooser_get_type
gtk_file_chooser_widget_get_type
gtk_file_filter_get_type
gtk_fixed_get_type
gtk_flow_box_get_type
gtk_flow_box_child_get_type
gtk_font_button_get_type
gtk_font_chooser_get_type
gtk_font_chooser_dialog_get_type

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -126,6 +126,9 @@
<link linkend="GtkListBox">
<inlinegraphic fileref="list-box.png" format="PNG"></inlinegraphic>
</link>
<link linkend="GtkFlowBox">
<inlinegraphic fileref="flow-box.png" format="PNG"></inlinegraphic>
</link>
<link linkend="GtkStack">
<inlinegraphic fileref="stack.png" format="PNG"></inlinegraphic>
</link>