The Trunk: Tools-cmm.608.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-cmm.608.mcz

commits-2
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@0 corner: 0.666@max) offsets: (0@0 corner: 0@0)) -> [self buildMessageCategoryListWith: builder].
  (LayoutFrame fractions: (0.666@0 corner: 1@max) offsets: (0@0 corner: 0@0)) -> [self buildMessageListWith: builder].
  (0@max corner: 1@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 ]!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Tools-cmm.608.mcz

marcel.taeumel (old)
Nice! :)

Best,
Marcel