SystemBrowser
Last updated at 4:58 pm UTC on 5 March 2019
This is the AppRegistry class for class browsing
SystemBrowser default openBrowser
In the top left pane it shows the class categories.
The system browser is the classic Browser in Squeak.
https://tech.labs.oliverwyman.com/blog/2011/03/29/the-anatomy-of-a-browser/
The Model uses ToolBuilder to abstract the particulars of the UI. In particular, ToolBuilder defines views in a fairly declarative manner:
buildMessageListWith: builder
| listSpec |
listSpec := builder pluggableListSpec new.
listSpec
model: self;
list: #messageList;
getIndex: #messageListIndex;
setIndex: #messageListIndex:;
menu: #messageListMenu:shifted:;
keyPress: #messageListKey:from:.
Preferences browseWithDragNDrop
ifTrue:[listSpec dragItem: #dragFromMessageList:].
^listSpec
You can see how ToolBuilder tells the UI how to call into the Model. Given a spec, ToolBuilder will then construct the View for you in whichever UI framework you use. (As usual, a lot more time goes into writing the framework than into writing documentation. The best place to see examples is in your Squeak image. A good place to start is looking at implementors of #buildWith:.