Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
CustomHelp
Last updated at 10:15 am UTC on 31 August 2020
 Object subclass: #CustomHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'HelpSystem-Core-Utilities'


This is a common superclass for custom help. Some CustomHelp subclasses are provided with the release image. To create a custom help book for your application you need to create a subclass of CustomHelp.

Code snippets included in CustomHelp topics may be evaluated as in a Workspace. This allows you to include executable content in the help topics, e.g. have recipes how to do something with executable steps.

The subclasses of CustomHelp are automatically included into the system help.

By default the information provided (in class methods) on the receiver class are converted into help topics by a specific builder, the CustomHelpHelpBuilder. Note that you can provide your own custom builder by overriding the #builder method

Example


Define a subclass
 CustomHelp subclass: #PdicDesignInteractionObjects
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Add-Ons-DevJournalPdic'

and provide for bookname and pages.

The help topic appears in the main help topics tree.

You may also directly open it in a workspace with

 HelpBrowser openOn: PdicDesignInteractionObjects




Class hierarchy in Squeak 4.6

 CustomHelp printHierarchy '
 ProtoObject #()
 	Object #()
 
 		CustomHelp #()
 			HelpOnHelp #()
 				HelpAPIDocumentation #()
 				HelpHowToHelpTopics #()
 					HelpHowToHelpTopicsFromCode #()
 			SWikiHelp #()
 			SqueakHelp #()
 				SqueakProjectHelp #()
 					SqueakLicenseHelp #()
 				SqueakToolsHelp #()
 					SqueakToolsDebuggerHelp #()
 					SqueakToolsTranscriptHelp #()
 					SqueakToolsWorkspaceHelp #()
 				SqueakTutorials #()
 					SqueakTutorialsCommandKey #()
 					SqueakTutorialsOnImage #()
 					SqueakTutorialsOnXML #()
 			TerseGuideHelp #()
 			WebClientHelp #()
 				WebClientReference #()
 			WebServerHelp #()
 				WebServerReference #()'