models.delay: some cleanup.
parent
c2261c05fd
commit
b360860ecd
|
@ -1,6 +1,6 @@
|
||||||
! Copyright (C) 2008 Slava Pestov.
|
! Copyright (C) 2008 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors timers fry kernel models ;
|
USING: accessors fry kernel models timers ;
|
||||||
IN: models.delay
|
IN: models.delay
|
||||||
|
|
||||||
TUPLE: delay < model model timeout timer ;
|
TUPLE: delay < model model timeout timer ;
|
||||||
|
@ -12,16 +12,15 @@ TUPLE: delay < model model timeout timer ;
|
||||||
f delay new-model
|
f delay new-model
|
||||||
swap >>timeout
|
swap >>timeout
|
||||||
over >>model
|
over >>model
|
||||||
[ add-dependency ] keep ;
|
[ add-dependency ] keep ;
|
||||||
|
|
||||||
: stop-delay ( delay -- )
|
: stop-delay ( delay -- )
|
||||||
timer>> [ stop-timer ] when* ;
|
timer>> [ stop-timer ] when* ;
|
||||||
|
|
||||||
: start-delay ( delay -- )
|
: start-delay ( delay -- )
|
||||||
dup
|
[ '[ _ f >>timer update-delay-model ] ]
|
||||||
[ '[ _ f >>timer update-delay-model ] ] [ timeout>> ] bi
|
[ timeout>> later ]
|
||||||
later
|
[ timer<< ] tri ;
|
||||||
>>timer drop ;
|
|
||||||
|
|
||||||
M: delay model-changed nip dup stop-delay start-delay ;
|
M: delay model-changed nip dup stop-delay start-delay ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue