--- a/ETxtView.st Tue Feb 28 22:52:21 1995 +0100
+++ b/ETxtView.st Mon Mar 06 20:29:54 1995 +0100
@@ -32,7 +32,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libwidg/Attic/ETxtView.st,v 1.21 1995-02-22 01:20:41 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/ETxtView.st,v 1.22 1995-03-06 19:28:18 claus Exp $
'!
!EditTextView class methodsFor:'documentation'!
@@ -53,7 +53,7 @@
version
"
-$Header: /cvs/stx/stx/libwidg/Attic/ETxtView.st,v 1.21 1995-02-22 01:20:41 claus Exp $
+$Header: /cvs/stx/stx/libwidg/Attic/ETxtView.st,v 1.22 1995-03-06 19:28:18 claus Exp $
"
!
@@ -141,68 +141,83 @@
self enableEnterLeaveEvents
!
-initializeMiddleButtonMenu
- "initialize the views middleButtonMenu"
-
- |labels|
-
- labels := resources array:#(
-"/ 'undo'
- 'again'
- '-'
- 'copy'
- 'cut'
- 'paste'
- '-'
- 'accept'
- '='
- 'others'
- ).
-
- self middleButtonMenu:(PopUpMenu
- labels:labels
- selectors:#(
-"/ undo
- again
- nil
- copySelection
- cut
- paste
- nil
- accept
- nil
- others
- )
- receiver:self
- for:self).
-
- middleButtonMenu subMenuAt:#others put:(PopUpMenu
- labels:(resources array:#(
- 'search ...'
- 'goto ...'
- '-'
- 'font ...'
- '-'
- 'indent'
- '-'
- 'save as ...'
- 'print'
- ))
- selectors:#(
- search
- gotoLine
- nil
- changeFont
- nil
- indent
- nil
- save
- print
- )
- receiver:self
- for:self).
-
- self enableOrDisableSelectionMenuEntries
+editMenu
+ "return the views middleButtonMenu"
+
+ |labels selectors m sub|
+
+ labels := #(
+"/ 'undo'
+ 'again'
+ '-'
+ 'copy'
+ 'cut'
+ 'paste'
+ '-'
+ 'accept'
+ '='
+ 'others'
+ ).
+
+ selectors := #(
+"/ undo
+ again
+ nil
+ copySelection
+ cut
+ paste
+ nil
+ accept
+ nil
+ others
+ ).
+
+ m := PopUpMenu
+ labels:(resources array:labels)
+ selectors:selectors.
+
+ labels := #(
+ 'search ...'
+ 'goto ...'
+ '-'
+ 'font ...'
+ '-'
+ 'indent'
+ '-'
+ 'save as ...'
+ 'print'
+ ).
+
+ selectors := #(
+ search
+ gotoLine
+ nil
+ changeFont
+ nil
+ indent
+ nil
+ save
+ print
+ ).
+
+ sub := PopUpMenu
+ labels:(resources array:labels)
+ selectors:selectors
+ receiver:model.
+
+ m subMenuAt:#others put:sub.
+
+ readOnly ifTrue:[
+ m disable:#paste
+ ].
+ self hasSelection not ifTrue:[
+ m disable:#copySelection.
+ ].
+ (self hasSelection not or:[readOnly]) ifTrue:[
+ m disable:#cut.
+ sub disable:#indent.
+ ].
+ ^ m.
!
realize
@@ -256,10 +271,7 @@
readOnly
"make the text readonly"
- readOnly ifFalse:[
- readOnly := true.
- self enableOrDisableSelectionMenuEntries
- ]
+ readOnly := true
!
fixedSize
@@ -353,7 +365,7 @@
|line lineSize leftRest rightRest visLine w
srcY "{ Class: SmallInteger }" |
-
+
list isNil ifFalse:[
lineNr > (list size) ifFalse:[
(colNr == 1) ifTrue:[
@@ -393,7 +405,8 @@
self redrawLine:lineNr.
self redrawLine:(lineNr + 1).
self waitForExpose
- ]
+ ].
+ self contentsChanged.
]
]
!
@@ -437,7 +450,6 @@
"
list replaceFrom:(lineNr + 1) to:(list size) with:list startingAt:lineNr.
list at:lineNr put:line.
- self contentsChanged
!
insertLine:aString before:lineNr
@@ -449,6 +461,7 @@
visLine := self listLineToVisibleLine:lineNr.
(shown not or:[visLine isNil]) ifTrue:[
self withoutRedrawInsertLine:aString before:lineNr.
+ self contentsChanged.
^ self
].
@@ -462,7 +475,8 @@
width:w
height:((nLinesShown - visLine "- 1") * fontHeight).
self redrawVisibleLine:visLine.
- self waitForExpose
+ self waitForExpose.
+ self contentsChanged.
!
insertLines:someText from:start to:end before:lineNr
@@ -480,6 +494,7 @@
self withoutRedrawInsertLines:someText
from:start to:end
before:lineNr.
+ self contentsChanged.
^ self
].
@@ -508,7 +523,8 @@
height:(height - dstY).
self redrawFromVisibleLine:visLine to:(visLine + nLines - 1).
self waitForExpose
- ]
+ ].
+ self contentsChanged.
!
insert:aCharacter atLine:lineNr col:colNr
@@ -611,7 +627,6 @@
"
list replaceFrom:(lineNr + nLines) to:(list size) with:list startingAt:lineNr.
list replaceFrom:lineNr to:(lineNr + nLines - 1) with:newLines startingAt:start.
- self contentsChanged
!
withoutRedrawInsertStringWithoutCRs:aString atLine:lineNr col:colNr
@@ -2017,37 +2032,6 @@
!EditTextView methodsFor:'selections'!
-disableSelectionMenuEntries
- "disable relevant menu entries for a selection"
-
- middleButtonMenu notNil ifTrue:[
- super disableSelectionMenuEntries.
- middleButtonMenu disable:#cut.
- middleButtonMenu disable:#replace.
- middleButtonMenu disable:#indent
- ]
-!
-
-enableSelectionMenuEntries
- "enable relevant menu entries for a selection"
-
- middleButtonMenu notNil ifTrue:[
- "if readonly, never enable destructive functions"
- readOnly ifTrue:[
- super enableSelectionMenuEntries.
- middleButtonMenu disable:#cut.
- middleButtonMenu disable:#replace.
- middleButtonMenu disable:#indent.
- middleButtonMenu disable:#paste.
- ] ifFalse:[
- super enableSelectionMenuEntries.
- middleButtonMenu enable:#cut.
- middleButtonMenu enable:#replace.
- middleButtonMenu enable:#indent.
- ]
- ]
-!
-
unselect
"forget and unhilight selection - must take care of cursor here"