frame layout fixes

cvs
Slava Pestov 2005-08-26 05:29:12 +00:00
parent 3d173c3af5
commit 5229bee399
4 changed files with 29 additions and 17 deletions

View File

@ -14,11 +14,15 @@ GENERIC: tutorial-line ( object -- gadget )
M: string tutorial-line <label> ; M: string tutorial-line <label> ;
: example-theme
dup roll-button-theme
dup "Monospaced" font set-paint-prop
italic font-style set-paint-prop ;
M: general-list tutorial-line M: general-list tutorial-line
car dup <label> dup rot [ pane get pane-input set-editor-text drop ] cons car dup <label> dup rot [ pane get pane-input set-editor-text drop ] cons
button-gestures button-gestures
dup roll-button-theme dup example-theme ;
dup "Monospaced" font set-paint-prop ;
: <page> ( list -- gadget ) : <page> ( list -- gadget )
0 1 <pile> 0 1 <pile>

View File

@ -4,8 +4,8 @@ USING: gadgets kernel namespaces test ;
[ "Hello world" ] [ "Hello world" ]
[ [
<frame> "frame" set <frame> "frame" set
"Hello world" <label> 1 2 "frame" get set-frame-child "Hello world" <label> "frame" get 1 2 set-frame-child
1 2 "frame" get frame-child label-text "frame" get 1 2 frame-child label-text
] unit-test ] unit-test
[ { { 2 2 2 } { 3 3 3 } { 4 4 4 } } ] [ [ { { 2 2 2 } { 3 3 3 } { 4 4 4 } } ] [
@ -39,18 +39,26 @@ USING: gadgets kernel namespaces test ;
[ { 90 120 0 } ] [ { 90 120 0 } ]
[ [
<frame> "frame" set <frame> "frame" set
{ 10 20 0 } sized-gadget 1 2 "frame" get set-frame-child { 10 20 0 } sized-gadget "frame" get 1 2 set-frame-child
{ 30 40 0 } sized-gadget 2 0 "frame" get set-frame-child { 30 40 0 } sized-gadget "frame" get 2 0 set-frame-child
{ 50 60 0 } sized-gadget 0 1 "frame" get set-frame-child { 50 60 0 } sized-gadget "frame" get 0 1 set-frame-child
"frame" get pref-dim "frame" get pref-dim
] unit-test ] unit-test
[ { 140 250 0 } ] [ { 180 210 0 } ]
[ [
<frame> "frame" set <frame> "frame" set
{ 10 20 0 } sized-gadget 1 2 "frame" get set-frame-child { 10 20 0 } sized-gadget "frame" get add-bottom
{ 30 40 0 } sized-gadget 2 0 "frame" get set-frame-child { 30 40 0 } sized-gadget "frame" get 2 0 set-frame-child
{ 50 60 0 } sized-gadget 0 1 "frame" get set-frame-child { 50 60 0 } sized-gadget "frame" get add-left
{ 100 150 0 } sized-gadget 1 1 "frame" get set-frame-child { 100 150 0 } sized-gadget "frame" get add-center
"frame" get pref-dim
] unit-test
[ { 30 60 0 } ]
[
<frame> "frame" set
{ 10 20 0 } sized-gadget "frame" get add-top
{ 30 40 0 } sized-gadget "frame" get add-center
"frame" get pref-dim "frame" get pref-dim
] unit-test ] unit-test

View File

@ -20,7 +20,7 @@ M: book layout* ( book -- )
set-gadget-dim set-gadget-dim
] each-with ] each-with
dup book-page swap gadget-children nth dup book-page swap gadget-children nth
t swap set-gadget-visible? ; [ t swap set-gadget-visible? ] when* ;
: show-page ( n book -- ) : show-page ( n book -- )
[ gadget-children length rem ] keep [ gadget-children length rem ] keep

View File

@ -36,8 +36,8 @@ C: frame ( -- frame )
M: frame pref-dim ( frame -- dim ) M: frame pref-dim ( frame -- dim )
frame-grid pref-dim-grid frame-grid pref-dim-grid
dup frame-pref-dim first dup flip frame-pref-dim first
swap flip frame-pref-dim second swap frame-pref-dim second
0 3vector ; 0 3vector ;
: frame-layout ( horiz vert -- grid ) : frame-layout ( horiz vert -- grid )
@ -64,7 +64,7 @@ M: frame pref-dim ( frame -- dim )
M: frame layout* ( frame -- dim ) M: frame layout* ( frame -- dim )
[ [
frame-grid dup pref-dim-grid frame-grid dup pref-dim-grid
dup reduce-grid [ first ] map dup flip reduce-grid [ first ] map
swap flip reduce-grid [ second ] map swap reduce-grid [ second ] map
2dup 2dup
] keep rect-dim fill-center 3dup position-grid resize-grid ; ] keep rect-dim fill-center 3dup position-grid resize-grid ;