From 58192d7e6e0c80de475cae95800b979f016751e1 Mon Sep 17 00:00:00 2001 From: Sam Anklesaria Date: Sat, 6 Jun 2009 20:58:12 -0500 Subject: [PATCH] ui.frp.layout fixed- now works normally --- extra/fries/fries.factor | 3 +-- extra/ui/frp/layout/layout.factor | 16 +++++++++------- extra/ui/gadgets/alerts/alerts.factor | 7 ++++--- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/extra/fries/fries.factor b/extra/fries/fries.factor index 0e7ca3a0fe..6639607a11 100644 --- a/extra/fries/fries.factor +++ b/extra/fries/fries.factor @@ -1,7 +1,6 @@ USING: arrays vectors combinators effects kernel math sequences splitting -strings.parser parser ; +strings.parser parser fry ; IN: fries -SYMBOL: _ : str-fry ( str on -- quot ) split [ unclip-last [ [ spin glue ] reduce-r ] 2curry ] [ length 1 - 1 [ call-effect ] 2curry ] bi ; diff --git a/extra/ui/frp/layout/layout.factor b/extra/ui/frp/layout/layout.factor index ce2f8ed098..17fc4a8abd 100644 --- a/extra/ui/frp/layout/layout.factor +++ b/extra/ui/frp/layout/layout.factor @@ -4,7 +4,7 @@ ui.frp.gadgets ui.gadgets ui.gadgets.books ui.gadgets.tracks words tools.continuations ; IN: ui.frp.layout -: ( gadget width -- gadget ) over set ; +TUPLE: layout gadget size ; C: layout SYNTAX: ,% scan string>number [ , ] curry over push-all ; SYNTAX: ->% scan string>number '[ [ _ , ] [ output-model ] bi ] over push-all ; @@ -16,10 +16,11 @@ M: model -> dup , ; : ( -- ) 1 , ; SYMBOL: wordnames - +: layouts ( gadgets -- layouts ) [ [ gadget? ] [ layout? ] bi or ] filter + [ dup layout? [ f ] unless ] map ; : ( gadgets type -- track ) - [ { } make [ [ model? ] filter ] [ [ word? ] filter ] [ [ gadget? ] filter ] tri ] dip - swap [ dup get track-add ] each + [ { } make [ [ model? ] filter ] [ [ word? ] filter ] [ layouts ] tri ] dip + swap [ [ gadget>> ] [ size>> ] bi track-add ] each tuck [ [ swap 2array ] curry wordnames get swap change-at ] curry each swap [ >>model ] unless-empty ; inline : ( gadgets -- track ) horizontal ; inline @@ -31,13 +32,14 @@ SYNTAX: $ CREATE-WORD dup [ , ] curry (( -- )) define-declared "$" expect word [ [ building get length swap wordnames get set-at ] [ , ] bi ] curry over push-all ; GENERIC# insert-item 1 ( item location -- ) -M: gadget insert-item first2 spin [ dup get track-add ] keep +M: gadget insert-item [ f ] dip insert-item ; +M: layout insert-item first2 spin [ [ gadget>> ] [ size>> ] bi track-add ] keep gadget>> -rot [ but-last insert-nth ] change-children drop ; M: model insert-item first model>> swap add-connection ; : insert-items ( makelist -- ) f swap [ dup word? - [ wordnames get at nip ] [ over insert-item ] if + [ nip ] [ over [ wordnames get at insert-item ] [ wordnames get [ first2 1 + 2array ] change-at ] bi ] if ] each drop ; : with-interface ( quot: ( -- gadget ) -- gadget ) H{ } clone wordnames - [ { } make insert-items ] with-variable ; inline \ No newline at end of file + [ { } make insert-items ] with-variable ; inline diff --git a/extra/ui/gadgets/alerts/alerts.factor b/extra/ui/gadgets/alerts/alerts.factor index f29b8e8bf7..abebf458b4 100644 --- a/extra/ui/gadgets/alerts/alerts.factor +++ b/extra/ui/gadgets/alerts/alerts.factor @@ -1,7 +1,8 @@ -USING: accessors models macros generalizations kernel ui -ui.frp.gadgets ui.frp.signals ui.frp.layout ui.gadgets +USING: accessors models macros make generalizations kernel +ui ui.frp.gadgets ui.frp.signals ui.frp.layout ui.gadgets ui.gadgets.labels ui.gadgets.editors ui.gadgets.buttons -ui.gadgets.packs locals sequences fonts io.styles wrap.strings ; +ui.gadgets.packs locals sequences fonts io.styles +wrap.strings ; IN: ui.gadgets.alerts :: alert ( quot string -- ) { 10 10 } >>gap 1 >>align