learnMode and insertMode as valueHolders
authorClaus Gittinger <cg@exept.de>
Thu, 21 Aug 2003 15:44:32 +0200
changeset 2795 1f7b5f242eee
parent 2794 90115a2de9d2
child 2796 481d9e54434c
learnMode and insertMode as valueHolders
EditTextView.st
--- a/EditTextView.st	Thu Aug 21 13:29:07 2003 +0200
+++ b/EditTextView.st	Thu Aug 21 15:44:32 2003 +0200
@@ -673,11 +673,15 @@
 !
 
 insertMode:aBoolean
-    insertMode := aBoolean
+    insertMode value:aBoolean
 
     "Created: 6.3.1996 / 12:24:05 / cg"
 !
 
+insertModeHolder
+    ^ insertMode
+!
+
 isReadOnly
     "return true, if the text is readonly."
 
@@ -2589,14 +2593,14 @@
                 lastReplacement := lastReplacement copyWith:something.
 "/            ]
         ].
-        insertMode ifTrue:[
+        insertMode value ifTrue:[
             self insertCharAtCursor:something
         ] ifFalse:[
             self replaceCharAtCursor:something
         ]
     ] ifFalse:[
         lastReplacement := something.
-        insertMode ifTrue:[
+        insertMode value ifTrue:[
             self insertStringAtCursor:something
         ] ifFalse:[
             self replaceStringAtCursor
@@ -3749,7 +3753,7 @@
         self executeLearnedKeyboardMacro.
         ^ self.
     ].
-    learnMode == true ifTrue:[
+    self learnMode ifTrue:[
         learnedMacro add:event.
     ].
 
@@ -3860,7 +3864,7 @@
             self unselect; makeCursorVisible.
             self cursorReturn
         ] ifFalse:[
-            insertMode ifFalse:[
+            insertMode value ifFalse:[
                 self cursorReturn.
                 autoIndent == true ifTrue:[
                     i := self leftIndentForLine:(cursorLine + 1).
@@ -3906,7 +3910,7 @@
          (where tab-key is only cursor positioning)
          this was the original behavior of the TAB key, but many people complained ....
         "
-        insertMode ifFalse:[
+        insertMode value ifFalse:[
             self unselect. self cursorTab. ^self
         ].
         self unselect. self insertTabAtCursor. 
@@ -4207,7 +4211,8 @@
     hasKeyboardFocus := false. "/ true.
     tabMeansNextField := false.
     autoIndent := false.
-    insertMode := true.
+    insertMode := true asValue.
+    learnMode := false asValue.
     "/ trimBlankLines := st80Mode not. "true."
     trimBlankLines := self st80EditMode not. "true."
     cursorMovementWhenUpdating := #beginOfText.
@@ -4219,7 +4224,7 @@
 !EditTextView methodsFor:'macros'!
 
 executeLearnedKeyboardMacro
-    ((learnMode == false) and:[learnedMacro size > 0]) ifTrue:[
+    (self learnMode not and:[learnedMacro size > 0]) ifTrue:[
         learnedMacro do:[:event |
                             WindowGroup lastEventQuerySignal answer:event
                             do:[
@@ -4234,11 +4239,16 @@
     ].
 !
 
+learnMode
+    ^ (learnMode value ? false).
+!
+
 learnMode:aBoolean
     |fg bg|
 
-    learnMode := aBoolean.
-    learnMode ifTrue:[
+    self learnModeHolder value:aBoolean.
+
+    aBoolean ifTrue:[
         learnedMacro := OrderedCollection new.
         fg := Color white.
         bg := Color black.
@@ -4249,8 +4259,15 @@
     self cursorForegroundColor:fg backgroundColor:bg.
 !
 
+learnModeHolder
+    learnMode isNil ifTrue:[
+        learnMode := false asValue
+    ].
+    ^ learnMode
+!
+
 toggleLearnMode
-    self learnMode: (learnMode ? false) not.
+    self learnMode: self learnMode not.
 ! !
 
 !EditTextView methodsFor:'menu actions'!
@@ -4390,8 +4407,8 @@
 
     sub := PopUpMenu itemList:items resources:resources performer:model.
     sub checkToggleAt:#autoIndent: put:autoIndent.
-    sub checkToggleAt:#insertMode: put:insertMode.
-    sub checkToggleAt:#learnMode: put:(learnMode ? false).
+    sub checkToggleAt:#insertMode: put:(self insertModeHolder value).
+    sub checkToggleAt:#learnMode: put:(self learnModeHolder value).
     sub receiver:self.
 
     subSub := PopUpMenu itemList:translateItems resources:resources performer:model.
@@ -5526,5 +5543,5 @@
 !EditTextView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.311 2003-08-21 11:07:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/EditTextView.st,v 1.312 2003-08-21 13:44:32 cg Exp $'
 ! !