[squeak-dev] The Trunk: Tools-cmm.608.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Apr 26 22:44:53 UTC 2015


Chris Muller uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-cmm.608.mcz

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

Name: Tools-cmm.608
Author: cmm
Time: 26 April 2015, 5:44:25.062 pm
UUID: 129203a4-5952-41d2-ba4b-ef0ea4976aca
Ancestors: Tools-topa.607

- Just display the selected system category in the window title of HierarchyBrowsers, no need for the new #showSystemCategory preference afterall.  Good idea Marcel!
- Inspector:  do NOT send any messages to the object being inspected, not even printString, until the user says so.  Essential for database apps and proxy debugging.
- Fixed loss of indentation in MessageTraces after using the filtering function off the menu.

=============== Diff against Tools-topa.607 ===============

Item was changed:
  Browser subclass: #HierarchyBrowser
  	instanceVariableNames: 'classDisplayList centralClass'
+ 	classVariableNames: ''
- 	classVariableNames: 'ShowSystemCategory'
  	poolDictionaries: ''
  	category: 'Tools-Browser'!
  
  !HierarchyBrowser commentStamp: 'fbs 3/9/2011 12:02' prior: 0!
  I provide facilities to explore classes in the context of their subclass hierarchy.
  
  My classDisplayList instvar uses indentation to show the subclassing relationship between the displayed classes.
  !

Item was removed:
- ----- Method: HierarchyBrowser class>>showSystemCategory (in category 'preferences') -----
- showSystemCategory
- 	<preference: 'Show System-Category in Hierarchy Browsers'
- 		category: 'Morphic'
- 		description: 'When true, hierarchy browsers will include a widget which reports the system category.'
- 		type: #Boolean>
- 	^ ShowSystemCategory ifNil: [ true ]!

Item was removed:
- ----- Method: HierarchyBrowser class>>showSystemCategory: (in category 'preferences') -----
- showSystemCategory: aBoolean
- 	ShowSystemCategory := aBoolean!

Item was removed:
- ----- Method: HierarchyBrowser>>buildSystemCatListSingletonWith: (in category 'toolbuilder') -----
- buildSystemCatListSingletonWith: aToolBuilder 
- 	^ aToolBuilder pluggableInputFieldSpec new
- 		 model: self ;
- 		 getText: #selectedSystemCategoryName ;
- 		 setText: nil ;
- 		 yourself!

Item was changed:
  ----- Method: HierarchyBrowser>>defaultBrowserTitle (in category 'initialization') -----
  defaultBrowserTitle
+ 	^ self selectedSystemCategoryName ifNil: [ 'Hierarchy Browser' ]!
- 	^ 'Hierarchy Browser'!

Item was changed:
  ----- Method: HierarchyBrowser>>openSystemCatEditString: (in category 'toolbuilder') -----
  openSystemCatEditString: aString
  	"Create a pluggable version of all the views for a Browser, including views and controllers.  The top list view is of the currently selected system class category--a single item list."
  	"Example:
  		Browser new browseAllClasses.
  	"
  	| builder catPaneHeight max |
- 	self class showSystemCategory ifTrue: [ ^ super openSystemCatEditString: aString ].
  	catPaneHeight := Preferences standardListFont height + 5 "top margin/border" + 5 "bottom margin/border".
  	builder := ToolBuilder default.
  	max := self wantsOptionalButtons ifTrue:[0.32] ifFalse:[0.4].
  	^self buildWindowWith: builder specs: {
  		(self classListFrame: max fromTop: 0 fromLeft: 0 width: 0.333) -> [self buildClassListWith: builder].
  		(self switchesFrame: max fromLeft: 0 width: 0.333) -> [self buildSwitchesWith: builder].
  		(LayoutFrame fractions: (0.333 at 0 corner: 0.666 at max) offsets: (0 at 0 corner: 0 at 0)) -> [self buildMessageCategoryListWith: builder].
  		(LayoutFrame fractions: (0.666 at 0 corner: 1 at max) offsets: (0 at 0 corner: 0 at 0)) -> [self buildMessageListWith: builder].
  		(0 at max corner: 1 at 1) -> [self buildCodePaneWith: builder].
  	}!

Item was changed:
  ----- Method: Inspector>>helpText (in category 'accessing') -----
  helpText
+ 	^ 'evaluate expressions here'!
- 
- 	^ 'Evaluate expressions for ''{1}'' here...' format: {self object printStringLimitedTo: 20}!

Item was changed:
  ----- Method: MessageTrace>>filterFrom: (in category 'filtering') -----
+ filterFrom: aBlock 
- filterFrom: aBlock
  	"Filter the receiver's list down to only those items that satisfy aBlock, which takes a class an a selector as its arguments."
+ 	| newList newAutoSelectStrings newMessageSelections oldList |
+ 	oldList := Dictionary new.
+ 	messageList do: [ : each | oldList at: each put: each ].
- 	| newList newAutoSelectStrings newMessageSelections |
  	newList := messageList class new.
  	newAutoSelectStrings := autoSelectStrings class new.
  	newMessageSelections := messageSelections class new.
  	messageList withIndexDo:
+ 		[ : each : index | (self class
+ 			parse: each
+ 			toClassAndSelector: aBlock) ifTrue:
- 		[ :each :index |
- 		(self class parse: each toClassAndSelector: aBlock)
- 			ifTrue:
  				[ newList add: each.
  				newAutoSelectStrings add: (autoSelectStrings at: index).
  				newMessageSelections add: (messageSelections at: index) ] ].
+ 	(self setFilteredList: newList) ifTrue:
+ 		[ autoSelectStrings := newAutoSelectStrings.
+ 		messageList do:
+ 			[ : each | each stringVersion: (oldList at: each) stringVersion ] ]!
- 	(self setFilteredList: newList)
- 		ifTrue: [ autoSelectStrings := newAutoSelectStrings ]!



More information about the Squeak-dev mailing list