[Pkg] The Trunk: Tools-fbs.318.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Apr 20 23:10:43 UTC 2011


Levente Uzonyi uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-fbs.318.mcz

==================== Summary ====================

Name: Tools-fbs.318
Author: fbs
Time: 17 March 2011, 7:28:08.538 am
UUID: c0488ba1-9ea1-3b46-993e-381a42af5afa
Ancestors: Tools-fbs.317

The start of removing messageListIndex: added the instvar, setting it in parallel with messageListIndex in places where we have tests.

=============== Diff against Tools-fbs.317 ===============

Item was changed:
  CodeHolder subclass: #Browser
+ 	instanceVariableNames: 'systemOrganizer classOrganizer metaClassOrganizer messageCategoryListIndex messageListIndex editSelection metaClassIndicated selectedSystemCategory selectedClassName selectedMessageName'
- 	instanceVariableNames: 'systemOrganizer classOrganizer metaClassOrganizer messageCategoryListIndex messageListIndex editSelection metaClassIndicated selectedSystemCategory selectedClassName'
  	classVariableNames: 'ListClassesHierarchically RecentClasses'
  	poolDictionaries: ''
  	category: 'Tools-Browser'!
  
  !Browser commentStamp: '<historical>' prior: 0!
  I represent a query path into the class descriptions, the software of the system.!

Item was changed:
  ----- Method: Browser>>buildMessageCategoryBrowserEditString: (in category 'message category functions') -----
  buildMessageCategoryBrowserEditString: aString 
  	"Create and schedule a message category browser for the currently 
  	selected	 message category. The initial text view contains the characters 
  	in aString."
  	"wod 6/24/1998: set newBrowser classListIndex so that it works whether the
  	receiver is a standard or a Hierarchy Browser."
  
  	| newBrowser |
+ 	^ self hasMessageCategorySelected
+ 		ifFalse: [ nil ]
- 	messageCategoryListIndex ~= 0
  		ifTrue: 
  			[newBrowser := Browser new.
  			newBrowser selectSystemCategory: self selectedSystemCategory.
  			newBrowser classListIndex: (newBrowser classList indexOf: self selectedClassName).
  			newBrowser metaClassIndicated: metaClassIndicated.
  			newBrowser messageCategoryListIndex: messageCategoryListIndex.
  			newBrowser messageListIndex: messageListIndex.
  			self class openBrowserView: (newBrowser openMessageCatEditString: aString)
  				label: 'Message Category Browser (' , 
+ 						newBrowser selectedClassOrMetaClassName , ')'.
+ 			newBrowser.].!
- 						newBrowser selectedClassOrMetaClassName , ')']!

Item was added:
+ ----- Method: Browser>>hasMessageSelected (in category 'message list') -----
+ hasMessageSelected
+ 	^ messageListIndex ~= 0.!

Item was changed:
  ----- Method: Browser>>messageCategoryListIndex: (in category 'message category list') -----
  messageCategoryListIndex: anInteger
  	"Set the selected message category to be the one indexed by anInteger."
  
  	messageCategoryListIndex := anInteger.
  	messageListIndex := 0.
+ 	selectedMessageName := nil.
  	self changed: #messageCategorySelectionChanged.
  	self changed: #messageCategoryListIndex. "update my selection"
  	self changed: #messageList.
  	self editSelection: (anInteger > 0
  		ifTrue: [#newMessage]
+ 		ifFalse: [self hasClassSelected
- 		ifFalse: [self classListIndex > 0
  			ifTrue: [#editClass]
  			ifFalse: [#newClass]]).
  	contents := nil.
  	self contentsChanged.!

Item was changed:
  ----- Method: Browser>>metaClassIndicated: (in category 'metaclass') -----
  metaClassIndicated: trueOrFalse 
  	"Indicate whether browsing instance or class messages."
  
  	metaClassIndicated := trueOrFalse.
  	self setClassOrganizer.
  	self hasSystemCategorySelected ifTrue:
  		[self editSelection: (self hasClassSelected
  			ifFalse: [metaClassIndicated
  				ifTrue: [#none]
  				ifFalse: [#newClass]]
  			ifTrue: [#editClass])].
  	messageCategoryListIndex := 0.
  	messageListIndex := 0.
+ 	selectedMessageName := nil.
  	contents := nil.
  	self changed: #classSelectionChanged.
  	self changed: #messageCategoryList.
  	self changed: #messageList.
  	self changed: #contents.
  	self changed: #annotation.
  	self decorateButtons
  !

Item was changed:
  ----- Method: Browser>>selectClassNamed: (in category 'class list') -----
  selectClassNamed: aSymbolOrString
  	| className currentMessageCategoryName currentMessageName |
  	currentMessageCategoryName := [self selectedMessageCategoryName]
  										on: Error
  										do: [:ex| ex return: nil].
  	currentMessageName := [self selectedMessageName]
  								on: Error
  								do: [:ex| ex return: nil].
  								
  	selectedClassName := aSymbolOrString ifNotNil: [ aSymbolOrString asSymbol ].
  	self setClassOrganizer.
  
  	"Try to reselect the category and/or selector if the new class has them."
  	messageCategoryListIndex := self messageCategoryList
  										indexOf: currentMessageCategoryName
  										ifAbsent: [0].
  	messageListIndex := messageCategoryListIndex = 0
  							ifTrue: [0]
  							ifFalse: [self messageList
  										indexOf: currentMessageName
  										ifAbsent: [0]].
  
+ 	self hasMessageSelected ifTrue:
- 	messageListIndex ~= 0 ifTrue:
  		[self editSelection: #editMessage] ifFalse:
  	[messageCategoryListIndex ~= 0 ifTrue:
  		[self editSelection: #newMessage] ifFalse:
  	[self classCommentIndicated
  		ifTrue: []
  		ifFalse: [self editSelection: (self hasClassSelected not
  					ifTrue: [(metaClassIndicated or: [ self hasSystemCategorySelected not ])
  						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: #classCommentText.
  	self changed: #classListIndex.	"update my selection"
  	self changed: #messageCategoryList.
  	self changed: #messageList.
  	self changed: #relabel.
  	self contentsChanged!

Item was changed:
  ----- Method: Browser>>systemOrganizer: (in category 'initialize-release') -----
  systemOrganizer: aSystemOrganizer
  	"Initialize the receiver as a perspective on the system organizer, 
  	aSystemOrganizer. Typically there is only one--the system variable 
  	SystemOrganization."
  	
  	contents := nil.
  	systemOrganizer := aSystemOrganizer.
  	selectedSystemCategory := nil.
  	selectedClassName := nil.
  	messageCategoryListIndex := 0.
  	messageListIndex := 0.
+ 	selectedMessageName := nil.
  	metaClassIndicated := false.
  	self setClassOrganizer.
  	self editSelection: #none.!



More information about the Packages mailing list