ui.gadgets.panes: use style-stream.
parent
6f9a7dcc9e
commit
7b0f6efe7f
|
@ -2,15 +2,14 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors assocs classes combinators destructors
|
USING: accessors assocs classes combinators destructors
|
||||||
documents.private fonts fry io io.styles kernel locals math
|
documents.private fonts fry io io.styles kernel locals math
|
||||||
math.rectangles math.vectors memoize models namespaces sequences
|
math.rectangles math.vectors models namespaces sequences sorting
|
||||||
sorting splitting strings ui.baseline-alignment ui.clipboards
|
splitting strings ui.baseline-alignment ui.clipboards ui.gadgets
|
||||||
ui.gadgets ui.gadgets.borders ui.gadgets.grid-lines
|
ui.gadgets.borders ui.gadgets.grid-lines ui.gadgets.grids
|
||||||
ui.gadgets.grids ui.gadgets.icons ui.gadgets.incremental
|
ui.gadgets.icons ui.gadgets.incremental ui.gadgets.labels
|
||||||
ui.gadgets.labels ui.gadgets.menus ui.gadgets.packs
|
ui.gadgets.menus ui.gadgets.packs ui.gadgets.paragraphs
|
||||||
ui.gadgets.paragraphs ui.gadgets.presentations
|
ui.gadgets.presentations ui.gadgets.private ui.gadgets.scrollers
|
||||||
ui.gadgets.private ui.gadgets.scrollers ui.gadgets.tracks
|
ui.gadgets.tracks ui.gestures ui.images ui.pens.solid ui.render
|
||||||
ui.gestures ui.images ui.pens.solid ui.render ui.theme
|
ui.theme ui.traverse unicode ;
|
||||||
ui.traverse unicode ;
|
|
||||||
FROM: io.styles => foreground background ;
|
FROM: io.styles => foreground background ;
|
||||||
FROM: ui.gadgets.wrappers => <wrapper> ;
|
FROM: ui.gadgets.wrappers => <wrapper> ;
|
||||||
IN: ui.gadgets.panes
|
IN: ui.gadgets.panes
|
||||||
|
@ -98,7 +97,8 @@ M: pane selected-children
|
||||||
add-incremental
|
add-incremental
|
||||||
] [ next-line ] bi ;
|
] [ next-line ] bi ;
|
||||||
|
|
||||||
: smash-pane ( pane -- gadget ) [ pane-nl ] [ output>> smash-line ] bi ;
|
: smash-pane ( pane -- gadget )
|
||||||
|
[ pane-nl ] [ output>> smash-line ] bi ;
|
||||||
|
|
||||||
: pane-write ( seq pane -- )
|
: pane-write ( seq pane -- )
|
||||||
[ pane-nl ] [ current>> stream-write ]
|
[ pane-nl ] [ current>> stream-write ]
|
||||||
|
@ -273,15 +273,13 @@ MEMO:: specified-font ( name style size foreground background -- font )
|
||||||
apply-presentation-style
|
apply-presentation-style
|
||||||
nip ;
|
nip ;
|
||||||
|
|
||||||
TUPLE: nested-pane-stream < pane-stream style parent ;
|
TUPLE: nested-pane-stream < style-stream parent ;
|
||||||
|
|
||||||
: new-nested-pane-stream ( style parent class -- stream )
|
: new-nested-pane-stream ( style parent class -- stream )
|
||||||
new
|
[ <pane> apply-wrap-style <pane-stream> swap ] 2dip boa ; inline
|
||||||
swap >>parent
|
|
||||||
swap <pane> apply-wrap-style [ >>style ] [ >>pane ] bi* ; inline
|
|
||||||
|
|
||||||
: unnest-pane-stream ( stream -- child parent )
|
: unnest-pane-stream ( stream -- child parent )
|
||||||
[ [ style>> ] [ pane>> smash-pane ] bi style-pane ] [ parent>> ] bi ;
|
[ style>> ] [ stream>> pane>> smash-pane style-pane ] [ parent>> ] tri ;
|
||||||
|
|
||||||
TUPLE: pane-block-stream < nested-pane-stream ;
|
TUPLE: pane-block-stream < nested-pane-stream ;
|
||||||
|
|
||||||
|
@ -315,7 +313,7 @@ M: pane-stream make-cell-stream
|
||||||
|
|
||||||
M: pane-stream stream-write-table
|
M: pane-stream stream-write-table
|
||||||
[
|
[
|
||||||
swap [ [ pane>> smash-pane ] map ] map
|
swap [ [ stream>> pane>> smash-pane ] map ] map
|
||||||
styled-grid
|
styled-grid
|
||||||
] dip write-gadget ;
|
] dip write-gadget ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue