ui.frp.layout fixed- now works normally
parent
acf9159f31
commit
58192d7e6e
|
@ -1,7 +1,6 @@
|
||||||
USING: arrays vectors combinators effects kernel math sequences splitting
|
USING: arrays vectors combinators effects kernel math sequences splitting
|
||||||
strings.parser parser ;
|
strings.parser parser fry ;
|
||||||
IN: fries
|
IN: fries
|
||||||
SYMBOL: _
|
|
||||||
: str-fry ( str on -- quot ) split
|
: str-fry ( str on -- quot ) split
|
||||||
[ unclip-last [ [ spin glue ] reduce-r ] 2curry ]
|
[ unclip-last [ [ spin glue ] reduce-r ] 2curry ]
|
||||||
[ length 1 - 1 <effect> [ call-effect ] 2curry ] bi ;
|
[ length 1 - 1 <effect> [ call-effect ] 2curry ] bi ;
|
||||||
|
|
|
@ -4,7 +4,7 @@ ui.frp.gadgets ui.gadgets ui.gadgets.books ui.gadgets.tracks
|
||||||
words tools.continuations ;
|
words tools.continuations ;
|
||||||
IN: ui.frp.layout
|
IN: ui.frp.layout
|
||||||
|
|
||||||
: <layout> ( gadget width -- gadget ) over set ;
|
TUPLE: layout gadget size ; C: <layout> layout
|
||||||
|
|
||||||
SYNTAX: ,% scan string>number [ <layout> , ] curry over push-all ;
|
SYNTAX: ,% scan string>number [ <layout> , ] curry over push-all ;
|
||||||
SYNTAX: ->% scan string>number '[ [ _ <layout> , ] [ output-model ] bi ] over push-all ;
|
SYNTAX: ->% scan string>number '[ [ _ <layout> , ] [ output-model ] bi ] over push-all ;
|
||||||
|
@ -16,10 +16,11 @@ M: model -> dup , ;
|
||||||
: <spacer> ( -- ) <gadget> 1 <layout> , ;
|
: <spacer> ( -- ) <gadget> 1 <layout> , ;
|
||||||
|
|
||||||
SYMBOL: wordnames
|
SYMBOL: wordnames
|
||||||
|
: layouts ( gadgets -- layouts ) [ [ gadget? ] [ layout? ] bi or ] filter
|
||||||
|
[ dup layout? [ f <layout> ] unless ] map ;
|
||||||
: <box> ( gadgets type -- track )
|
: <box> ( gadgets type -- track )
|
||||||
[ { } make [ [ model? ] filter ] [ [ word? ] filter ] [ [ gadget? ] filter ] tri ] dip <track>
|
[ { } make [ [ model? ] filter ] [ [ word? ] filter ] [ layouts ] tri ] dip <track>
|
||||||
swap [ dup get track-add ] each
|
swap [ [ gadget>> ] [ size>> ] bi track-add ] each
|
||||||
tuck [ [ swap 2array ] curry wordnames get swap change-at ] curry each
|
tuck [ [ swap 2array ] curry wordnames get swap change-at ] curry each
|
||||||
swap [ <product> >>model ] unless-empty ; inline
|
swap [ <product> >>model ] unless-empty ; inline
|
||||||
: <hbox> ( gadgets -- track ) horizontal <box> ; inline
|
: <hbox> ( gadgets -- track ) horizontal <box> ; 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 ;
|
word [ [ building get length swap wordnames get set-at ] [ , ] bi ] curry over push-all ;
|
||||||
|
|
||||||
GENERIC# insert-item 1 ( item location -- )
|
GENERIC# insert-item 1 ( item location -- )
|
||||||
M: gadget insert-item first2 spin [ dup get track-add ] keep
|
M: gadget insert-item [ f <layout> ] dip insert-item ;
|
||||||
|
M: layout insert-item first2 spin [ [ gadget>> ] [ size>> ] bi track-add ] keep gadget>>
|
||||||
-rot [ but-last insert-nth ] change-children drop ;
|
-rot [ but-last insert-nth ] change-children drop ;
|
||||||
M: model insert-item first model>> swap add-connection ;
|
M: model insert-item first model>> swap add-connection ;
|
||||||
|
|
||||||
: insert-items ( makelist -- ) f swap [ dup word?
|
: 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 ;
|
] each drop ;
|
||||||
|
|
||||||
: with-interface ( quot: ( -- gadget ) -- gadget ) H{ } clone wordnames
|
: with-interface ( quot: ( -- gadget ) -- gadget ) H{ } clone wordnames
|
||||||
[ { } make insert-items ] with-variable ; inline
|
[ { } make insert-items ] with-variable ; inline
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
USING: accessors models macros generalizations kernel ui
|
USING: accessors models macros make generalizations kernel
|
||||||
ui.frp.gadgets ui.frp.signals ui.frp.layout ui.gadgets
|
ui ui.frp.gadgets ui.frp.signals ui.frp.layout ui.gadgets
|
||||||
ui.gadgets.labels ui.gadgets.editors ui.gadgets.buttons
|
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
|
IN: ui.gadgets.alerts
|
||||||
:: alert ( quot string -- ) <pile> { 10 10 } >>gap 1 >>align
|
:: alert ( quot string -- ) <pile> { 10 10 } >>gap 1 >>align
|
||||||
|
|
Loading…
Reference in New Issue