[squeak-dev] The Trunk: Tools-fbs.315.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Apr 20 23:08:52 UTC 2011


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

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

Name: Tools-fbs.315
Author: fbs
Time: 16 March 2011, 11:31:01.535 am
UUID: 4574d03d-deea-3d42-9a6e-180f40459116
Ancestors: Tools-fbs.314

Browser's classListIndex is no more.

=============== Diff against Tools-fbs.314 ===============

Item was changed:
  CodeHolder subclass: #Browser
+ 	instanceVariableNames: 'systemOrganizer classOrganizer metaClassOrganizer messageCategoryListIndex messageListIndex editSelection metaClassIndicated selectedSystemCategory selectedClassName'
- 	instanceVariableNames: 'systemOrganizer classOrganizer metaClassOrganizer classListIndex 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>>classListIndex (in category 'class list') -----
  classListIndex
  	"Answer the index of the current class selection."
  
+ 	^ self classListIndexOf: self selectedClassName.!
- 	^classListIndex!

Item was changed:
  ----- Method: Browser>>classListIndex: (in category 'class list') -----
  classListIndex: anInteger 
+ 	| newClassName |
+ 	newClassName := self classList at: anInteger ifAbsent: [ nil ].
+ 	newClassName := newClassName ifNotNil: [newClassName withoutLeadingBlanks asSymbol].
+ 	self selectClassNamed: newClassName.!
- 	"Set anInteger to be the index of the current class selection."
- 
- 	| className currentMessageCategoryName currentMessageName |
- 	currentMessageCategoryName := [self selectedMessageCategoryName]
- 										on: Error
- 										do: [:ex| ex return: nil].
- 	currentMessageName := [self selectedMessageName]
- 								on: Error
- 								do: [:ex| ex return: nil].
- 
- 	classListIndex := anInteger.
- 	selectedClassName := (self classList collect: [:each | each withoutLeadingBlanks]) at: classListIndex ifAbsent: [ nil ].
- 	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]].
- 
- 	messageListIndex ~= 0 ifTrue:
- 		[self editSelection: #editMessage] ifFalse:
- 	[messageCategoryListIndex ~= 0 ifTrue:
- 		[self editSelection: #newMessage] ifFalse:
- 	[self classCommentIndicated
- 		ifTrue: []
- 		ifFalse: [self editSelection: (anInteger = 0
- 					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>>renameCategory (in category 'message category functions') -----
  renameCategory
  	"Prompt for a new category name and add it before the
  	current selection, or at the end if no current selection"
  	| oldIndex oldName newName |
  	self hasClassSelected ifFalse: [^ self].
  	self okToChange ifFalse: [^ self].
  	(oldIndex := messageCategoryListIndex) = 0 ifTrue: [^ self].
  	oldName := self selectedMessageCategoryName.
  	newName := self
  		request: 'Please type new category name'
  		initialAnswer: oldName.
  	newName isEmpty
  		ifTrue: [^ self]
  		ifFalse: [newName := newName asSymbol].
  	newName = oldName ifTrue: [^ self].
  	self classOrMetaClassOrganizer
  		renameCategory: oldName
  		toBe: newName.
+ 	self selectClassNamed: selectedClassName.
- 	self classListIndex: classListIndex.
  	self messageCategoryListIndex: oldIndex.
  	self changed: #messageCategoryList.
  !

Item was changed:
  ----- Method: Browser>>selectClass: (in category 'class list') -----
  selectClass: classNotMeta
+ 	^ self selectClassNamed:
+ 		(classNotMeta
+ 			ifNil: [ nil ]
+ 			ifNotNil: [ classNotMeta name ]).!
- 	self selectClassNamed: classNotMeta name.!

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]].
+ 
+ 	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!
- 	aSymbolOrString
- 		ifNil: [ self classListIndex: 0 ]
- 		ifNotNil: [ self classListIndex: (self classListIndexOf: selectedClassName) ]!

Item was changed:
  ----- Method: Browser>>selectSystemCategory: (in category 'system category list') -----
  selectSystemCategory: aSymbol
  	"Set the selected system category. Update all other selections to be deselected."
  
  	selectedSystemCategory := aSymbol.
  	selectedClassName := nil.
- 	classListIndex := 0.
  	messageCategoryListIndex := 0.
  	messageListIndex := 0.
  	self editSelection: ( aSymbol isNil ifTrue: [#none] ifFalse: [#newClass]).
  	metaClassIndicated := false.
  	self setClassOrganizer.
  	contents := nil.
  	self changed: #systemCategorySelectionChanged.
  	self changed: #systemCategoryListIndex.	"update my selection"
  	self changed: #classList.
  	self changed: #messageCategoryList.
  	self changed: #messageList.
  	self changed: #relabel.
  	self contentsChanged!

Item was changed:
  ----- Method: Browser>>selectedClassName (in category 'class list') -----
  selectedClassName
+ 	^ selectedClassName.!
- "	^ selectedClassName."
- 	| className |
- 	self classList ifNil: [ ^ nil ].
- 	className := self classList
- 		at: classListIndex
- 		ifAbsent: [^ nil].
- 	self class listClassesHierarchically ifTrue: [
- 		className := className withoutLeadingBlanks asSymbol].
- 	^ className.!

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.
- 	classListIndex := 0.
  	messageCategoryListIndex := 0.
  	messageListIndex := 0.
  	metaClassIndicated := false.
  	self setClassOrganizer.
  	self editSelection: #none.!

Item was changed:
  ----- Method: Browser>>veryDeepInner: (in category 'copying') -----
  veryDeepInner: deepCopier
  	"Copy all of my instance variables.  Some need to be not copied at all, but shared.  See DeepCopier class comment."
  
  super veryDeepInner: deepCopier.
  "systemOrganizer := systemOrganizer. 	clone has the old value. we share it"
  "classOrganizer := classOrganizer		clone has the old value. we share it"
  "metaClassOrganizer 	:= metaClassOrganizer	clone has the old value. we share it"
  selectedSystemCategory := selectedSystemCategory veryDeepCopyWith: deepCopier.
  selectedClassName := selectedClassName veryDeepCopyWith: deepCopier.
- classListIndex := classListIndex veryDeepCopyWith: deepCopier.
  messageCategoryListIndex := messageCategoryListIndex veryDeepCopyWith: deepCopier.
  messageListIndex := messageListIndex veryDeepCopyWith: deepCopier.
  editSelection := editSelection veryDeepCopyWith: deepCopier.
  metaClassIndicated := metaClassIndicated veryDeepCopyWith: deepCopier.
  !

Item was changed:
  ----- Method: HierarchyBrowser>>initHierarchyForClass: (in category 'initialization') -----
  initHierarchyForClass: aClassOrMetaClass
  	| nonMetaClass |
  	centralClass := aClassOrMetaClass.
  	nonMetaClass := aClassOrMetaClass theNonMetaClass.
  	self systemOrganizer: SystemOrganization.
  	metaClassIndicated := aClassOrMetaClass isMeta.
  	classDisplayList := OrderedCollection new.
  	self
  		flattenHierarchyTree: (self createHierarchyTreeOf: (nonMetaClass allSuperclasses, { nonMetaClass }, nonMetaClass allSubclasses))
  		on: classDisplayList
  		indent: ''
  		by: '  '.
  
  	self selectClass: nonMetaClass.!

Item was added:
+ ----- Method: HierarchyBrowser>>selectClassNamed: (in category 'initialization') -----
+ selectClassNamed: aSymbolOrString
+ 	| newClassName |
+ 	newClassName := aSymbolOrString ifNotNil: [ aSymbolOrString asSymbol ].
+ 	selectedSystemCategory := (systemOrganizer categories at:
+ 			(systemOrganizer numberOfCategoryOfElement: newClassName) ifAbsent: [ nil ]).
+ 			
+ 	super selectClassNamed: newClassName.
+ 	self changed: #systemCategorySingleton.	
+ 	
+ 	^ newClassName.!




More information about the Squeak-dev mailing list