[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
|