Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
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.