Three Pane Selectors Browser
Last published: October 22, 2018 by 'jkott'
Defines 2 Classes
Extends 7 Classes
This parcel enhances
'Implementors for Selector...' / 'Implementors Matching...'
'Senders for Selector...' / 'References to Symbol...'
Instead of a single dialog that prompts for a selector and shows you the first match, this package opens up a three pane browser. As you change the selector-matching pattern in the text field, the browser changes the list of matching selectors in the pane below it. Clicking on one or more of them (the list is multiselect) shows the implementors of these selector(s), or the senders of them: buttons let you change the implementors/senders mode.
There is a settings page for this tool; expand the 'Browser' settings tree to see it. Change the appropriate setting to make the three-pane browser:
- show matching selectors in a drop-down combobox instead of a list.
- create new tabs in the existing window instead of spawning new windows (for which you must have RBTabbedToolsets loaded)
- If you create views (which will appear in tabs if RBTabbedToolsets is loaded, otherwise as menu items in the view menu) these are relative to the current selections in the leftmost panes; changing the selections will change the underlying environment that is shared between all views. If items selected in a view are no longer in the environment, the view will change to 'nothing selected' when it is clicked on. A later version may move the criteria to a state subclass or other non-shared location..
- The tool uses the same selector matching block for implementors and senders, so may show unimplemented symbols in the lower-left pane when implementor mode is selected. A later version may extend implementors/senders to implementors/sent methods/referenced symbols.
Revised for VW7.7: Niall Ross, September 2009.
Authors: Steve Aldred, Michael Lucas-Smith and Thomas Brodt
Thanks for patches from: Holger Kleinsorgen, Anthony Boris
Date: December 11th, 2005