[Pkg] The Trunk: Tools-mt.589.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Apr 14 11:45:40 UTC 2015
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.589.mcz
==================== Summary ====================
Name: Tools-mt.589
Author: mt
Time: 14 April 2015, 1:45:01.137 pm
UUID: e40f6b35-2f6c-e84b-8c4b-cacc6cec64dc
Ancestors: Tools-topa.588
Fixed missing update of changed class definitions in system browsers (and their subclasses).
=============== Diff against Tools-topa.588 ===============
Item was changed:
CodeHolder subclass: #Browser
+ instanceVariableNames: 'environment systemOrganizer classOrganizer metaClassOrganizer editSelection metaClassIndicated selectedSystemCategory selectedClassName selectedMessageName selectedMessageCategoryName classDefinition metaClassDefinition'
- instanceVariableNames: 'environment systemOrganizer classOrganizer metaClassOrganizer editSelection metaClassIndicated selectedSystemCategory selectedClassName selectedMessageName selectedMessageCategoryName'
classVariableNames: 'ListClassesHierarchically RecentClasses ShowClassIcons ShowMessageIcons SortMessageCategoriesAlphabetically'
poolDictionaries: ''
category: 'Tools-Browser'!
!Browser commentStamp: 'cwp 12/27/2012 11:09' prior: 0!
I represent a query path into the class descriptions, the software of the system.!
Item was added:
+ ----- Method: Browser>>classDefinitionIndicated (in category 'metaclass') -----
+ classDefinitionIndicated
+
+ ^ editSelection == #editClass
+ !
Item was added:
+ ----- Method: Browser>>didCodeChangeElsewhere (in category 'self-updating') -----
+ didCodeChangeElsewhere
+
+ ^ super didCodeChangeElsewhere or: [self classDefinitionIndicated
+ and: [self metaClassIndicated
+ ifFalse: [classDefinition ~= self selectedClass definition]
+ ifTrue: [metaClassDefinition ~= self selectedClass classSide definition]]]!
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.
+ self setClassDefinition.
"Try to reselect the category and/or selector if the new class has them."
selectedMessageCategoryName :=(self messageCategoryList includes: currentMessageCategoryName)
ifTrue: [currentMessageCategoryName]
ifFalse: [nil].
selectedMessageName := (self messageList includes: currentMessageName)
ifTrue: [currentMessageName]
ifFalse: [nil].
self hasMessageSelected ifTrue:
[self editSelection: #editMessage] ifFalse:
[self hasMessageCategorySelected ifTrue:
[self editSelection: #newMessage] ifFalse:
[self classCommentIndicated
ifTrue: [self editSelection: #editComment]
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 added:
+ ----- Method: Browser>>setClassDefinition (in category 'metaclass') -----
+ setClassDefinition
+ "Remember the current class definition."
+
+ | theClass |
+ classDefinition := nil.
+ metaClassDefinition := nil.
+ self hasClassSelected ifFalse: [^ self].
+ theClass := self selectedClass ifNil: [ ^self ].
+ classDefinition := theClass definition.
+ metaClassDefinition := theClass classSide definition.!
More information about the Packages
mailing list