models: adding ?set-model.

db4
John Benediktsson 2012-05-14 15:40:55 -07:00
parent 07b0d52f55
commit cceb085d60
2 changed files with 7 additions and 0 deletions

View File

@ -64,6 +64,10 @@ HELP: set-model
{ $values { "value" object } { "model" model } }
{ $description "Changes the value of a model and calls " { $link model-changed } " on all observers registered with " { $link add-connection } "." } ;
HELP: ?set-model
{ $values { "value" object } { "model" model } }
{ $description "Similar to " { $link set-model } ", but only sets the value if the new value is different." } ;
{ set-model change-model change-model* (change-model) push-model pop-model } related-words
HELP: change-model

View File

@ -87,6 +87,9 @@ M: model update-model drop ;
] with-locked-model
] if ;
: ?set-model ( value model -- )
2dup value>> = [ 2drop ] [ set-model ] if ;
: ((change-model)) ( model quot -- newvalue model )
over [ [ value>> ] dip call ] dip ; inline