[squeak-dev] Removing from MessageSet browsers, re: Tools-ul.687

Levente Uzonyi leves at caesar.elte.hu
Thu Apr 7 22:40:10 UTC 2016


Hi Jakob,

What you're looking for is the "filter message list..." menu item. 
Unfortunately it's on the second page of the menu and it's a bit more 
cumbersome to use than the envisioned "filter out this message" menu item.
Perhaps we should add that.

Levente

On Fri, 8 Apr 2016, Jakob Reschke wrote:

> Hi,
>
> would anybody else be interested in key mappings for "remove from this
> browser" in MessageSet/MessageTrace browsers (cyan by default with
> colorful windows), i.e. to only remove a method from the displayed set
> instead of removing the method from its class?
>
> Use case/user story: when exploring a system, I repeatedly invoke
> senders/implementors which collects me lots of methods in such a
> browser. In order to keep an overview of the control flow I would like
> to tidy that up by removing unrelated matches (methods with equal
> names from unrelated classes). But currently that is tedious, because
> you have to go through the 2nd level ("more...") context menu for
> every single method to be thus removed.
>
> Best regards,
> Jakob
>
> 2016-04-07 22:04 GMT+02:00 commits at source.squeak.org
> <commits at source.squeak.org>:
>> Levente Uzonyi uploaded a new version of Tools to project The Trunk:
>> http://source.squeak.org/trunk/Tools-ul.687.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Tools-ul.687
>> Author: ul
>> Time: 7 April 2016, 11:04:02.506276 pm
>> UUID: 2d6efa2b-2716-439f-8c7e-e351e2e37883
>> Ancestors: Tools-ul.686
>>
>> - removed the hard dependency on HelpBrowser
>> - all browser panels respond to Cmd+x with the same behavior: remove
>>
>> =============== Diff against Tools-ul.686 ===============
>>
>> Item was changed:
>>   ----- Method: Browser>>browseAllCommentsForClass (in category 'message functions') -----
>>   browseAllCommentsForClass
>>         "Opens a HelpBrowser on the class"
>>
>>         | myClass |
>> +       myClass := self selectedClassOrMetaClass ifNil: [ ^self ].
>> +       myClass isTrait ifTrue: [ ^self ].
>> +       (Smalltalk classNamed: #HelpBrowser)
>> +               ifNil: [ ^self inform: 'HelpBrowser is not available.' ]
>> +               ifNotNil: [ :HelpBrowser |
>> +                       HelpBrowser openOn: myClass theNonMetaClass ]
>> -       ((myClass := self selectedClassOrMetaClass) isNil or: [myClass isTrait])
>> -               ifFalse: [HelpBrowser openOn: myClass theNonMetaClass]
>>   !
>>
>> Item was changed:
>>   ----- Method: Browser>>buildMessageCategoryListWith: (in category 'toolbuilder') -----
>>   buildMessageCategoryListWith: builder
>>         | listSpec |
>>         listSpec := builder pluggableListSpec new.
>>         listSpec
>>                 model: self;
>>                 list: #messageCategoryList;
>>                 getIndex: #messageCategoryListIndex;
>>                 setIndex: #messageCategoryListIndex:;
>>                 menu: #messageCategoryMenu:;
>> +               keyPress: #messageCategoryListKey:from:.
>> -               keyPress: #arrowKey:from:.
>>         SystemBrowser browseWithDragNDrop ifTrue:[
>>                 listSpec
>>                         dropAccept: #wantsMessageCategoriesDrop:;
>>                         dropItem: #dropOnMessageCategories:at:].
>>         ^listSpec
>>   !
>>
>> Item was changed:
>>   ----- Method: Browser>>mainMessageCategoryMenu: (in category 'message category functions') -----
>>   mainMessageCategoryMenu: aMenu
>>         <messageCategoryMenu>
>>         ^ aMenu addList: #(
>>                         ('browse'                                               buildMessageCategoryBrowser)
>>                         ('print out'                                            printOutMessageCategories)
>>                         ('file out'                                             fileOutMessageCategories)
>>                         -
>>                         ('reorganize'                                   editMessageCategories)
>>                         ('alphabetize'                                  alphabetizeMessageCategories)
>>                         ('remove empty categories'      removeEmptyCategories)
>>                         ('categorize all uncategorized' categorizeAllUncategorizedMethods)
>>                         ('new category...'                              addCategory)
>>                         -
>>                         ('rename...'                                            renameCategory)
>> +                       ('remove (x)'                                   removeMessageCategory));
>> -                       ('remove'                                               removeMessageCategory));
>>                 yourself
>>   !
>>
>> Item was changed:
>>   ----- Method: Browser>>mainSystemCategoryMenu: (in category 'system category functions') -----
>>   mainSystemCategoryMenu: aMenu
>>         <systemCategoryMenu>
>>         ^ aMenu addList: #(
>>                         ('find class... (f)'                    findClass)
>>                         ('back... (b)'                          recent)
>>                         -
>>                         ('browse all'                   browseAllClasses)
>>                         ('browse'                               buildSystemCategoryBrowser)
>>                         -
>>                         ('printOut'                             printOutSystemCategory)
>>                         ('fileOut'                              fileOutSystemCategory)
>>                         -
>>                         ('reorganize'                   editSystemCategories)
>>                         ('alphabetize'                  alphabetizeSystemCategories)
>>                         -
>>                         ('update'                               updateSystemCategories)
>>                         ('add item...'                          addSystemCategory)
>>                         ('rename...'                            renameSystemCategory)
>> +                       ('remove (x)'                   removeSystemCategory));
>> -                       ('remove'                               removeSystemCategory));
>>                 yourself
>>   !
>>
>> Item was added:
>> + ----- Method: Browser>>messageCategoryListKey:from: (in category 'message category list') -----
>> + messageCategoryListKey: aCharacter from: view
>> +
>> +       aCharacter == $x ifTrue: [ ^self removeMessageCategory ].
>> +       ^self arrowKey: aCharacter from: view
>> +       !
>>
>>
>
>


More information about the Squeak-dev mailing list