--- 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 $'
! !