BrowserView.st
changeset 195 3b12a5a05218
parent 187 781f0c88e196
child 196 6d1ae1962257
--- a/BrowserView.st	Wed Nov 22 22:01:55 1995 +0100
+++ b/BrowserView.st	Wed Nov 22 22:04:22 1995 +0100
@@ -28,7 +28,7 @@
 !BrowserView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.43 1995-11-21 13:39:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.44 1995-11-22 21:04:22 cg Exp $'
 !
 
 documentation
@@ -339,23 +339,9 @@
 !
 
 classCategoryClone
-    "create a new SystemBrowser showing the same method as I do"
-
-    |newBrowser|
-
-    newBrowser := SystemBrowser open.
-    currentClass notNil ifTrue:[
-	newBrowser waitUntilVisible.
-	newBrowser switchToClassNamed:currentClass name. 
-	newBrowser updateClassCategoryList.
-	showInstance ifFalse:[
-	    newBrowser instanceProtocol:false
-	].
-	newBrowser updateMethodCategoryList.
-	currentSelector notNil ifTrue:[
-	    newBrowser switchToMethodNamed:currentSelector.
-	]
-    ]
+    "open a new SystemBrowser showing the same method as I do"
+
+    SystemBrowser openInClass:actualClass selector:currentSelector
 
     "Created: 14.9.1995 / 10:55:20 / claus"
     "Modified: 14.9.1995 / 10:59:31 / claus"
@@ -897,21 +883,30 @@
      with the most recent version found in the repository."
 
     self doClassMenu:[:currentClass |
-	|aStream newestSource currentSource v|
-
-	aStream := SourceCodeManager mostRecentSourceStreamForClassNamed:currentClass name.
-	newestSource := aStream contents.
-	aStream close.
-
-	aStream := '' writeStream.
-	currentClass fileOutOn:aStream.
-	currentSource := aStream contents.
-	aStream close.
-
-	v := DiffTextView 
-	    openOn:currentSource label:'current (' , currentClass revision , ')'
-	    and:newestSource label:'newest'.      
-	v label:'comparing ' , currentClass name.
+	|aStream comparedSource currentSource v rev revString|
+
+	rev := Dialog request:'compare to revision: (empty for newest)'.
+	rev notNil ifTrue:[
+	    rev withoutSpaces isEmpty ifTrue:[
+		aStream := SourceCodeManager mostRecentSourceStreamForClassNamed:currentClass name.
+		revString := 'newest'
+	    ] ifFalse:[
+		aStream := SourceCodeManager sourceStreamFor:currentClass revision:rev.
+		revString := rev
+	    ].
+	    comparedSource := aStream contents.
+	    aStream close.
+
+	    aStream := '' writeStream.
+	    currentClass fileOutOn:aStream withTimeStamp:false.
+	    currentSource := aStream contents.
+	    aStream close.
+
+	    v := DiffTextView 
+		openOn:currentSource label:'current (' , currentClass revision , ')'
+		and:comparedSource label:'repository (' , revString , ')'.      
+	    v label:'comparing ' , currentClass name.
+	]
     ]
 
     "Created: 14.11.1995 / 16:43:15 / cg"
@@ -1842,7 +1837,7 @@
 classSelection:lineNr
     "user clicked on a class line - show method categories"
 
-    |classSymbol cls oldSelector|
+    |cls oldSelector|
 
     (currentClassHierarchy notNil
      and:[fullProtocol]) ifTrue:[
@@ -1855,12 +1850,6 @@
     ].
 
     cls := Smalltalk classNamed:classListView selectionValue withoutSpaces.
-"
-    classSymbol := classListView selectionValue withoutSpaces asSymbol.
-    (Smalltalk includesKey:classSymbol) ifTrue:[
-	cls := Smalltalk at:classSymbol
-    ].
-"
     cls notNil ifTrue:[
 	self switchToClass:cls.
 	self classSelectionChanged
@@ -3441,7 +3430,7 @@
 methodCategorySelection:lineNr
     "user clicked on a method category line - show selectors"
 
-    |oldSelector|
+"/    |oldSelector|
 
 "/    oldSelector := currentSelector.
 
@@ -3454,13 +3443,13 @@
     methodListView list size == 1 ifTrue:[
 	methodListView selection:1.
 	self methodSelection:1
-    ] ifFalse:[
-	oldSelector notNil ifTrue:[
-	    methodListView selectElement:oldSelector.
-	    methodListView hasSelection ifTrue:[
-		self methodSelection:methodListView selection.
-	    ]
-	]
+"/    ] ifFalse:[
+"/      oldSelector notNil ifTrue:[
+"/          methodListView selectElement:oldSelector.
+"/          methodListView hasSelection ifTrue:[
+"/              self methodSelection:methodListView selection.
+"/          ]
+"/      ]
     ]
 !