]>
Commit | Line | Data |
---|---|---|
1 | % | |
2 | % automatically generated by HelpGen from | |
3 | % htmlhelp.h at 02/May/99 19:58:53 | |
4 | % | |
5 | ||
6 | \section{\class{wxHtmlHelpController}}\label{wxhtmlhelpcontroller} | |
7 | ||
8 | This help controller provides an easy way of displaying HTML help in your | |
9 | application (see {\it test} sample). The help system is based on {\bf books} | |
10 | (see \helpref{AddBook}{wxhtmlhelpcontrolleraddbook}). A book is a logical | |
11 | section of documentation (for example "User's Guide" or "Programmer's Guide" or | |
12 | "C++ Reference" or "wxWidgets Reference"). The help controller can handle as | |
13 | many books as you want. | |
14 | ||
15 | Although this class has an API compatible with other wxWidgets | |
16 | help controllers as documented by \helpref{wxHelpController}{wxhelpcontroller}, it | |
17 | is recommended that you use the enhanced capabilities of wxHtmlHelpController's API. | |
18 | ||
19 | wxHTML uses Microsoft's HTML Help Workshop project files (.hhp, .hhk, .hhc) as its | |
20 | native format. The file format is described \helpref{here}{helpformat}. | |
21 | Have a look at docs/html/ directory where sample project files are stored. | |
22 | ||
23 | You can use Tex2RTF to produce these files when generating HTML, if you set {\bf htmlWorkshopFiles} to {\bf true} in | |
24 | your tex2rtf.ini file. The commercial tool HelpBlocks (www.helpblocks.com) can also create these files. | |
25 | ||
26 | \wxheading{Note} | |
27 | ||
28 | It is strongly recommended to use preprocessed {\bf .hhp.cached} version of | |
29 | projects. It can be either created on-the-fly (see | |
30 | \helpref{SetTempDir}{wxhtmlhelpcontrollersettempdir}) or you can use | |
31 | {\bf hhp2cached} utility from {\it utils/hhp2cached} to create it and | |
32 | distribute the cached version together with helpfiles. See {\it samples/html/help} | |
33 | sample for demonstration of its use. | |
34 | ||
35 | \wxheading{See also} | |
36 | ||
37 | \helpref{Information about wxBestHelpController}{wxhelpcontroller}, | |
38 | \helpref{wxHtmlHelpFrame}{wxhtmlhelpframe}, | |
39 | \helpref{wxHtmlHelpDialog}{wxhtmlhelpdialog}, | |
40 | \helpref{wxHtmlHelpWindow}{wxhtmlhelpwindow}, | |
41 | \helpref{wxHtmlModalHelp}{wxhtmlmodalhelp} | |
42 | ||
43 | \wxheading{Derived from} | |
44 | ||
45 | wxHelpControllerBase | |
46 | ||
47 | \wxheading{Include files} | |
48 | ||
49 | <wx/html/helpctrl.h> | |
50 | ||
51 | \wxheading{Library} | |
52 | ||
53 | \helpref{wxHtml}{librarieslist} | |
54 | ||
55 | \latexignore{\rtfignore{\wxheading{Members}}} | |
56 | ||
57 | \membersection{wxHtmlHelpController::wxHtmlHelpController}\label{wxhtmlhelpcontrollerwxhtmlhelpcontroller} | |
58 | ||
59 | \func{}{wxHtmlHelpController}{\param{int }{style = wxHF\_DEFAULT\_STYLE}, \param{wxWindow* }{parentWindow = NULL}} | |
60 | ||
61 | Constructor. | |
62 | ||
63 | \wxheading{Parameters} | |
64 | ||
65 | {\it style} is a combination of these flags: | |
66 | ||
67 | \begin{twocollist}\itemsep=0pt | |
68 | \twocolitem{\windowstyle{wxHF\_TOOLBAR}}{The help window has a toolbar.} | |
69 | \twocolitem{\windowstyle{wxHF\_FLAT\_TOOLBAR}}{The help window has a toolbar with flat buttons (aka coolbar).} | |
70 | \twocolitem{\windowstyle{wxHF\_CONTENTS}}{The help window has a contents panel.} | |
71 | \twocolitem{\windowstyle{wxHF\_INDEX}}{The help window has an index panel.} | |
72 | \twocolitem{\windowstyle{wxHF\_SEARCH}}{The help window has a search panel.} | |
73 | \twocolitem{\windowstyle{wxHF\_BOOKMARKS}}{The help window has bookmarks controls.} | |
74 | \twocolitem{\windowstyle{wxHF\_OPEN\_FILES}}{Allows user to open arbitrary HTML document.} | |
75 | \twocolitem{\windowstyle{wxHF\_PRINT}}{The toolbar contains "print" button.} | |
76 | \twocolitem{\windowstyle{wxHF\_MERGE\_BOOKS}}{The contents pane does not show | |
77 | book nodes. All books are merged together and appear as single book to the | |
78 | user.} | |
79 | \twocolitem{\windowstyle{wxHF\_ICONS\_BOOK}}{All nodes in contents pane | |
80 | have a book icon. This is how Microsoft's HTML help viewer behaves.} | |
81 | \twocolitem{\windowstyle{wxHF\_ICONS\_FOLDER}}{Book nodes in contents pane have | |
82 | a book icon, book's sections have a folder icon. This is the default.} | |
83 | \twocolitem{\windowstyle{wxHF\_ICONS\_BOOK\_CHAPTER}}{Both book nodes and | |
84 | nodes of top-level sections of a book (i.e. chapters) have a book icon, | |
85 | all other sections (sections, subsections, ...) have a folder icon.} | |
86 | \twocolitem{\windowstyle{wxHF\_EMBEDDED}}{Specifies that the help controller controls an embedded window of class \helpref{wxHtmlHelpWindow}{wxhtmlhelpwindow} that | |
87 | should not be destroyed when the controller is destroyed.} | |
88 | \twocolitem{\windowstyle{wxHF\_DIALOG}}{Specifies that the help controller should create a dialog containing the help window.} | |
89 | \twocolitem{\windowstyle{wxHF\_FRAME}}{Specifies that the help controller should create a frame containing the help window. This is the default if neither wxHF\_DIALOG nor wxHF\_EMBEDDED is specified.} | |
90 | \twocolitem{\windowstyle{wxHF\_MODAL}}{Specifies that the help controller should create a modal dialog containing the help window (used with the wxHF\_DIALOG style).} | |
91 | \twocolitem{\windowstyle{wxHF\_DEFAULT\_STYLE}}{{\tt wxHF\_TOOLBAR | wxHF\_CONTENTS | |
92 | | wxHF\_INDEX | wxHF\_SEARCH | wxHF\_BOOKMARKS | wxHF\_PRINT}} | |
93 | \end{twocollist} | |
94 | ||
95 | {\it parentWindow} is an optional window to be used as the parent for the help window. | |
96 | ||
97 | \membersection{wxHtmlHelpController::AddBook}\label{wxhtmlhelpcontrolleraddbook} | |
98 | ||
99 | \func{bool}{AddBook}{\param{const wxFileName\& }{bookFile}, \param{bool }{showWaitMsg}} | |
100 | ||
101 | \func{bool}{AddBook}{\param{const wxString\& }{bookUrl}, \param{bool }{showWaitMsg}} | |
102 | ||
103 | Adds book (\helpref{.hhp file}{helpformat} - HTML Help Workshop project file) into the list of loaded books. | |
104 | This must be called at least once before displaying any help. | |
105 | ||
106 | {\it bookFile} or {\it bookUrl} may be either .hhp file or ZIP archive | |
107 | that contains arbitrary number of .hhp files in | |
108 | top-level directory. This ZIP archive must have .zip or .htb extension | |
109 | (the latter stands for "HTML book"). In other words, {\tt AddBook(wxFileName("help.zip"))} | |
110 | is possible and is the recommended way. | |
111 | ||
112 | \wxheading{Parameters} | |
113 | ||
114 | \docparam{showWaitMsg}{If true then a decoration-less window with progress message is displayed.} | |
115 | \docparam{bookFile}{Help book filename. It is recommended to use this prototype | |
116 | instead of the one taking URL, because it is less error-prone.} | |
117 | \docparam{bookUrl}{Help book URL (note that syntax of filename and URL is | |
118 | different on most platforms)} | |
119 | ||
120 | \wxheading{Note} | |
121 | ||
122 | Don't forget to install the archive wxFileSystem handler with | |
123 | {\tt wxFileSystem::AddHandler(new wxArchiveFSHandler);} before calling this method | |
124 | on a .zip or .htb file! | |
125 | ||
126 | \membersection{wxHtmlHelpController::CreateHelpDialog}\label{wxhtmlhelpcontrollercreatehelpdialog} | |
127 | ||
128 | \func{virtual wxHtmlHelpDialog*}{CreateHelpDialog}{\param{wxHtmlHelpData * }{data}} | |
129 | ||
130 | This protected virtual method may be overridden so that when specifying the wxHF\_DIALOG style, the controller | |
131 | uses a different dialog. | |
132 | ||
133 | \membersection{wxHtmlHelpController::CreateHelpFrame}\label{wxhtmlhelpcontrollercreatehelpframe} | |
134 | ||
135 | \func{virtual wxHtmlHelpFrame*}{CreateHelpFrame}{\param{wxHtmlHelpData * }{data}} | |
136 | ||
137 | This protected virtual method may be overridden so that the controller | |
138 | uses a different frame. | |
139 | ||
140 | \membersection{wxHtmlHelpController::Display}\label{wxhtmlhelpcontrollerdisplay} | |
141 | ||
142 | \func{void}{Display}{\param{const wxString\& }{x}} | |
143 | ||
144 | Displays page {\it x}. This is THE important function - it is used to display | |
145 | the help in application. | |
146 | ||
147 | You can specify the page in many ways: | |
148 | ||
149 | \begin{itemize}\itemsep=0pt | |
150 | \item as direct filename of HTML document | |
151 | \item as chapter name (from contents) or as a book name | |
152 | \item as some word from index | |
153 | \item even as any word (will be searched) | |
154 | \end{itemize} | |
155 | ||
156 | Looking for the page runs in these steps: | |
157 | ||
158 | \begin{enumerate}\itemsep=0pt | |
159 | \item try to locate file named x (if x is for example "doc/howto.htm") | |
160 | \item try to open starting page of book named x | |
161 | \item try to find x in contents (if x is for example "How To ...") | |
162 | \item try to find x in index (if x is for example "How To ...") | |
163 | \item switch to Search panel and start searching | |
164 | \end{enumerate} | |
165 | ||
166 | \func{void}{Display}{\param{const int }{id}} | |
167 | ||
168 | This alternative form is used to search help contents by numeric IDs. | |
169 | ||
170 | \pythonnote{The second form of this method is named DisplayId in | |
171 | wxPython.} | |
172 | ||
173 | \membersection{wxHtmlHelpController::DisplayContents}\label{wxhtmlhelpcontrollerdisplaycontents} | |
174 | ||
175 | \func{void}{DisplayContents}{\void} | |
176 | ||
177 | Displays help window and focuses contents panel. | |
178 | ||
179 | \membersection{wxHtmlHelpController::DisplayIndex}\label{wxhtmlhelpcontrollerdisplayindex} | |
180 | ||
181 | \func{void}{DisplayIndex}{\void} | |
182 | ||
183 | Displays help window and focuses index panel. | |
184 | ||
185 | \membersection{wxHtmlHelpController::KeywordSearch}\label{wxhtmlhelpcontrollerkeywordsearch} | |
186 | ||
187 | \func{bool}{KeywordSearch}{\param{const wxString\& }{keyword}, \param{wxHelpSearchMode }{mode = wxHELP\_SEARCH\_ALL}} | |
188 | ||
189 | Displays help window, focuses search panel and starts searching. Returns true | |
190 | if the keyword was found. Optionally it searches through the index (mode = | |
191 | wxHELP\_SEARCH\_INDEX), default the content (mode = wxHELP\_SEARCH\_ALL). | |
192 | ||
193 | {\bf Important:} KeywordSearch searches only pages listed in .hhc file(s). | |
194 | You should list all pages in the contents file. | |
195 | ||
196 | \membersection{wxHtmlHelpController::ReadCustomization}\label{wxhtmlhelpcontrollerreadcustomization} | |
197 | ||
198 | \func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}} | |
199 | ||
200 | Reads the controller's setting (position of window, etc.) | |
201 | ||
202 | \membersection{wxHtmlHelpController::SetTempDir}\label{wxhtmlhelpcontrollersettempdir} | |
203 | ||
204 | \func{void}{SetTempDir}{\param{const wxString\& }{path}} | |
205 | ||
206 | Sets the path for storing temporary files - cached binary versions of index and contents files. These binary | |
207 | forms are much faster to read. Default value is empty string (empty string means | |
208 | that no cached data are stored). Note that these files are {\it not} | |
209 | deleted when program exits. | |
210 | ||
211 | Once created these cached files will be used in all subsequent executions | |
212 | of your application. If cached files become older than corresponding .hhp | |
213 | file (e.g. if you regenerate documentation) it will be refreshed. | |
214 | ||
215 | \membersection{wxHtmlHelpController::SetTitleFormat}\label{wxhtmlhelpcontrollersettitleformat} | |
216 | ||
217 | \func{void}{SetTitleFormat}{\param{const wxString\& }{format}} | |
218 | ||
219 | Sets format of title of the frame. Must contain exactly one "\%s" | |
220 | (for title of displayed HTML page). | |
221 | ||
222 | \membersection{wxHtmlHelpController::UseConfig}\label{wxhtmlhelpcontrolleruseconfig} | |
223 | ||
224 | \func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}} | |
225 | ||
226 | Associates {\it config} object with the controller. | |
227 | ||
228 | If there is associated config object, wxHtmlHelpController automatically | |
229 | reads and writes settings (including wxHtmlWindow's settings) when needed. | |
230 | ||
231 | The only thing you must do is create wxConfig object and call UseConfig. | |
232 | ||
233 | If you do not use {\it UseConfig}, wxHtmlHelpController will use | |
234 | default wxConfig object if available (for details see | |
235 | \helpref{wxConfigBase::Get}{wxconfigbaseget} and | |
236 | \helpref{wxConfigBase::Set}{wxconfigbaseset}). | |
237 | ||
238 | \membersection{wxHtmlHelpController::WriteCustomization}\label{wxhtmlhelpcontrollerwritecustomization} | |
239 | ||
240 | \func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}} | |
241 | ||
242 | Stores controllers setting (position of window etc.) | |
243 |