| 
									
										
										
										
											2009-06-18 10:53:17 -04:00
										 |  |  | ! (c)2009 Joe Groff bsd license | 
					
						
							|  |  |  | USING: accessors assocs kernel locals sequences ui | 
					
						
							| 
									
										
										
										
											2009-06-18 10:57:49 -04:00
										 |  |  | ui.gadgets ui.gadgets.worlds ;
 | 
					
						
							| 
									
										
										
										
											2009-06-18 10:53:17 -04:00
										 |  |  | IN: window-controls-demo | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: window-control-sets-to-test | 
					
						
							|  |  |  |     H{ | 
					
						
							|  |  |  |         { "No controls" { } } | 
					
						
							|  |  |  |         { "Normal title bar" { normal-title-bar } } | 
					
						
							| 
									
										
										
										
											2009-06-18 12:41:34 -04:00
										 |  |  |         { "Small title bar" { small-title-bar close-button } } | 
					
						
							| 
									
										
										
										
											2009-06-18 10:53:17 -04:00
										 |  |  |         { "Close button" { normal-title-bar close-button } } | 
					
						
							|  |  |  |         { "Close and minimize buttons" { normal-title-bar close-button minimize-button } } | 
					
						
							| 
									
										
										
										
											2009-06-18 12:41:34 -04:00
										 |  |  |         { "Minimize button" { normal-title-bar minimize-button } } | 
					
						
							| 
									
										
										
										
											2009-06-18 10:53:17 -04:00
										 |  |  |         { "Close, minimize, and maximize buttons" { normal-title-bar close-button minimize-button maximize-button } } | 
					
						
							|  |  |  |         { "Resizable" { normal-title-bar close-button minimize-button maximize-button resize-handles } } | 
					
						
							| 
									
										
										
										
											2009-09-24 14:05:27 -04:00
										 |  |  |         { "Textured background" { normal-title-bar close-button minimize-button maximize-button resize-handles textured-background } } | 
					
						
							| 
									
										
										
										
											2009-06-18 10:53:17 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TUPLE: window-controls-demo-world < world | 
					
						
							|  |  |  |     windows ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: window-controls-demo-world end-world | 
					
						
							|  |  |  |     windows>> [ close-window ] each ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: window-controls-demo-world pref-dim* | 
					
						
							|  |  |  |     drop { 400 400 } ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : attributes-template ( -- x )
 | 
					
						
							|  |  |  |     T{ world-attributes | 
					
						
							|  |  |  |         { world-class window-controls-demo-world } | 
					
						
							|  |  |  |     } clone ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : window-controls-demo ( -- )
 | 
					
						
							|  |  |  |     attributes-template V{ } clone window-control-sets-to-test | 
					
						
							|  |  |  |     [| title attributes windows controls | | 
					
						
							|  |  |  |         f attributes | 
					
						
							|  |  |  |             title >>title | 
					
						
							|  |  |  |             controls >>window-controls | 
					
						
							|  |  |  |         open-window* | 
					
						
							|  |  |  |             windows >>windows | 
					
						
							|  |  |  |             windows push
 | 
					
						
							|  |  |  |     ] with with assoc-each ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MAIN: window-controls-demo |