boids: add touchbar buttons.
parent
1d751e7e12
commit
1b853c6e44
|
@ -3,11 +3,12 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors arrays boids.simulation calendar classes
|
USING: accessors arrays boids.simulation calendar classes
|
||||||
colors.constants kernel literals locals math math.functions
|
colors.constants kernel literals locals math math.functions
|
||||||
math.trig models opengl opengl.demo-support opengl.gl sequences
|
math.trig models namespaces opengl opengl.demo-support opengl.gl
|
||||||
threads ui ui.gadgets ui.gadgets.borders ui.gadgets.buttons
|
sequences threads ui ui.commands ui.gadgets ui.gadgets.borders
|
||||||
ui.gadgets.frames ui.gadgets.grids ui.gadgets.labeled
|
ui.gadgets.buttons ui.gadgets.frames ui.gadgets.grids
|
||||||
ui.gadgets.labels ui.gadgets.packs ui.gadgets.sliders
|
ui.gadgets.labeled ui.gadgets.labels ui.gadgets.packs
|
||||||
ui.gadgets.tracks ui.render ui.tools.common ;
|
ui.gadgets.sliders ui.gadgets.tracks ui.gadgets.worlds ui.render
|
||||||
|
ui.tools.common ;
|
||||||
QUALIFIED-WITH: models.range mr
|
QUALIFIED-WITH: models.range mr
|
||||||
IN: boids
|
IN: boids
|
||||||
|
|
||||||
|
@ -104,11 +105,11 @@ M: range-observer model-changed
|
||||||
[ neg random-boids append ] if
|
[ neg random-boids append ] if
|
||||||
] change-boids drop ;
|
] change-boids drop ;
|
||||||
|
|
||||||
: pause-toggle ( boids-gadget -- )
|
: com-pause ( boids-gadget -- )
|
||||||
dup paused>> not [ >>paused ] keep
|
dup paused>> not [ >>paused ] keep
|
||||||
[ drop ] [ start-boids-thread ] if ;
|
[ drop ] [ start-boids-thread ] if ;
|
||||||
|
|
||||||
: randomize-boids ( boids-gadget -- )
|
: com-randomize ( boids-gadget -- )
|
||||||
[ length random-boids ] change-boids drop ;
|
[ length random-boids ] change-boids drop ;
|
||||||
|
|
||||||
:: simulation-panel ( boids-gadget -- gadget )
|
:: simulation-panel ( boids-gadget -- gadget )
|
||||||
|
@ -129,9 +130,9 @@ M: range-observer model-changed
|
||||||
{ 5 5 } <border> add-gadget
|
{ 5 5 } <border> add-gadget
|
||||||
|
|
||||||
<shelf> { 2 2 } >>gap
|
<shelf> { 2 2 } >>gap
|
||||||
"pause" [ drop boids-gadget pause-toggle ]
|
"pause" [ drop boids-gadget com-pause ]
|
||||||
<border-button> add-gadget
|
<border-button> add-gadget
|
||||||
"randomize" [ drop boids-gadget randomize-boids ]
|
"randomize" [ drop boids-gadget com-randomize ]
|
||||||
<border-button> add-gadget
|
<border-button> add-gadget
|
||||||
|
|
||||||
{ 5 5 } <border> add-gadget
|
{ 5 5 } <border> add-gadget
|
||||||
|
@ -139,10 +140,8 @@ M: range-observer model-changed
|
||||||
"simulation" COLOR: gray <framed-labeled-gadget> ;
|
"simulation" COLOR: gray <framed-labeled-gadget> ;
|
||||||
|
|
||||||
:: create-gadgets ( -- gadgets )
|
:: create-gadgets ( -- gadgets )
|
||||||
<shelf>
|
|
||||||
<boids-gadget> :> boids-gadget
|
<boids-gadget> :> boids-gadget
|
||||||
boids-gadget [ start-boids-thread ] keep
|
boids-gadget [ start-boids-thread ] keep
|
||||||
add-gadget
|
|
||||||
|
|
||||||
<pile> { 5 5 } >>gap 1.0 >>fill
|
<pile> { 5 5 } >>gap 1.0 >>fill
|
||||||
|
|
||||||
|
@ -152,8 +151,14 @@ M: range-observer model-changed
|
||||||
boids-gadget behaviours>>
|
boids-gadget behaviours>>
|
||||||
[ behavior-panel add-gadget ] each
|
[ behavior-panel add-gadget ] each
|
||||||
|
|
||||||
{ 5 5 } <border> add-gadget ;
|
{ 5 5 } <border> 2array ;
|
||||||
|
|
||||||
|
boids-gadget "touchbar" f {
|
||||||
|
{ f com-pause }
|
||||||
|
{ f com-randomize }
|
||||||
|
} define-command-map
|
||||||
|
|
||||||
MAIN-WINDOW: boids { { title "Boids" } }
|
MAIN-WINDOW: boids { { title "Boids" } }
|
||||||
create-gadgets
|
0 >>fill
|
||||||
>>gadgets ;
|
horizontal >>orientation
|
||||||
|
create-gadgets >>gadgets ;
|
||||||
|
|
Loading…
Reference in New Issue