HelpBrowser implementation notes
Last updated at 8:09 am UTC on 30 August 2019
The HelpBrowser has been included in trunk in May 2010 (Squeak 4.1)
HelpBrowser openOn: aHelpTopic
calls (with the option of an indirection), but the regular case is
HelpBrowser new rootTopic: aHelpTopic; open
Then in #open the ToolBuilder comes into action
^ ToolBuilder open: self
Then the main ToolBuilder method for building the HelpBrowser is
buildWith: builder
| windowSpec |
windowSpec := self buildWindowWith: builder.
windowSpec children
add: (self buildSearchWith: builder);
add: (self buildTreeWith: builder);
add: ( (rootTopic notNil and:[
rootTopic usesCodeStyling])
ifTrue:[self buildCodeContentsWith: builder]
ifFalse:[self buildContentsWith: builder]).
^ builder build: windowSpec
The instance variables are
Model subclass: #HelpBrowser
instanceVariableNames: 'rootTopic currentTopic currentParentTopic result
searchTopic topicPath
toplevelTopics oldTopic topicContentsSelection isUpdating'
classVariableNames: 'DefaultHelpBrowser'
poolDictionaries: ''
category: 'HelpSystem-Core-UI'
Elaborate the following:
That's a good idea. And of course there is
Installer openHelpBrowser
which feeds some basic things into a help browser, and might motivate
us to improve our class and method comments to give the help browser
something more useful to display.