models: some cleanup.

db4
John Benediktsson 2014-11-29 22:37:59 -08:00
parent b360860ecd
commit 439649e707
1 changed files with 8 additions and 8 deletions

View File

@ -30,10 +30,10 @@ GENERIC: model-activated ( model -- )
M: model model-activated drop ;
: ref-model ( model -- n )
[ 1 + ] change-ref ref>> ;
[ 1 + dup ] change-ref drop ;
: unref-model ( model -- n )
[ 1 - ] change-ref ref>> ;
[ 1 - dup ] change-ref drop ;
: activate-model ( model -- )
dup ref-model 1 = [
@ -57,17 +57,17 @@ DEFER: remove-connection
GENERIC: model-changed ( model observer -- )
: add-connection ( observer model -- )
dup connections>> empty? [ dup activate-model ] when
connections>> push ;
dup connections>>
[ empty? [ activate-model ] [ drop ] if ]
[ push ] bi ;
: remove-connection ( observer model -- )
[ connections>> remove! drop ] keep
dup connections>> empty? [ dup deactivate-model ] when
drop ;
[ connections>> remove! ] keep swap
empty? [ deactivate-model ] [ drop ] if ;
: with-locked-model ( model quot -- )
[ '[ _ t >>locked? @ ] ]
[ drop '[ _ f >>locked? drop ] ]
[ drop '[ f _ locked?<< ] ]
2bi [ ] cleanup ; inline
GENERIC: update-model ( model -- )