]> gitweb.factorcode.org Git - factor.git/commitdiff
illusion-models selectively activated
authorSam Anklesaria <sam@Tintin.local>
Sun, 31 May 2009 16:40:03 +0000 (11:40 -0500)
committerSam Anklesaria <sam@Tintin.local>
Sun, 31 May 2009 16:40:03 +0000 (11:40 -0500)
basis/models/illusion/illusion.factor
basis/ui/gadgets/tables/tables.factor

index 1b3a297c5b5821f6a6e8d7839784b880695cb12a..00169792a9a36966585e7b6820f6fb1b71a33082 100644 (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 ;
index e3ffa9237dcb6f7597324ef587a458f4adbfb428..c0b792785dc75f729ab7e4b5a96e741701b7f52e 100644 (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