[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