--------------BB3ECF8334C290EE3649998B Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353" Content-Transfer-Encoding: 7bit
The attached file-in automatically selects the "all" category upon displaying a class (or a metaclass) in the browser. It also changes the semantics of the "?" button slightly so that it switches to display the class definition if you press it while a method body or the method template is shown.
--
stp Stephen Travis Pope stp@create.ucsb.edu -- http://www.create.ucsb.edu/~stp
--------------BB3ECF8334C290EE3649998B Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="522A6368"; name="Browser-selectAll.cs" Content-Transfer-Encoding: 7bit Content-Description: Unknown Document Content-Disposition: inline; filename="Browser-selectAll.cs"
'From Squeak2.7alpha of 17 November 1999 [latest update: #1671] on 06 December 1999 at 5:51:43 am'!
!Browser methodsFor: 'class list' stamp: 'stp 12/06/1999 05:49'! classListIndex: anInteger "Set anInteger to be the index of the current class selection."
| className | classListIndex := anInteger. self setClassOrganizer. messageCategoryListIndex := 0. messageListIndex := 0. self classCommentIndicated ifTrue: [] ifFalse: [editSelection := anInteger = 0 ifTrue: [metaClassIndicated | (systemCategoryListIndex == 0) ifTrue: [#none] ifFalse: [#newClass]] ifFalse: [#editClass]]. contents := nil. self selectedClass isNil ifFalse: [className := self selectedClass name. (RecentClasses includes: className) ifTrue: [RecentClasses remove: className]. RecentClasses addFirst: className. RecentClasses size > 16 ifTrue: [RecentClasses removeLast]]. self changed: #classSelectionChanged. self changed: #classListIndex. "update my selection" self changed: #messageCategoryList. "STP -- Select the 'all' protocol by default" classListIndex = 0 ifFalse: [self messageCategoryListIndex: 1] ifTrue: [self changed: #messageList. self changed: #contents]! !
!Browser methodsFor: 'metaclass' stamp: 'stp 12/06/1999 05:49'! metaClassIndicated: trueOrFalse "Indicate whether browsing instance or class messages."
metaClassIndicated := trueOrFalse. self setClassOrganizer. systemCategoryListIndex > 0 ifTrue: [editSelection := classListIndex = 0 ifTrue: [metaClassIndicated ifTrue: [#none] ifFalse: [#newClass]] ifFalse: [#editClass]]. messageCategoryListIndex := 0. messageListIndex := 0. contents := nil. self changed: #classSelectionChanged. self changed: #messageCategoryList. self changed: #messageList. self changed: #contents. "STP -- Select the 'all' protocol by default" classListIndex = 0 ifFalse: [self messageCategoryListIndex: 1] ifTrue: [self changed: #messageList. self changed: #contents]! !
!Browser methodsFor: 'class functions' stamp: 'stp 12/06/1999 08:47'! plusButtonHit "Cycle between definition, comment, and hierachy"
editSelection == #editComment ifTrue: [self hierarchy. ^ self]. (#(hierarchy editMessage newMessage) includes: editSelection) ifTrue: [editSelection := #editClass. classListIndex = 0 ifTrue: [^ self]. self okToChange ifFalse: [^ self]. self changed: #editComment. self contentsChanged. ^self]. classListIndex = 0 ifTrue: [^ self]. self okToChange ifFalse: [^ self]. self messageCategoryListIndex: 0. editSelection := #editComment. self changed: #classSelectionChanged. self contentsChanged.! !
--------------BB3ECF8334C290EE3649998B--
squeak-dev@lists.squeakfoundation.org