[squeak-dev] The Inbox: Tools-fbs.351.mcz

Levente Uzonyi leves at elte.hu
Sat May 7 11:16:15 UTC 2011


On Sat, 7 May 2011, commits at source.squeak.org wrote:

> A new version of Tools was added to project The Inbox:
> http://source.squeak.org/inbox/Tools-fbs.351.mcz
>
> ==================== Summary ====================
>
> Name: Tools-fbs.351
> Author: fbs
> Time: 7 May 2011, 12:04:55.937 pm
> UUID: 52ff5302-b408-f74f-bf01-d6f8b9bff9a8
> Ancestors: Tools-fbs.350, Tools-fbs.349
>
> Remerge Tools-fbs.349.

I think we should fix the update process before merging.


Levente

>
> =============== Diff against Tools-fbs.350 ===============
>
> Item was changed:
>  CodeHolder subclass: #DependencyBrowser
>  	instanceVariableNames: 'packageList packageDeps classDeps classList messageList packageListIndex packageDepsIndex classDepsIndex classListIndex messageListIndex'
>  	classVariableNames: ''
>  	poolDictionaries: ''
>  	category: 'Tools-Browser'!
>
> + !DependencyBrowser commentStamp: 'fbs 5/6/2011 11:29' prior: 0!
> - !DependencyBrowser commentStamp: 'ar 3/2/2010 22:19' prior: 0!
>  A simple dependency browser showing five panes:
>  [1]: Packages: The list of available packages in the system.
>  [2]: Package Dependencies: The dependent packages of the currently selected package.
>  [3]: Class Dependencies: The classes causing the dependencies.
>  [4]: Class List: The classes introducing the dependencies.
> + [5]: Messages: The messages introducing the dependencies.!
> - [5]: Messages: The messages introducing the dependencies.
> - !
>
> Item was changed:
>  ----- Method: DependencyBrowser>>classDeps (in category 'class deps') -----
>  classDeps
>  	"Class dependencies for the currently selected package"
> + 	packageDeps ifNil: [^ #()].
> + 	^ (packageDeps at: self packageDepsSelection ifAbsent:[#()]) sort.
> + !
> - 	^(packageDeps at: self packageDepsSelection ifAbsent:[#()]) sort!
>
> Item was changed:
>  ----- Method: DependencyBrowser>>classList (in category 'class list') -----
>  classList
>  	"List of classes that refer to dependencies"
> + 	classDeps ifNil: [^ #()].
> +
> + 	"classList stores the actual classes displayed in my class list, corresponding to the collection of Strings returned by self classList. This allows us to unambiguously determine the class or metaclass currently being browsed simply by knowing the index of the selected class."
> + 	classList := ((classDeps at: self classDepsSelection ifAbsent:[#()])
> + 		collect:[:mref| mref actualClass] as: Set) asArray sort: [:a :b | a name < b name].
> +
> + 	^ classList collect: #name.!
> - 	^((classDeps at: self classDepsSelection ifAbsent:[#()])
> - 		collect:[:mref| mref classSymbol] as: Set) asArray sort!
>
> Item was added:
> + ----- Method: DependencyBrowser>>hasPackageSelected (in category 'package list') -----
> + hasPackageSelected
> + 	^ packageListIndex > 0.!
>
> Item was added:
> + ----- Method: DependencyBrowser>>initialize (in category 'initialize-release') -----
> + initialize
> + 	super initialize.
> + 	packageListIndex := 0.
> + 	packageDepsIndex := 0.
> + 	classDepsIndex := 0.
> + 	classListIndex := 0.
> + 	messageListIndex := 0.!
>
> Item was changed:
>  ----- Method: DependencyBrowser>>messageList (in category 'message list') -----
>  messageList
>  	"List of messages creating dependencies"
>  	| selectedClass |
> + 	classDeps ifNil: [^ #()].
> +
>  	selectedClass := self classListSelection.
>  	^((classDeps at: self classDepsSelection ifAbsent:[#()])
> + 		select:[:each| each actualClass name = selectedClass]
> - 		select:[:each| each classSymbol = selectedClass]
>  		thenCollect:[:mref| mref methodSymbol]) asArray sort!
>
> Item was added:
> + ----- Method: DependencyBrowser>>selectedClass (in category 'class list') -----
> + selectedClass
> + 	"Answer the class that is currently selected. Answer nil if no selection
> + 	exists."
> +
> + 	| name envt |
> + 	(name := self selectedClassName) ifNil: [^ nil].
> + 	(envt := self selectedEnvironment) ifNil: [^ nil].
> + 	^ envt at: name ifAbsent: [nil]!
>
> Item was added:
> + ----- Method: DependencyBrowser>>selectedClassName (in category 'class list') -----
> + selectedClassName
> + 	| idx |
> + 	idx := classListIndex ifNil: [0].
> + 	^ self classList ifNotNil: [ :l | l at: idx ifAbsent: [nil]]!
>
> Item was added:
> + ----- Method: DependencyBrowser>>selectedClassOrMetaClass (in category 'class list') -----
> + selectedClassOrMetaClass
> + 	"Answer the class or metaclass that is currently selected. Answer nil if no selection
> + 	exists."
> + 	classList ifNil: [^nil].
> + 	^ classList at: classListIndex ifAbsent: [nil].!
>
> Item was added:
> + ----- Method: DependencyBrowser>>selectedEnvironment (in category 'accessing') -----
> + selectedEnvironment
> + 	"Answer the name of the selected package or nil."
> +
> + 	self hasPackageSelected ifFalse: [^nil].
> + 	^ Smalltalk!
>
> Item was added:
> + ----- Method: DependencyBrowser>>selectedMessageName (in category 'message list') -----
> + selectedMessageName
> + 	^ self messageList at: messageListIndex ifAbsent: [nil]!
>
> Item was changed:
>  ----- Method: StringHolder>>browseMethodFull (in category '*Tools') -----
>  browseMethodFull
>  	"Create and schedule a full Browser and then select the current class and message."
>
>  	| myClass |
> + 	^ (myClass := self selectedClassOrMetaClass) ifNotNil:
> - 	(myClass := self selectedClassOrMetaClass) ifNotNil:
>  		[Browser fullOnClass: myClass selector: self selectedMessageName]!
>
>
>



More information about the Squeak-dev mailing list