Stop blinking in ungraft just in case

db4
Slava Pestov 2008-11-20 22:14:35 -06:00
parent 17b2566017
commit decdcbe120
1 changed files with 19 additions and 18 deletions

View File

@ -45,6 +45,24 @@ focused? blink blink-alarm ;
dup deactivate-model
swap model>> remove-loc ;
: blink-caret ( editor -- )
[ not ] change-blink relayout-1 ;
: start-blinking ( editor -- )
t >>blink
dup '[ _ blink-caret ] 750 milliseconds every >>blink-alarm drop ;
: stop-blinking ( editor -- )
blink-alarm>> cancel-alarm ;
: restart-blinking ( editor -- )
dup focused?>> [
[ stop-blinking ]
[ start-blinking ]
[ relayout-1 ]
tri
] [ drop ] if ;
M: editor graft*
dup
dup caret>> activate-editor-model
@ -52,6 +70,7 @@ M: editor graft*
M: editor ungraft*
dup
dup stop-blinking
dup caret>> deactivate-editor-model
dup mark>> deactivate-editor-model ;
@ -96,24 +115,6 @@ M: editor ungraft*
: click-loc ( editor model -- )
[ clicked-loc ] dip set-model ;
: blink-caret ( editor -- )
[ not ] change-blink relayout-1 ;
: start-blinking ( editor -- )
t >>blink
dup '[ _ blink-caret ] 750 milliseconds every >>blink-alarm drop ;
: stop-blinking ( editor -- )
blink-alarm>> cancel-alarm ;
: restart-blinking ( editor -- )
dup focused?>> [
[ stop-blinking ]
[ start-blinking ]
[ relayout-1 ]
tri
] [ drop ] if ;
: focus-editor ( editor -- )
dup start-blinking
t >>focused?