[squeak-dev] How do I generate CustomHelp method stubs?

Marcel Taeumel marcel.taeumel at hpi.de
Mon Oct 16 11:07:21 UTC 2017


Hi Hannes.

The code generation happens in CustomHelp class >> #accept:title:contents:, which is triggerd via CustomHelp class >> #edit:.

Note that "CustomHelp" represents your domain model while all subclasses of "AbstractHelpTopic" represent the help browser's tool model. By default, CustomHelp uses ClassBasedHelpTopic for data interpretation. Other examples such as SWikiHelp and EnvironmentsAPIDocumentation override #asHelpTopic to use more convenient ways to generate the tool model. Take a look at the category "HelpSystem-Core-Model" to get an overview of the possibilities: class-based, directory-based, file-based, html-based, package-based, ... The "SearchTopic" is used for searching through all active help topics in a certain help browser.

Note that there is not "one" help browser in Squeak but "a" help browser that shows a certain amount of help topics. I think you can open a rather "complete" help browser via HelpBrowser class >> #open and a "specific" one via HelpBrowser class >> #openOn:. For advanced API usage see ReleaseBuilder class >> #openWelcomeWorkspacesWith:.

Best,
Marcel
Am 16.10.2017 12:17:23 schrieb H. Hirzel <hannes.hirzel at gmail.com>:
Hello

How do I generate CustomHelp method stubs?

The HelpBrowser you get when you choose menu 'Help' / 'HelpBrowser'
[1] automatically includes all help specified as subclasses of
CustomHelp [2].

A typical help method is

SqueakCorePackagesHelp>>
collections
"This method was automatically generated. Edit it using:"
"SqueakCorePackagesHelp edit: #collections"
.....
[3]


How do I generate the method stubs for

CustomHelp subclass: #MyPackageHelp
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyPackage'


Kind regards
Hannes


------------------------------------------------------------------------

[1] The menu entry calls
HelpBrowser open



------------------------------------------------------------------------

[2] CustomHelp printHierarchy '
ProtoObject #()
Object #()

CustomHelp #()
EnvironmentsHelp #()
EnvironmentsAPIDocumentation #()
HelpOnHelp #()
HelpAPIDocumentation #()
HelpHowToHelpTopics #()
HelpHowToHelpTopicsFromCode #()
SWikiHelp #()
SqueakCorePackagesHelp #()
SqueakFurtherCorePackagesHelp #()
SqueakUsefulCorePackagesHelp #()
SqueakHelp #()
SqueakProjectHelp #()
SqueakLicenseHelp #()
SqueakReleaseNotes #()
SqueakToolsHelp #()
SqueakToolsDebuggerHelp #()
SqueakToolsTranscriptHelp #()
SqueakToolsWorkspaceHelp #()
SqueakTutorials #()
SqueakTutorialsCommandKey #()
SqueakTutorialsOnImage #()
SqueakTutorialsOnXML #()
TerseGuideHelp #()
WebClientHelp #()
WebClientReference #()
WebServerHelp #()
WebServerReference #()'



------------------------------------------------------------------------



[3] SqueakCorePackagesHelp>>collections
"This method was automatically generated. Edit it using:"
"SqueakCorePackagesHelp edit: #collections"
^(HelpTopic
title: 'Collections'
contents:
'Everything related to working with multiple objects such as Array,
String (Collection of characters), Stream, Set, and Dictionary.!
]style[(60 5 2 6 29 6 2 3 6 10 1),dArray browse;;,,dString
browse;;,,dStream browse;;,,dSet browse;;,,dDictionary browse;;,!'
readStream nextChunkText)
key: #collections

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20171016/7a01d050/attachment.html>


More information about the Squeak-dev mailing list