TextView.st
changeset 97 cbf495fe3b64
parent 95 7535cfca9509
child 119 59758ff5b841
--- a/TextView.st	Tue Feb 28 22:52:21 1995 +0100
+++ b/TextView.st	Mon Mar 06 20:29:54 1995 +0100
@@ -34,7 +34,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.17 1995-02-27 10:41:21 claus Exp $
+$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.18 1995-03-06 19:29:37 claus Exp $
 '!
 
 !TextView class methodsFor:'documentation'!
@@ -55,7 +55,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.17 1995-02-27 10:41:21 claus Exp $
+$Header: /cvs/stx/stx/libwidg/TextView.st,v 1.18 1995-03-06 19:29:37 claus Exp $
 "
 !
 
@@ -174,6 +174,7 @@
 initialize
     super initialize.
     contentsWasSaved := false.
+    self model:self; menu:#editMenu.
 !
 
 initStyle
@@ -205,37 +206,6 @@
     ].
 !
 
-initializeMiddleButtonMenu
-    |labels|
-
-    labels := resources array:#(
-				       'copy'
-				       '-'
-				       'font ...'
-				       '-'
-				       'search ...'
-				       'goto ...'
-				       '-'
-				       'save as ...'
-				       'print').
-
-    self middleButtonMenu:(PopUpMenu
-				labels:labels
-			     selectors:#(copySelection
-					 nil
-					 changeFont
-					 nil
-					 search
-					 gotoLine
-					 nil
-					 save
-					 print)
-				receiver:self
-				     for:self).
-
-    self enableOrDisableSelectionMenuEntries
-!
-
 destroy
     fileBox notNil ifTrue:[
 	fileBox destroy.
@@ -350,8 +320,8 @@
     nLines := list size.
     [startNr <= nLines] whileTrue:[
 	string := list asStringWithCRsFrom:startNr 
-				        to:((startNr + 1000) min:nLines)
-		       	      compressTabs:compressTabs.
+					to:((startNr + 1000) min:nLines)
+			      compressTabs:compressTabs.
 	aStream nextPutAll:string.
 	startNr := startNr + 1000 + 1.
     ].
@@ -360,7 +330,7 @@
 "/
 "/    list do:[:aLine |
 "/      aLine notNil ifTrue:[
-"/	  aStream nextPutAll:aLine.
+"/        aStream nextPutAll:aLine.
 "/      ].
 "/      aStream cr
 "/  ]
@@ -466,6 +436,43 @@
 
 !TextView methodsFor:'menu actions'!
 
+editMenu
+    |labels selectors m|
+
+    labels := #(
+			'copy'
+			'-'
+			'font ...'
+			'-'
+			'search ...'
+			'goto ...'
+			'-'
+			'save as ...'
+			'print'
+		).
+
+    selectors := #(
+			copySelection
+			nil
+			changeFont
+			nil
+			search
+			gotoLine
+			nil
+			save
+			print
+		  ).
+
+    m := PopUpMenu
+	   labels:(resources array:labels)
+	   selectors:selectors.
+
+    self hasSelection ifFalse:[
+	m disable:#copySelection.
+    ].
+    ^ m
+!
+
 print
     "print the contents on the printer"
 
@@ -586,44 +593,12 @@
 
 !TextView methodsFor:'selections'!
 
-enableOrDisableSelectionMenuEntries
-    "sent internally, whenever selection status changes to
-     update menu entries"
-
-    self hasSelection ifFalse:[
-	self disableSelectionMenuEntries
-    ] ifTrue:[
-	self enableSelectionMenuEntries
-    ]
-!
-
-disableSelectionMenuEntries
-    "disable relevant menu entries when no selection is
-     available - redefined in subclasses to disable more,
-     but do NOT forget a super disableSelectionMenuEntries there."
-
-    middleButtonMenu notNil ifTrue:[
-	middleButtonMenu disable:#copySelection
-    ]
-!
-
-enableSelectionMenuEntries
-    "disable relevant menu entries when a selection is
-     available - redefined in subclasses to enable more,
-     but do NOT forget a super enableSelectionMenuEntries there."
-
-    middleButtonMenu notNil ifTrue:[
-	middleButtonMenu enable:#copySelection
-    ]
-!
-
 unselectWithoutRedraw
     "forget selection but do not redraw the selection area
      - can be done when selected area is redrawn anyway or
      known to be invisible."
 
     selectionStartLine := nil.
-    self disableSelectionMenuEntries
 !
 
 unselect
@@ -690,7 +665,6 @@
 	    ]
 	].
 	selectStyle := nil.
-	self enableSelectionMenuEntries
     ]
 !
 
@@ -1595,7 +1569,6 @@
 	autoScrollBlock notNil ifTrue:[
 	    self stopScrollSelect
 	].
-	self enableOrDisableSelectionMenuEntries.
     ] ifFalse:[
 	super buttonRelease:button x:x y:y
     ]