| 
									
										
										
										
											2008-07-06 00:08:30 -04:00
										 |  |  | USING: ui.gadgets ui.gadgets.scrollers namespaces tools.test | 
					
						
							|  |  |  | kernel models models.compose models.range ui.gadgets.viewports | 
					
						
							| 
									
										
										
										
											2007-11-14 16:35:17 -05:00
										 |  |  | ui.gadgets.labels ui.gadgets.grids ui.gadgets.frames | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  | ui.gadgets.sliders math math.vectors arrays sequences | 
					
						
							| 
									
										
										
										
											2008-11-19 22:58:45 -05:00
										 |  |  | tools.test.ui math.geometry.rect accessors ui.gadgets.buttons | 
					
						
							|  |  |  | ui.gadgets.packs ;
 | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  | IN: ui.gadgets.scrollers.tests | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ ] [ | 
					
						
							|  |  |  |     <gadget> "g" set
 | 
					
						
							|  |  |  |     "g" get <scroller> "s" set
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ { 100 200 } ] [ | 
					
						
							|  |  |  |     { 100 200 } "g" get scroll>rect | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  |     "s" get follows>> rect-loc | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ ] [ "s" get scroll>bottom ] unit-test | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  | [ t ] [ "s" get follows>> ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ ] [ | 
					
						
							|  |  |  |     <gadget> dup "g" set
 | 
					
						
							|  |  |  |     10 1 0 100 <range> 20 1 0 100 <range> 2array <compose> | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  |     <viewport> "v" set
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  | "v" get [ | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  |     [ { 10 20 } ] [ "v" get model>> range-value ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-14 01:37:35 -05:00
										 |  |  |     [ { 10 20 } ] [ "g" get rect-loc vneg viewport-gap v+ scroller-border v+ ] unit-test | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  | ] with-grafted-gadget | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ ] [ | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  |     <gadget> { 100 100 } >>dim | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  |     dup "g" set <scroller> "s" set
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  | [ ] [ "s" get { 50 50 } >>dim drop ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ ] [ "s" get layout ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  | "s" get [ | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  |     [ { 34 34 } ] [ "s" get viewport>> rect-dim ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-14 01:37:35 -05:00
										 |  |  |     [ { 107 107 } ] [ "s" get viewport>> viewport-dim ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  |     [ ] [ { 0 0 } "s" get scroll ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  |     [ { 0 0 } ] [ "s" get model>> range-min-value ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-14 01:37:35 -05:00
										 |  |  |     [ { 107 107 } ] [ "s" get model>> range-max-value ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  |     [ ] [ { 10 20 } "s" get scroll ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  |     [ { 10 20 } ] [ "s" get model>> range-value ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  |     [ { 10 20 } ] [ "s" get viewport>> model>> range-value ] unit-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-14 01:37:35 -05:00
										 |  |  |     [ { 10 20 } ] [ "g" get rect-loc vneg viewport-gap v+ scroller-border v+ ] unit-test | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  | ] with-grafted-gadget | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  | <gadget> { 600 400 } >>dim "g1" set
 | 
					
						
							|  |  |  | <gadget> { 600 10 } >>dim "g2" set
 | 
					
						
							| 
									
										
										
										
											2008-09-27 15:36:04 -04:00
										 |  |  | "g1" get "g2" get add-gadget drop
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | "g1" get <scroller> | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  | { 300 300 } >>dim | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | dup layout | 
					
						
							|  |  |  | "s" set
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ t ] [ | 
					
						
							|  |  |  |     10 [ | 
					
						
							|  |  |  |         drop
 | 
					
						
							|  |  |  |         "g2" get scroll>gadget | 
					
						
							|  |  |  |         "s" get layout | 
					
						
							|  |  |  |         "s" get scroller-value | 
					
						
							| 
									
										
										
										
											2009-02-01 21:31:42 -05:00
										 |  |  |     ] map [ { 3 0 } = ] all?
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2007-11-14 16:35:17 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ ] [ "Hi" <label> dup "l" set <scroller> "s" set ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ t ] [ "l" get find-scroller "s" get eq? ] unit-test | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  | [ t ] [ "l" get dup find-scroller viewport>> swap child? ] unit-test | 
					
						
							| 
									
										
										
										
											2007-11-14 16:35:17 -05:00
										 |  |  | [ t ] [ "l" get find-scroller* "s" get eq? ] unit-test | 
					
						
							| 
									
										
										
										
											2008-09-02 02:52:22 -04:00
										 |  |  | [ f ] [ "s" get viewport>> find-scroller* ] unit-test | 
					
						
							| 
									
										
										
										
											2007-11-14 16:35:17 -05:00
										 |  |  | [ t ] [ "s" get @right grid-child slider? ] unit-test | 
					
						
							|  |  |  | [ f ] [ "s" get @right grid-child find-scroller* ] unit-test | 
					
						
							| 
									
										
										
										
											2007-11-16 01:19:13 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-19 22:58:45 -05:00
										 |  |  | [ ] [ | 
					
						
							|  |  |  |     "Click Me" [ [ scroll>gadget ] [ unparent ] bi ] <bevel-button> | 
					
						
							|  |  |  |     [ <pile> swap add-gadget <scroller> ] keep
 | 
					
						
							|  |  |  |     dup quot>> call
 | 
					
						
							|  |  |  |     layout | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ t ] [ | 
					
						
							|  |  |  |     <gadget> { 200 200 } >>dim | 
					
						
							|  |  |  |     [ [ scroll>gadget ] [ unparent ] bi ] <bevel-button> | 
					
						
							|  |  |  |     dup
 | 
					
						
							|  |  |  |     <pile> swap add-gadget <scroller> { 100 100 } >>dim dup layout | 
					
						
							|  |  |  |     swap dup quot>> call
 | 
					
						
							|  |  |  |     dup layout | 
					
						
							|  |  |  |     model>> dependencies>> [ range-max value>> ] map
 | 
					
						
							| 
									
										
										
										
											2009-01-14 01:37:35 -05:00
										 |  |  |     viewport-padding =
 | 
					
						
							| 
									
										
										
										
											2008-11-19 22:58:45 -05:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-12-26 22:16:14 -05:00
										 |  |  | \ <scroller> must-infer |