ui.gadgets.tables: some band-aid fixes
							parent
							
								
									7734bd9bcd
								
							
						
					
					
						commit
						ef97fdf0c5
					
				| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
IN: ui.gadgets.tables.tests
 | 
					IN: ui.gadgets.tables.tests
 | 
				
			||||||
USING: ui.gadgets.tables ui.gadgets.scrollers ui.gadgets.debug accessors
 | 
					USING: ui.gadgets.tables ui.gadgets.scrollers ui.gadgets.debug accessors
 | 
				
			||||||
models namespaces tools.test kernel combinators ;
 | 
					models namespaces tools.test kernel combinators prettyprint arrays ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SINGLETON: test-renderer
 | 
					SINGLETON: test-renderer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,4 +44,19 @@ M: test-renderer column-titles drop { "First" "Last" } ;
 | 
				
			||||||
            [ selected-row drop ]
 | 
					            [ selected-row drop ]
 | 
				
			||||||
        } cleave
 | 
					        } cleave
 | 
				
			||||||
    ] with-grafted-gadget
 | 
					    ] with-grafted-gadget
 | 
				
			||||||
] unit-test
 | 
					] unit-test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SINGLETON: silly-renderer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					M: silly-renderer row-columns drop unparse 1array ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					M: silly-renderer column-titles drop { "Foo" } ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					: test-table-2 ( -- table )
 | 
				
			||||||
 | 
					    { 1 2 f } <model> silly-renderer <table> ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ f f ] [
 | 
				
			||||||
 | 
					    test-table dup [
 | 
				
			||||||
 | 
					        selected-row
 | 
				
			||||||
 | 
					    ] with-grafted-gadget
 | 
				
			||||||
 | 
					] unit-test
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -303,11 +303,12 @@ PRIVATE>
 | 
				
			||||||
    f >>mouse-index [ hide-status ] [ relayout-1 ] bi ;
 | 
					    f >>mouse-index [ hide-status ] [ relayout-1 ] bi ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: find-row-index ( value table -- n/f )
 | 
					: find-row-index ( value table -- n/f )
 | 
				
			||||||
    [ model>> value>> ] [ renderer>> '[ _ row-value ] map index ] bi ;
 | 
					    [ model>> value>> ] [ renderer>> ] bi
 | 
				
			||||||
 | 
					    '[ _ row-value eq? ] with find drop ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: (update-selected-indices) ( table -- set )
 | 
					: (update-selected-indices) ( table -- set )
 | 
				
			||||||
    [ selection>> value>> dup array? [ 1array ] unless ] keep
 | 
					    [ selection>> value>> dup [ array? not ] [ ] bi and [ 1array ] when ] keep
 | 
				
			||||||
    [ find-row-index ] curry map sift unique f assoc-like ;
 | 
					    '[ _ find-row-index ] map sift unique f assoc-like ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: initial-selected-indices ( table -- set )
 | 
					: initial-selected-indices ( table -- set )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -147,7 +147,7 @@ M: method-renderer column-titles drop { "" "Method" "Count" } ;
 | 
				
			||||||
    horizontal <track>
 | 
					    horizontal <track>
 | 
				
			||||||
        { 3 3 } >>gap
 | 
					        { 3 3 } >>gap
 | 
				
			||||||
        profiler vocabs>> vocab-renderer <profiler-table>
 | 
					        profiler vocabs>> vocab-renderer <profiler-table>
 | 
				
			||||||
            profiler vocab>> >>selected-value
 | 
					            profiler vocab>> >>selection
 | 
				
			||||||
            10 >>min-rows
 | 
					            10 >>min-rows
 | 
				
			||||||
            10 >>max-rows
 | 
					            10 >>max-rows
 | 
				
			||||||
        "Vocabularies" <labeled-gadget>
 | 
					        "Vocabularies" <labeled-gadget>
 | 
				
			||||||
| 
						 | 
					@ -164,11 +164,11 @@ M: method-renderer column-titles drop { "" "Method" "Count" } ;
 | 
				
			||||||
        horizontal <track>
 | 
					        horizontal <track>
 | 
				
			||||||
            { 3 3 } >>gap
 | 
					            { 3 3 } >>gap
 | 
				
			||||||
            profiler <generic-model> word-renderer <profiler-table>
 | 
					            profiler <generic-model> word-renderer <profiler-table>
 | 
				
			||||||
                profiler generic>> >>selected-value
 | 
					                profiler generic>> >>selection
 | 
				
			||||||
            "Generic words" <labeled-gadget>
 | 
					            "Generic words" <labeled-gadget>
 | 
				
			||||||
        1/2 track-add
 | 
					        1/2 track-add
 | 
				
			||||||
            profiler <class-model> word-renderer <profiler-table>
 | 
					            profiler <class-model> word-renderer <profiler-table>
 | 
				
			||||||
                profiler class>> >>selected-value
 | 
					                profiler class>> >>selection
 | 
				
			||||||
            "Classes" <labeled-gadget>
 | 
					            "Classes" <labeled-gadget>
 | 
				
			||||||
        1/2 track-add
 | 
					        1/2 track-add
 | 
				
			||||||
    1/2 track-add
 | 
					    1/2 track-add
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue