illusion-models selectively activated

db4
Sam Anklesaria 2009-05-31 11:40:03 -05:00
parent b2770a31b5
commit 3a8267f30f
2 changed files with 5 additions and 3 deletions

View File

@ -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 ;

View File

@ -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