<border> now takes a pair instead of an integer
parent
f93b2f1c29
commit
7b2a705352
|
@ -5,7 +5,7 @@ HELP: border
|
|||
{ $class-description "A border gadget contains a single child and centers it, with a fixed-width border. Borders are created by calling " { $link <border> } "." } ;
|
||||
|
||||
HELP: <border>
|
||||
{ $values { "child" gadget } { "gap" integer } { "border" "a new " { $link border } } }
|
||||
{ $values { "child" gadget } { "gap" "a pair of integers" } { "border" "a new " { $link border } } }
|
||||
{ $description "Creates a new border around the child with the specified horizontal and vertical gap." } ;
|
||||
|
||||
ARTICLE: "ui.gadgets.borders" "Border gadgets"
|
||||
|
|
|
@ -2,15 +2,15 @@ IN: ui.gadgets.borders.tests
|
|||
USING: tools.test accessors namespaces kernel
|
||||
ui.gadgets ui.gadgets.borders math.geometry.rect ;
|
||||
|
||||
[ { 110 210 } ] [ <gadget> { 100 200 } >>dim 5 <border> pref-dim ] unit-test
|
||||
[ { 110 210 } ] [ <gadget> { 100 200 } >>dim { 5 5 } <border> pref-dim ] unit-test
|
||||
|
||||
[ ] [ <gadget> { 100 200 } >>dim "g" set ] unit-test
|
||||
|
||||
[ ] [ "g" get 0 <border> { 100 200 } >>dim "b" set ] unit-test
|
||||
[ ] [ "g" get { 0 0 } <border> { 100 200 } >>dim "b" set ] unit-test
|
||||
|
||||
[ T{ rect f { 0 0 } { 100 200 } } ] [ "b" get border-child-rect ] unit-test
|
||||
|
||||
[ ] [ "g" get 5 <border> { 210 210 } >>dim "b" set ] unit-test
|
||||
[ ] [ "g" get { 5 5 } <border> { 210 210 } >>dim "b" set ] unit-test
|
||||
|
||||
[ T{ rect f { 55 5 } { 100 200 } } ] [ "b" get border-child-rect ] unit-test
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
! Copyright (C) 2005, 2008 Slava Pestov.
|
||||
! Copyright (C) 2005, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays ui.gadgets kernel math
|
||||
namespaces vectors sequences math.vectors math.geometry.rect ;
|
||||
|
@ -14,14 +14,16 @@ TUPLE: border < gadget
|
|||
|
||||
: <border> ( child gap -- border )
|
||||
swap border new-border
|
||||
swap dup 2array >>size ;
|
||||
swap >>size ;
|
||||
|
||||
: <filled-border> ( child gap -- border )
|
||||
<border> { 1 1 } >>fill ;
|
||||
|
||||
M: border pref-dim*
|
||||
[ size>> 2 v*n ] keep
|
||||
gadget-child pref-dim v+ ;
|
||||
[ size>> 2 v*n ] [ gadget-child pref-dim ] bi v+ ;
|
||||
|
||||
M: border baseline
|
||||
[ size>> second ] [ gadget-child baseline ] bi + ;
|
||||
|
||||
: border-major-dim ( border -- dim )
|
||||
[ dim>> ] [ size>> 2 v*n ] bi v- ;
|
||||
|
@ -43,9 +45,8 @@ M: border pref-dim*
|
|||
dup border-dim [ border-loc ] keep <rect> ;
|
||||
|
||||
M: border layout*
|
||||
dup border-child-rect swap gadget-child
|
||||
over loc>> >>loc
|
||||
swap dim>> >>dim
|
||||
[ gadget-child ] [ border-child-rect ] bi
|
||||
[ loc>> >>loc ] [ dim>> >>dim ] bi
|
||||
drop ;
|
||||
|
||||
M: border focusable-child*
|
||||
|
|
|
@ -26,7 +26,7 @@ IN: ui.gadgets.menus
|
|||
: <commands-menu> ( target hook commands -- menu )
|
||||
[ <filled-pile> ] 3dip
|
||||
[ <menu-item> add-gadget ] with with each
|
||||
5 <border> menu-theme ;
|
||||
{ 5 5 } <border> menu-theme ;
|
||||
|
||||
: show-commands-menu ( target commands -- )
|
||||
[ dup [ ] ] dip <commands-menu> show-menu ;
|
||||
|
|
|
@ -4,7 +4,7 @@ USING: accessors kernel delegate fry sequences
|
|||
models models.search models.delay calendar locals
|
||||
ui.gadgets.editors ui.gadgets.labels ui.gadgets.scrollers
|
||||
ui.gadgets.tables ui.gadgets.tracks ui.gadgets.borders
|
||||
ui.gadgets.buttons ;
|
||||
ui.gadgets.buttons ui.gadgets ;
|
||||
IN: ui.gadgets.search-tables
|
||||
|
||||
TUPLE: search-field < track field ;
|
||||
|
@ -16,7 +16,7 @@ TUPLE: search-field < track field ;
|
|||
"X" swap '[ drop _ clear-search-field ] <roll-button> ;
|
||||
|
||||
: <search-field> ( model -- gadget )
|
||||
{ 1 0 } search-field new-track
|
||||
horizontal search-field new-track
|
||||
{ 5 5 } >>gap
|
||||
"Search:" <label> f track-add
|
||||
swap <model-field> 10 >>min-width >>field
|
||||
|
@ -45,10 +45,10 @@ CONSULT: table-protocol search-table table>> ;
|
|||
|
||||
:: <search-table> ( values quot -- gadget )
|
||||
f <model> :> search
|
||||
{ 0 1 } search-table new-track
|
||||
vertical search-table new-track
|
||||
values >>model
|
||||
search <search-field> >>field
|
||||
dup field>> 2 <filled-border> f track-add
|
||||
dup field>> { 2 2 } <filled-border> f track-add
|
||||
values search 500 milliseconds <delay> quot <search> <table> >>table
|
||||
dup table>> <scroller> 1 track-add ;
|
||||
|
||||
|
|
|
@ -104,16 +104,16 @@ deploy-gadget "toolbar" f {
|
|||
|
||||
: <deploy-gadget> ( vocab -- gadget )
|
||||
deploy-gadget new-gadget
|
||||
over >>vocab
|
||||
{ 0 1 } >>orientation
|
||||
swap <deploy-settings> >>settings
|
||||
dup settings>> add-gadget
|
||||
dup <toolbar> { 10 10 } >>gap add-gadget
|
||||
over >>vocab
|
||||
vertical >>orientation
|
||||
swap <deploy-settings> >>settings
|
||||
dup settings>> add-gadget
|
||||
dup <toolbar> { 10 10 } >>gap add-gadget
|
||||
deploy-settings-theme
|
||||
dup com-revert ;
|
||||
|
||||
: deploy-tool ( vocab -- )
|
||||
vocab-name
|
||||
[ <deploy-gadget> 10 <border> ]
|
||||
[ <deploy-gadget> { 10 10 } <border> ]
|
||||
[ "Deploying \"" "\"" surround ] bi
|
||||
open-window ;
|
||||
|
|
|
@ -13,7 +13,7 @@ IN: hello-unicode
|
|||
"안녕하세요" print
|
||||
"שָׁלוֹם " print
|
||||
] with-style
|
||||
] make-pane 10 <border> ;
|
||||
] make-pane { 10 10 } <border> ;
|
||||
|
||||
: hello-unicode ( -- ) <hello-gadget> "გამარჯობა" open-window ;
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ M: axis-gadget pref-dim* drop SIZE ;
|
|||
TUPLE: joystick-demo-gadget < pack axis raxis controller buttons alarm ;
|
||||
|
||||
: add-gadget-with-border ( parent child -- parent )
|
||||
2 <border> gray <solid> >>boundary add-gadget ;
|
||||
{ 2 2 } <border> gray <solid> >>boundary add-gadget ;
|
||||
|
||||
: add-controller-label ( gadget controller -- gadget )
|
||||
[ >>controller ] [ product-string <label> add-gadget ] bi ;
|
||||
|
|
|
@ -174,7 +174,7 @@ M: key-caps-gadget handle-gesture
|
|||
: key-caps ( -- )
|
||||
[
|
||||
open-game-input
|
||||
<key-caps-gadget> 5 <border> "Key Caps" open-window
|
||||
<key-caps-gadget> { 5 5 } <border> "Key Caps" open-window
|
||||
] with-ui ;
|
||||
|
||||
MAIN: key-caps
|
||||
|
|
|
@ -59,11 +59,11 @@ M: take-screenshot draw-boundary
|
|||
<gadget>
|
||||
black <solid> >>interior
|
||||
{ 98 98 } >>dim
|
||||
1 <border> add-gadget
|
||||
{ 1 1 } <border> add-gadget
|
||||
<gadget>
|
||||
gray <solid> >>boundary
|
||||
{ 94 94 } >>dim
|
||||
3 <border>
|
||||
{ 3 3 } <border>
|
||||
red <solid> >>boundary
|
||||
add-gadget
|
||||
<line-gadget> <line-gadget> <line-gadget> 3array
|
||||
|
@ -77,7 +77,7 @@ M: take-screenshot draw-boundary
|
|||
{ 14 14 } >>dim
|
||||
black <checkmark-paint> >>interior
|
||||
black <solid> >>boundary
|
||||
4 <border>
|
||||
{ 4 4 } <border>
|
||||
add-gadget ;
|
||||
|
||||
: ui-render-test ( -- )
|
||||
|
|
Loading…
Reference in New Issue