illusion-models selectively activated
							parent
							
								
									b2770a31b5
								
							
						
					
					
						commit
						3a8267f30f
					
				| 
						 | 
				
			
			@ -5,7 +5,9 @@ TUPLE: illusion < arrow ;
 | 
			
		|||
 | 
			
		||||
: <illusion> ( model quot -- illusion )
 | 
			
		||||
    illusion new V{ } clone >>connections V{ } clone >>dependencies 0 >>ref
 | 
			
		||||
    swap >>quot over >>model [ add-dependency ] keep dup activate-model ;
 | 
			
		||||
    swap >>quot over >>model [ add-dependency ] keep ;
 | 
			
		||||
 | 
			
		||||
: <activated-illusion> ( model quot -- illusion ) <illusion> dup activate-model ;
 | 
			
		||||
 | 
			
		||||
: backtalk ( value object -- )
 | 
			
		||||
   [ quot>> [undo] call( a -- b ) ] [ model>> ] bi set-model ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -56,11 +56,11 @@ SLOT: selected-value
 | 
			
		|||
SLOT: selected-index
 | 
			
		||||
SLOT: selected-index*
 | 
			
		||||
M: table selected-value>> selected-values>> [ in>out ] <illusion> ;
 | 
			
		||||
M: table (>>selected-value) [ [ out>in ] <illusion> ] dip (>>selected-values) ;
 | 
			
		||||
M: table (>>selected-value) [ [ out>in ] <activated-illusion> ] dip (>>selected-values) ;
 | 
			
		||||
M: table selected-index>> selected-indices>> in>out ;
 | 
			
		||||
M: table (>>selected-index) [ out>in ] dip (>>selected-indices) ;
 | 
			
		||||
M: table selected-index*>> selected-indices*>> [ in>out ] <illusion> ;
 | 
			
		||||
M: table (>>selected-index*) [ [ out>in ] <illusion> ] dip (>>selected-indices*) ;
 | 
			
		||||
M: table (>>selected-index*) [ [ out>in ] <activated-illusion> ] dip (>>selected-indices*) ;
 | 
			
		||||
 | 
			
		||||
IN: ui.gadgets.tables
 | 
			
		||||
: push-selected-index ( table n -- table ) 2dup swap selected-indices>> index
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue