Add a flow box example to gtk-demo
This commit is contained in:
		| @ -30,6 +30,7 @@ demos =						\ | ||||
| 	infobar.c				\ | ||||
| 	links.c					\ | ||||
| 	listbox.c				\ | ||||
| 	flowbox.c				\ | ||||
| 	list_store.c				\ | ||||
| 	menus.c					\ | ||||
| 	offscreen_window.c			\ | ||||
|  | ||||
| @ -95,6 +95,7 @@ | ||||
|     <file>entry_buffer.c</file> | ||||
|     <file>entry_completion.c</file> | ||||
|     <file>expander.c</file> | ||||
|     <file>flowbox.c</file> | ||||
|     <file>hypertext.c</file> | ||||
|     <file>iconview.c</file> | ||||
|     <file>iconview_edit.c</file> | ||||
|  | ||||
							
								
								
									
										743
									
								
								demos/gtk-demo/flowbox.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										743
									
								
								demos/gtk-demo/flowbox.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,743 @@ | ||||
| /* Flow Box | ||||
|  * | ||||
|  * GtkFlowBox allows flexible and responsive grids which reflow | ||||
|  * as needed and support sorting and filtering. | ||||
|  * | ||||
|  * The children of a GtkFlowBox are regular widgets | ||||
|  */ | ||||
|  | ||||
| #include <gtk/gtk.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
|  | ||||
| static GtkWidget *window = NULL; | ||||
|  | ||||
| static GtkWidget * | ||||
| color_swatch_new (const gchar *color) | ||||
| { | ||||
|   GtkWidget *button, *area; | ||||
|   GdkRGBA rgba; | ||||
|  | ||||
|   gdk_rgba_parse (&rgba, color); | ||||
|  | ||||
|   button = gtk_button_new (); | ||||
|   area = gtk_drawing_area_new (); | ||||
|   gtk_widget_set_size_request (area, 24, 24); | ||||
|   gtk_widget_override_background_color (area, 0, &rgba); | ||||
|   gtk_container_add (GTK_CONTAINER (button), area); | ||||
|   gtk_widget_show_all (button); | ||||
|  | ||||
|   return button; | ||||
| } | ||||
|  | ||||
| GtkWidget * | ||||
| do_flowbox (GtkWidget *do_widget) | ||||
| { | ||||
|   GtkWidget *scrolled, *flowbox; | ||||
|   const gchar *colors[] = { | ||||
|     "AliceBlue", | ||||
|     "AntiqueWhite", | ||||
|     "AntiqueWhite1", | ||||
|     "AntiqueWhite2", | ||||
|     "AntiqueWhite3", | ||||
|     "AntiqueWhite4", | ||||
|     "aqua", | ||||
|     "aquamarine", | ||||
|     "aquamarine1", | ||||
|     "aquamarine2", | ||||
|     "aquamarine3", | ||||
|     "aquamarine4", | ||||
|     "azure", | ||||
|     "azure1", | ||||
|     "azure2", | ||||
|     "azure3", | ||||
|     "azure4", | ||||
|     "beige", | ||||
|     "bisque", | ||||
|     "bisque1", | ||||
|     "bisque2", | ||||
|     "bisque3", | ||||
|     "bisque4", | ||||
|     "black", | ||||
|     "BlanchedAlmond", | ||||
|     "blue", | ||||
|     "blue1", | ||||
|     "blue2", | ||||
|     "blue3", | ||||
|     "blue4", | ||||
|     "BlueViolet", | ||||
|     "brown", | ||||
|     "brown1", | ||||
|     "brown2", | ||||
|     "brown3", | ||||
|     "brown4", | ||||
|     "burlywood", | ||||
|     "burlywood1", | ||||
|     "burlywood2", | ||||
|     "burlywood3", | ||||
|     "burlywood4", | ||||
|     "CadetBlue", | ||||
|     "CadetBlue1", | ||||
|     "CadetBlue2", | ||||
|     "CadetBlue3", | ||||
|     "CadetBlue4", | ||||
|     "chartreuse", | ||||
|     "chartreuse1", | ||||
|     "chartreuse2", | ||||
|     "chartreuse3", | ||||
|     "chartreuse4", | ||||
|     "chocolate", | ||||
|     "chocolate1", | ||||
|     "chocolate2", | ||||
|     "chocolate3", | ||||
|     "chocolate4", | ||||
|     "coral", | ||||
|     "coral1", | ||||
|     "coral2", | ||||
|     "coral3", | ||||
|     "coral4", | ||||
|     "CornflowerBlue", | ||||
|     "cornsilk", | ||||
|     "cornsilk1", | ||||
|     "cornsilk2", | ||||
|     "cornsilk3", | ||||
|     "cornsilk4", | ||||
|     "crimson", | ||||
|     "cyan", | ||||
|     "cyan1", | ||||
|     "cyan2", | ||||
|     "cyan3", | ||||
|     "cyan4", | ||||
|     "DarkBlue", | ||||
|     "DarkCyan", | ||||
|     "DarkGoldenrod", | ||||
|     "DarkGoldenrod1", | ||||
|     "DarkGoldenrod2", | ||||
|     "DarkGoldenrod3", | ||||
|     "DarkGoldenrod4", | ||||
|     "DarkGray", | ||||
|     "DarkGreen", | ||||
|     "DarkGrey", | ||||
|     "DarkKhaki", | ||||
|     "DarkMagenta", | ||||
|     "DarkOliveGreen", | ||||
|     "DarkOliveGreen1", | ||||
|     "DarkOliveGreen2", | ||||
|     "DarkOliveGreen3", | ||||
|     "DarkOliveGreen4", | ||||
|     "DarkOrange", | ||||
|     "DarkOrange1", | ||||
|     "DarkOrange2", | ||||
|     "DarkOrange3", | ||||
|     "DarkOrange4", | ||||
|     "DarkOrchid", | ||||
|     "DarkOrchid1", | ||||
|     "DarkOrchid2", | ||||
|     "DarkOrchid3", | ||||
|     "DarkOrchid4", | ||||
|     "DarkRed", | ||||
|     "DarkSalmon", | ||||
|     "DarkSeaGreen", | ||||
|     "DarkSeaGreen1", | ||||
|     "DarkSeaGreen2", | ||||
|     "DarkSeaGreen3", | ||||
|     "DarkSeaGreen4", | ||||
|     "DarkSlateBlue", | ||||
|     "DarkSlateGray", | ||||
|     "DarkSlateGray1", | ||||
|     "DarkSlateGray2", | ||||
|     "DarkSlateGray3", | ||||
|     "DarkSlateGray4", | ||||
|     "DarkSlateGrey", | ||||
|     "DarkTurquoise", | ||||
|     "DarkViolet", | ||||
|     "DeepPink", | ||||
|     "DeepPink1", | ||||
|     "DeepPink2", | ||||
|     "DeepPink3", | ||||
|     "DeepPink4", | ||||
|     "DeepSkyBlue", | ||||
|     "DeepSkyBlue1", | ||||
|     "DeepSkyBlue2", | ||||
|     "DeepSkyBlue3", | ||||
|     "DeepSkyBlue4", | ||||
|     "DimGray", | ||||
|     "DimGrey", | ||||
|     "DodgerBlue", | ||||
|     "DodgerBlue1", | ||||
|     "DodgerBlue2", | ||||
|     "DodgerBlue3", | ||||
|     "DodgerBlue4", | ||||
|     "firebrick", | ||||
|     "firebrick1", | ||||
|     "firebrick2", | ||||
|     "firebrick3", | ||||
|     "firebrick4", | ||||
|     "FloralWhite", | ||||
|     "ForestGreen", | ||||
|     "fuchsia", | ||||
|     "gainsboro", | ||||
|     "GhostWhite", | ||||
|     "gold", | ||||
|     "gold1", | ||||
|     "gold2", | ||||
|     "gold3", | ||||
|     "gold4", | ||||
|     "goldenrod", | ||||
|     "goldenrod1", | ||||
|     "goldenrod2", | ||||
|     "goldenrod3", | ||||
|     "goldenrod4", | ||||
|     "gray", | ||||
|     "gray0", | ||||
|     "gray1", | ||||
|     "gray10", | ||||
|     "gray100", | ||||
|     "gray11", | ||||
|     "gray12", | ||||
|     "gray13", | ||||
|     "gray14", | ||||
|     "gray15", | ||||
|     "gray16", | ||||
|     "gray17", | ||||
|     "gray18", | ||||
|     "gray19", | ||||
|     "gray2", | ||||
|     "gray20", | ||||
|     "gray21", | ||||
|     "gray22", | ||||
|     "gray23", | ||||
|     "gray24", | ||||
|     "gray25", | ||||
|     "gray26", | ||||
|     "gray27", | ||||
|     "gray28", | ||||
|     "gray29", | ||||
|     "gray3", | ||||
|     "gray30", | ||||
|     "gray31", | ||||
|     "gray32", | ||||
|     "gray33", | ||||
|     "gray34", | ||||
|     "gray35", | ||||
|     "gray36", | ||||
|     "gray37", | ||||
|     "gray38", | ||||
|     "gray39", | ||||
|     "gray4", | ||||
|     "gray40", | ||||
|     "gray41", | ||||
|     "gray42", | ||||
|     "gray43", | ||||
|     "gray44", | ||||
|     "gray45", | ||||
|     "gray46", | ||||
|     "gray47", | ||||
|     "gray48", | ||||
|     "gray49", | ||||
|     "gray5", | ||||
|     "gray50", | ||||
|     "gray51", | ||||
|     "gray52", | ||||
|     "gray53", | ||||
|     "gray54", | ||||
|     "gray55", | ||||
|     "gray56", | ||||
|     "gray57", | ||||
|     "gray58", | ||||
|     "gray59", | ||||
|     "gray6", | ||||
|     "gray60", | ||||
|     "gray61", | ||||
|     "gray62", | ||||
|     "gray63", | ||||
|     "gray64", | ||||
|     "gray65", | ||||
|     "gray66", | ||||
|     "gray67", | ||||
|     "gray68", | ||||
|     "gray69", | ||||
|     "gray7", | ||||
|     "gray70", | ||||
|     "gray71", | ||||
|     "gray72", | ||||
|     "gray73", | ||||
|     "gray74", | ||||
|     "gray75", | ||||
|     "gray76", | ||||
|     "gray77", | ||||
|     "gray78", | ||||
|     "gray79", | ||||
|     "gray8", | ||||
|     "gray80", | ||||
|     "gray81", | ||||
|     "gray82", | ||||
|     "gray83", | ||||
|     "gray84", | ||||
|     "gray85", | ||||
|     "gray86", | ||||
|     "gray87", | ||||
|     "gray88", | ||||
|     "gray89", | ||||
|     "gray9", | ||||
|     "gray90", | ||||
|     "gray91", | ||||
|     "gray92", | ||||
|     "gray93", | ||||
|     "gray94", | ||||
|     "gray95", | ||||
|     "gray96", | ||||
|     "gray97", | ||||
|     "gray98", | ||||
|     "gray99", | ||||
|     "green", | ||||
|     "green1", | ||||
|     "green2", | ||||
|     "green3", | ||||
|     "green4", | ||||
|     "GreenYellow", | ||||
|     "grey", | ||||
|     "grey0", | ||||
|     "grey1", | ||||
|     "grey10", | ||||
|     "grey100", | ||||
|     "grey11", | ||||
|     "grey12", | ||||
|     "grey13", | ||||
|     "grey14", | ||||
|     "grey15", | ||||
|     "grey16", | ||||
|     "grey17", | ||||
|     "grey18", | ||||
|     "grey19", | ||||
|     "grey2", | ||||
|     "grey20", | ||||
|     "grey21", | ||||
|     "grey22", | ||||
|     "grey23", | ||||
|     "grey24", | ||||
|     "grey25", | ||||
|     "grey26", | ||||
|     "grey27", | ||||
|     "grey28", | ||||
|     "grey29", | ||||
|     "grey3", | ||||
|     "grey30", | ||||
|     "grey31", | ||||
|     "grey32", | ||||
|     "grey33", | ||||
|     "grey34", | ||||
|     "grey35", | ||||
|     "grey36", | ||||
|     "grey37", | ||||
|     "grey38", | ||||
|     "grey39", | ||||
|     "grey4", | ||||
|     "grey40", | ||||
|     "grey41", | ||||
|     "grey42", | ||||
|     "grey43", | ||||
|     "grey44", | ||||
|     "grey45", | ||||
|     "grey46", | ||||
|     "grey47", | ||||
|     "grey48", | ||||
|     "grey49", | ||||
|     "grey5", | ||||
|     "grey50", | ||||
|     "grey51", | ||||
|     "grey52", | ||||
|     "grey53", | ||||
|     "grey54", | ||||
|     "grey55", | ||||
|     "grey56", | ||||
|     "grey57", | ||||
|     "grey58", | ||||
|     "grey59", | ||||
|     "grey6", | ||||
|     "grey60", | ||||
|     "grey61", | ||||
|     "grey62", | ||||
|     "grey63", | ||||
|     "grey64", | ||||
|     "grey65", | ||||
|     "grey66", | ||||
|     "grey67", | ||||
|     "grey68", | ||||
|     "grey69", | ||||
|     "grey7", | ||||
|     "grey70", | ||||
|     "grey71", | ||||
|     "grey72", | ||||
|     "grey73", | ||||
|     "grey74", | ||||
|     "grey75", | ||||
|     "grey76", | ||||
|     "grey77", | ||||
|     "grey78", | ||||
|     "grey79", | ||||
|     "grey8", | ||||
|     "grey80", | ||||
|     "grey81", | ||||
|     "grey82", | ||||
|     "grey83", | ||||
|     "grey84", | ||||
|     "grey85", | ||||
|     "grey86", | ||||
|     "grey87", | ||||
|     "grey88", | ||||
|     "grey89", | ||||
|     "grey9", | ||||
|     "grey90", | ||||
|     "grey91", | ||||
|     "grey92", | ||||
|     "grey93", | ||||
|     "grey94", | ||||
|     "grey95", | ||||
|     "grey96", | ||||
|     "grey97", | ||||
|     "grey98", | ||||
|     "grey99", | ||||
|     "honeydew", | ||||
|     "honeydew1", | ||||
|     "honeydew2", | ||||
|     "honeydew3", | ||||
|     "honeydew4", | ||||
|     "HotPink", | ||||
|     "HotPink1", | ||||
|     "HotPink2", | ||||
|     "HotPink3", | ||||
|     "HotPink4", | ||||
|     "IndianRed", | ||||
|     "IndianRed1", | ||||
|     "IndianRed2", | ||||
|     "IndianRed3", | ||||
|     "IndianRed4", | ||||
|     "indigo", | ||||
|     "ivory", | ||||
|     "ivory1", | ||||
|     "ivory2", | ||||
|     "ivory3", | ||||
|     "ivory4", | ||||
|     "khaki", | ||||
|     "khaki1", | ||||
|     "khaki2", | ||||
|     "khaki3", | ||||
|     "khaki4", | ||||
|     "lavender", | ||||
|     "LavenderBlush", | ||||
|     "LavenderBlush1", | ||||
|     "LavenderBlush2", | ||||
|     "LavenderBlush3", | ||||
|     "LavenderBlush4", | ||||
|     "LawnGreen", | ||||
|     "LemonChiffon", | ||||
|     "LemonChiffon1", | ||||
|     "LemonChiffon2", | ||||
|     "LemonChiffon3", | ||||
|     "LemonChiffon4", | ||||
|     "LightBlue", | ||||
|     "LightBlue1", | ||||
|     "LightBlue2", | ||||
|     "LightBlue3", | ||||
|     "LightBlue4", | ||||
|     "LightCoral", | ||||
|     "LightCyan", | ||||
|     "LightCyan1", | ||||
|     "LightCyan2", | ||||
|     "LightCyan3", | ||||
|     "LightCyan4", | ||||
|     "LightGoldenrod", | ||||
|     "LightGoldenrod1", | ||||
|     "LightGoldenrod2", | ||||
|     "LightGoldenrod3", | ||||
|     "LightGoldenrod4", | ||||
|     "LightGoldenrodYellow", | ||||
|     "LightGray", | ||||
|     "LightGreen", | ||||
|     "LightGrey", | ||||
|     "LightPink", | ||||
|     "LightPink1", | ||||
|     "LightPink2", | ||||
|     "LightPink3", | ||||
|     "LightPink4", | ||||
|     "LightSalmon", | ||||
|     "LightSalmon1", | ||||
|     "LightSalmon2", | ||||
|     "LightSalmon3", | ||||
|     "LightSalmon4", | ||||
|     "LightSeaGreen", | ||||
|     "LightSkyBlue", | ||||
|     "LightSkyBlue1", | ||||
|     "LightSkyBlue2", | ||||
|     "LightSkyBlue3", | ||||
|     "LightSkyBlue4", | ||||
|     "LightSlateBlue", | ||||
|     "LightSlateGray", | ||||
|     "LightSlateGrey", | ||||
|     "LightSteelBlue", | ||||
|     "LightSteelBlue1", | ||||
|     "LightSteelBlue2", | ||||
|     "LightSteelBlue3", | ||||
|     "LightSteelBlue4", | ||||
|     "LightYellow", | ||||
|     "LightYellow1", | ||||
|     "LightYellow2", | ||||
|     "LightYellow3", | ||||
|     "LightYellow4", | ||||
|     "lime", | ||||
|     "LimeGreen", | ||||
|     "linen", | ||||
|     "magenta", | ||||
|     "magenta1", | ||||
|     "magenta2", | ||||
|     "magenta3", | ||||
|     "magenta4", | ||||
|     "maroon", | ||||
|     "maroon1", | ||||
|     "maroon2", | ||||
|     "maroon3", | ||||
|     "maroon4", | ||||
|     "MediumAquamarine", | ||||
|     "MediumBlue", | ||||
|     "MediumOrchid", | ||||
|     "MediumOrchid1", | ||||
|     "MediumOrchid2", | ||||
|     "MediumOrchid3", | ||||
|     "MediumOrchid4", | ||||
|     "MediumPurple", | ||||
|     "MediumPurple1", | ||||
|     "MediumPurple2", | ||||
|     "MediumPurple3", | ||||
|     "MediumPurple4", | ||||
|     "MediumSeaGreen", | ||||
|     "MediumSlateBlue", | ||||
|     "MediumSpringGreen", | ||||
|     "MediumTurquoise", | ||||
|     "MediumVioletRed", | ||||
|     "MidnightBlue", | ||||
|     "MintCream", | ||||
|     "MistyRose", | ||||
|     "MistyRose1", | ||||
|     "MistyRose2", | ||||
|     "MistyRose3", | ||||
|     "MistyRose4", | ||||
|     "moccasin", | ||||
|     "NavajoWhite", | ||||
|     "NavajoWhite1", | ||||
|     "NavajoWhite2", | ||||
|     "NavajoWhite3", | ||||
|     "NavajoWhite4", | ||||
|     "navy", | ||||
|     "NavyBlue", | ||||
|     "OldLace", | ||||
|     "olive", | ||||
|     "OliveDrab", | ||||
|     "OliveDrab1", | ||||
|     "OliveDrab2", | ||||
|     "OliveDrab3", | ||||
|     "OliveDrab4", | ||||
|     "orange", | ||||
|     "orange1", | ||||
|     "orange2", | ||||
|     "orange3", | ||||
|     "orange4", | ||||
|     "OrangeRed", | ||||
|     "OrangeRed1", | ||||
|     "OrangeRed2", | ||||
|     "OrangeRed3", | ||||
|     "OrangeRed4", | ||||
|     "orchid", | ||||
|     "orchid1", | ||||
|     "orchid2", | ||||
|     "orchid3", | ||||
|     "orchid4", | ||||
|     "PaleGoldenrod", | ||||
|     "PaleGreen", | ||||
|     "PaleGreen1", | ||||
|     "PaleGreen2", | ||||
|     "PaleGreen3", | ||||
|     "PaleGreen4", | ||||
|     "PaleTurquoise", | ||||
|     "PaleTurquoise1", | ||||
|     "PaleTurquoise2", | ||||
|     "PaleTurquoise3", | ||||
|     "PaleTurquoise4", | ||||
|     "PaleVioletRed", | ||||
|     "PaleVioletRed1", | ||||
|     "PaleVioletRed2", | ||||
|     "PaleVioletRed3", | ||||
|     "PaleVioletRed4", | ||||
|     "PapayaWhip", | ||||
|     "PeachPuff", | ||||
|     "PeachPuff1", | ||||
|     "PeachPuff2", | ||||
|     "PeachPuff3", | ||||
|     "PeachPuff4", | ||||
|     "peru", | ||||
|     "pink", | ||||
|     "pink1", | ||||
|     "pink2", | ||||
|     "pink3", | ||||
|     "pink4", | ||||
|     "plum", | ||||
|     "plum1", | ||||
|     "plum2", | ||||
|     "plum3", | ||||
|     "plum4", | ||||
|     "PowderBlue", | ||||
|     "purple", | ||||
|     "purple1", | ||||
|     "purple2", | ||||
|     "purple3", | ||||
|     "purple4", | ||||
|     "red", | ||||
|     "red1", | ||||
|     "red2", | ||||
|     "red3", | ||||
|     "red4", | ||||
|     "RosyBrown", | ||||
|     "RosyBrown1", | ||||
|     "RosyBrown2", | ||||
|     "RosyBrown3", | ||||
|     "RosyBrown4", | ||||
|     "RoyalBlue", | ||||
|     "RoyalBlue1", | ||||
|     "RoyalBlue2", | ||||
|     "RoyalBlue3", | ||||
|     "RoyalBlue4", | ||||
|     "SaddleBrown", | ||||
|     "salmon", | ||||
|     "salmon1", | ||||
|     "salmon2", | ||||
|     "salmon3", | ||||
|     "salmon4", | ||||
|     "SandyBrown", | ||||
|     "SeaGreen", | ||||
|     "SeaGreen1", | ||||
|     "SeaGreen2", | ||||
|     "SeaGreen3", | ||||
|     "SeaGreen4", | ||||
|     "seashell", | ||||
|     "seashell1", | ||||
|     "seashell2", | ||||
|     "seashell3", | ||||
|     "seashell4", | ||||
|     "sienna", | ||||
|     "sienna1", | ||||
|     "sienna2", | ||||
|     "sienna3", | ||||
|     "sienna4", | ||||
|     "silver", | ||||
|     "SkyBlue", | ||||
|     "SkyBlue1", | ||||
|     "SkyBlue2", | ||||
|     "SkyBlue3", | ||||
|     "SkyBlue4", | ||||
|     "SlateBlue", | ||||
|     "SlateBlue1", | ||||
|     "SlateBlue2", | ||||
|     "SlateBlue3", | ||||
|     "SlateBlue4", | ||||
|     "SlateGray", | ||||
|     "SlateGray1", | ||||
|     "SlateGray2", | ||||
|     "SlateGray3", | ||||
|     "SlateGray4", | ||||
|     "SlateGrey", | ||||
|     "snow", | ||||
|     "snow1", | ||||
|     "snow2", | ||||
|     "snow3", | ||||
|     "snow4", | ||||
|     "SpringGreen", | ||||
|     "SpringGreen1", | ||||
|     "SpringGreen2", | ||||
|     "SpringGreen3", | ||||
|     "SpringGreen4", | ||||
|     "SteelBlue", | ||||
|     "SteelBlue1", | ||||
|     "SteelBlue2", | ||||
|     "SteelBlue3", | ||||
|     "SteelBlue4", | ||||
|     "tan", | ||||
|     "tan1", | ||||
|     "tan2", | ||||
|     "tan3", | ||||
|     "tan4", | ||||
|     "teal", | ||||
|     "thistle", | ||||
|     "thistle1", | ||||
|     "thistle2", | ||||
|     "thistle3", | ||||
|     "thistle4", | ||||
|     "tomato", | ||||
|     "tomato1", | ||||
|     "tomato2", | ||||
|     "tomato3", | ||||
|     "tomato4", | ||||
|     "turquoise", | ||||
|     "turquoise1", | ||||
|     "turquoise2", | ||||
|     "turquoise3", | ||||
|     "turquoise4", | ||||
|     "violet", | ||||
|     "VioletRed", | ||||
|     "VioletRed1", | ||||
|     "VioletRed2", | ||||
|     "VioletRed3", | ||||
|     "VioletRed4", | ||||
|     "wheat", | ||||
|     "wheat1", | ||||
|     "wheat2", | ||||
|     "wheat3", | ||||
|     "wheat4", | ||||
|     "white", | ||||
|     "WhiteSmoke", | ||||
|     "yellow", | ||||
|     "yellow1", | ||||
|     "yellow2", | ||||
|     "yellow3", | ||||
|     "yellow4", | ||||
|     "YellowGreen", | ||||
|     NULL | ||||
|   }; | ||||
|   gint i; | ||||
|  | ||||
|   if (!window) | ||||
|     { | ||||
|       window = gtk_window_new (GTK_WINDOW_TOPLEVEL); | ||||
|       gtk_window_set_screen (GTK_WINDOW (window), | ||||
|                              gtk_widget_get_screen (do_widget)); | ||||
|       gtk_window_set_title (GTK_WINDOW (window), "Flow Box"); | ||||
|       gtk_window_set_default_size (GTK_WINDOW (window), 400, 600); | ||||
|  | ||||
|       g_signal_connect (window, "destroy", | ||||
|                         G_CALLBACK (gtk_widget_destroyed), | ||||
|                         &window); | ||||
|  | ||||
|       scrolled = gtk_scrolled_window_new (NULL, NULL); | ||||
|       gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | ||||
|       flowbox = gtk_flow_box_new (); | ||||
|       gtk_widget_set_valign (flowbox, GTK_ALIGN_START); | ||||
|       gtk_flow_box_set_max_children_per_line (GTK_FLOW_BOX (flowbox), 30); | ||||
|       gtk_flow_box_set_selection_mode (GTK_FLOW_BOX (flowbox), GTK_SELECTION_NONE); | ||||
|  | ||||
|       gtk_container_add (GTK_CONTAINER (scrolled), flowbox); | ||||
|       gtk_container_add (GTK_CONTAINER (window), scrolled); | ||||
|  | ||||
|       for (i = 0; colors[i]; i++) | ||||
|         { | ||||
|           gtk_container_add (GTK_CONTAINER (flowbox), color_swatch_new (colors[i])); | ||||
|         } | ||||
|  | ||||
|       gtk_widget_show_all (scrolled); | ||||
|     } | ||||
|  | ||||
|   if (!gtk_widget_get_visible (window)) | ||||
|     gtk_widget_show (window); | ||||
|   else | ||||
|     gtk_widget_destroy (window); | ||||
|  | ||||
|   return window; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Matthias Clasen
					Matthias Clasen