The Trunk: Tools-cmm.168.mcz

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

The Trunk: Tools-cmm.168.mcz

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

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

Name: Tools-cmm.168
Author: cmm
Time: 5 February 2010, 2:09:18.157 pm
UUID: 79f6d5a1-ac45-4d5d-92fd-ff9fe85eec5a
Ancestors: Tools-nice.167

- Integrated two additional MessageSet filtering options from Diego Gomez Deck.  Very useful, at times.

=============== Diff against Tools-nice.167 ===============

Item was added:
+ ----- Method: MessageSet>>filterToPackage (in category 'filtering') -----
+ filterToPackage
+
+ | packages packageMenu selectedIndex selectedPackage |
+
+ packages := (PackageOrganizer default packages asSortedCollection: [ :a :b | a packageName <= b packageName ]) asOrderedCollection.
+
+ packageMenu := PopUpMenu labelArray: (packages collect:[:each | each packageName]).
+
+ selectedIndex := packageMenu startUpWithCaption: 'Select a package...'.
+ selectedIndex isZero ifTrue:[^ self].
+
+ selectedPackage := packages at: selectedIndex.
+ self filterFrom: [:aClass :aSelector | selectedPackage includesMethod: aSelector ofClass: aClass ]
+ !

Item was added:
+ ----- Method: MessageSet>>filterToMatchingClassesNames (in category 'filtering') -----
+ filterToMatchingClassesNames
+
+ | reply |
+
+ reply := FillInTheBlank
+ request: 'Type the string to match'
+ initialAnswer: 'ClassName*'
+ centerAt: Sensor cursorPoint.
+ reply isEmptyOrNil ifTrue: [^ self].
+
+ self filterFrom: [:aClass :aSelector | reply match: aClass name asString]
+ !

Item was changed:
  ----- Method: MessageSet>>filterMessageList (in category 'filtering') -----
  filterMessageList
  "Allow the user to refine the list of messages."
 
  | aMenu evt |
  Smalltalk isMorphic ifFalse: [^ self inform: 'sorry, morphic only at this time.'].
  messageList size <= 1 ifTrue: [^ self inform: 'this is not a propitious filtering situation'].
 
  "would like to get the evt coming in but thwarted by the setInvokingView: circumlocution"
  evt := self currentWorld activeHand lastEvent.
  aMenu := MenuMorph new defaultTarget: self.
  aMenu addTitle: 'Filter by only showing...'.
  aMenu addStayUpItem.
 
  aMenu addList: #(
  ('unsent messages' filterToUnsentMessages 'filter to show only messages that have no senders')
  -
  ('messages that send...' filterToSendersOf 'filter to show only messages that send a selector I specify')
  ('messages that do not send...' filterToNotSendersOf 'filter to show only messages that do not send a selector I specify')
  -
  ('messages whose selector is...' filterToImplementorsOf 'filter to show only messages with a given selector I specify')
  ('messages whose selector is NOT...' filterToNotImplementorsOf 'filter to show only messages whose selector is NOT a seletor I specify')
  -
  ('messages in current change set' filterToCurrentChangeSet 'filter to show only messages that are in the current change set')
  ('messages not in current change set' filterToNotCurrentChangeSet 'filter to show only messages that are not in the current change set')
  -
  ('messages in any change set' filterToAnyChangeSet 'filter to show only messages that occur in at least one change set')
  ('messages not in any change set' filterToNotAnyChangeSet 'filter to show only messages that do not occur in any change set in the system')
  -
  ('messages authored by me' filterToCurrentAuthor 'filter to show only messages whose authoring stamp has my initials')
  ('messages not authored by me' filterToNotCurrentAuthor 'filter to show only messages whose authoring stamp does not have my initials')
  -
  ('messages logged in .changes file' filterToMessagesInChangesFile 'filter to show only messages whose latest source code is logged in the .changes file')
  ('messages only in .sources file' filterToMessagesInSourcesFile 'filter to show only messages whose latest source code is logged in the .sources file')
  -
  ('messages with prior versions' filterToMessagesWithPriorVersions 'filter to show only messages that have at least one prior version')
  ('messages without prior versions' filterToMessagesWithoutPriorVersions 'filter to show only messages that have no prior versions')
  -
  ('uncommented messages' filterToUncommentedMethods 'filter to show only messages that do not have comments at the beginning')
  ('commented messages' filterToCommentedMethods 'fileter to show only messages that have comments at the beginning')
  -
+ ('messages in hardened classes' filterToMessagesWithHardenedClasses 'filter to show only messages of established classes (as opposed to Uniclasses such as Player23)') -
+ ('methods in clases with matching names' filterToMatchingClassesNames 'filter to show only methods of classes with names that match the given criteria (wildcards are allowed)')
+ ('methods in package...' filterToPackage 'filter to show only methods of a given package')
- ('messages in hardened classes' filterToMessagesWithHardenedClasses 'filter to show only messages of established classes (as opposed to Uniclasses such as Player23)')
  -
  ('messages that...' filterToMessagesThat 'let me type in a block taking a class and a selector, which will specify yea or nay concerning which elements should remain in the list')
  ).
 
  aMenu popUpEvent: evt hand lastEvent in: evt hand world.!