From 99a1119e3c9d0830e7b62ea55c402567db804e67 Mon Sep 17 00:00:00 2001 From: Sam Anklesaria Date: Sat, 16 May 2009 23:30:30 -0500 Subject: [PATCH] frp tables use basic-models --- extra/ui/frp/frp.factor | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/extra/ui/frp/frp.factor b/extra/ui/frp/frp.factor index 4e38dc634e..7689e07445 100644 --- a/extra/ui/frp/frp.factor +++ b/extra/ui/frp/frp.factor @@ -15,6 +15,7 @@ M: multi-model model-changed over value>> [ (model-changed) ] [ 2drop ] if ; TUPLE: basic-model < multi-model ; M: basic-model (model-changed) [ value>> ] dip set-model ; : ( models -- model ) basic-model ; +: ( value -- model ) basic-model new-model ; TUPLE: filter-model < multi-model quot ; M: filter-model (model-changed) [ value>> ] dip 2dup quot>> call( a -- ? ) @@ -57,7 +58,7 @@ M: mapped-model model-activated [ model>> ] keep model-changed ; ! Gadgets -: ( text -- button ) [ t swap set-control-value ] f >>model ; +: ( text -- button ) [ t swap set-control-value ] f >>model ; TUPLE: frp-table < table { quot initial: [ ] } { val-quot initial: [ ] } color-quot column-titles column-alignment ; M: frp-table column-titles column-titles>> ; M: frp-table column-alignment column-alignment>> ; @@ -65,10 +66,11 @@ M: frp-table row-columns quot>> [ call( a -- b ) ] [ drop f ] if* ; M: frp-table row-value val-quot>> [ call( a -- b ) ] [ drop f ] if* ; M: frp-table row-color color-quot>> [ call( a -- b ) ] [ drop f ] if* ; -: ( model -- table ) f frp-table new-table dup >>renderer ; -: ( -- table ) f ; +: ( model -- table ) f frp-table new-table dup >>renderer + V{ } clone >>selected-values V{ } clone >>selected-indices* ; +: ( -- table ) V{ } clone ; : ( model -- table ) [ 1array ] >>quot ; -: ( -- table ) f ; +: ( -- table ) V{ } clone ; : indexed ( table -- table ) f >>val-quot ; : ( -- field ) "" ;