]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/hthelpct.tex
Updated html version of stc.h
[wxWidgets.git] / docs / latex / wx / hthelpct.tex
CommitLineData
704a4b75
VS
1%
2% automatically generated by HelpGen from
3% htmlhelp.h at 02/May/99 19:58:53
4%
5
704a4b75
VS
6\section{\class{wxHtmlHelpController}}\label{wxhtmlhelpcontroller}
7
07ed7e32 8Although this class has an API compatible with other wxWindows
0d3a69ec 9help controllers as documented by \helpref{wxHelpController}{wxhelpcontroller}, it
fa482912 10is recommended that you use the enhanced capabilities of wxHtmlHelpController's API.
704a4b75 11
448af9a4 12This help controller provides an easy way of displaying HTML help in your
7b28757f 13application (see {\it test} sample). The help system is based on {\bf books}
448af9a4
JS
14(see \helpref{AddBook}{wxhtmlhelpcontrolleraddbook}). A book is a logical
15section of documentation (for example "User's Guide" or "Programmer's Guide" or
16"C++ Reference" or "wxWindows Reference"). The help controller can handle as
704a4b75
VS
17many books as you want.
18
19wxHTML uses Microsoft's HTML Help Workshop project files (.hhp, .hhk, .hhc) as its
20native format. The file format is described \helpref{here}{helpformat}.
21Have a look at docs/html/ directory where sample project files are stored.
22
36edded9
JS
23You can use Tex2RTF to produce these files when generating HTML, if you set {\bf htmlWorkshopFiles} to {\bf true} in
24your tex2rtf.ini file.
704a4b75 25
07ed7e32
JS
26When using wxHtmlHelpController, you must add an extra include at the top of your
27application class source file and a line to your application initialization:
28
29\begin{verbatim}
30 #include <wx/fs_zip.h>
31 ...
32 wxFileSystem::AddHandler(new wxZipFSHandler);
33\end{verbatim}
34
35or nothing will be shown in your help window.
36
b854b7b8
VS
37\wxheading{Note}
38
39It is strongly recommended to use preprocessed {\bf .hhp.cached} version of
40projects. It can be either created on-the-fly (see
7b28757f 41\helpref{SetTempDir}{wxhtmlhelpcontrollersettempdir}) or you can use
b854b7b8 42{\bf hhp2cached} utility from {\it utils/hhp2cached} to create it and
7b28757f 43distribute the cached version together with helpfiles. See {\it samples/html/help}
b854b7b8
VS
44sample for demonstration of its use.
45
2049d9b5
VS
46\wxheading{See also}
47
48\helpref{Information about wxBestHelpController}{wxhelpcontroller}
49
704a4b75
VS
50\wxheading{Derived from}
51
0d3a69ec 52wxHelpControllerBase
704a4b75 53
9704b250
VS
54\wxheading{Include files}
55
56<wx/html/helpctrl.h>
57
704a4b75
VS
58\latexignore{\rtfignore{\wxheading{Members}}}
59
704a4b75
VS
60\membersection{wxHtmlHelpController::wxHtmlHelpController}\label{wxhtmlhelpcontrollerwxhtmlhelpcontroller}
61
576507e2 62\func{}{wxHtmlHelpController}{\param{int }{style = wxHF\_DEFAULT\_STYLE}}
704a4b75 63
704a4b75
VS
64Constructor.
65
09397bc6
VS
66\wxheading{Parameters}
67
68{\it style} is combination of these flags:
69
7b28757f 70\begin{twocollist}\itemsep=0pt
09397bc6 71\twocolitem{\windowstyle{wxHF\_TOOLBAR}}{Help frame has toolbar.}
576507e2 72\twocolitem{\windowstyle{wxHF\_FLAT\_TOOLBAR}}{Help frame has toolbar with flat buttons (aka coolbar).}
09397bc6
VS
73\twocolitem{\windowstyle{wxHF\_CONTENTS}}{Help frame has contents panel.}
74\twocolitem{\windowstyle{wxHF\_INDEX}}{Help frame has index panel.}
75\twocolitem{\windowstyle{wxHF\_SEARCH}}{Help frame has search panel.}
c914a1a2 76\twocolitem{\windowstyle{wxHF\_BOOKMARKS}}{Help frame has bookmarks controls.}
576507e2 77\twocolitem{\windowstyle{wxHF\_OPEN\_FILES}}{Allow user to open arbitrary HTML document.}
ecacdf8f 78\twocolitem{\windowstyle{wxHF\_PRINT}}{Toolbar contains "print" button.}
576507e2
VS
79\twocolitem{\windowstyle{wxHF\_MERGE\_BOOKS}}{Contents pane does not show
80book nodes. All books are merged together and appear as single book to the
81user.}
82\twocolitem{\windowstyle{wxHF\_ICONS\_BOOK}}{All nodes in contents pane
83have a book icon. This is how Microsoft's HTML help viewer behaves.}
84\twocolitem{\windowstyle{wxHF\_ICONS\_FOLDER}}{Book nodes in contents pane have
85a book icon, book's sections have a folder icon. This is the default.}
e7240349 86\twocolitem{\windowstyle{wxHF\_ICONS\_BOOK\_CHAPTER}}{Both book nodes and
576507e2
VS
87nodes of top-level sections of a book (i.e. chapters) have a book icon,
88all other sections (sections, subsections, ...) have a folder icon.}
89\twocolitem{\windowstyle{wxHF\_DEFAULT\_STYLE}}{{\tt wxHF\_TOOLBAR | wxHF\_CONTENTS
90| wxHF\_INDEX | wxHF\_SEARCH | wxHF\_BOOKMARKS | wxHF\_PRINT}}
09397bc6
VS
91\end{twocollist}
92
704a4b75
VS
93\membersection{wxHtmlHelpController::AddBook}\label{wxhtmlhelpcontrolleraddbook}
94
605d715d 95\func{bool}{AddBook}{\param{const wxString\& }{book}, \param{bool }{show\_wait\_msg}}
704a4b75
VS
96
97Adds book (\helpref{.hhp file}{helpformat} - HTML Help Workshop project file) into the list of loaded books.
98This must be called at least once before displaying any help.
99
3dabc03f
VS
100{\it book} may be either .hhp file or ZIP archive that contains arbitrary number of .hhp files in
101top-level directory. This ZIP archive must have .zip or .htb extension
102(the latter stands for "HTML book"). In other words, {\tt AddBook("help.zip")} is possible and, in fact,
103recommended way.
104
2edb0bde 105If {\it show\_wait\_msg} is TRUE then a decoration-less window with progress message is displayed.
704a4b75 106
7b28757f
JS
107\membersection{wxHtmlHelpController::CreateHelpFrame}\label{wxhtmlhelpcontrollercreatehelpframe}
108
109\func{virtual wxHtmlHelpFrame*}{CreateHelpFrame}{\param{wxHtmlHelpData * }{data}}
110
f6bcfd97 111This protected virtual method may be overridden so that the controller
7b28757f
JS
112uses slightly different frame. See {\it samples/html/helpview} sample for
113an example.
704a4b75
VS
114\membersection{wxHtmlHelpController::Display}\label{wxhtmlhelpcontrollerdisplay}
115
116\func{void}{Display}{\param{const wxString\& }{x}}
117
118Displays page {\it x}. This is THE important function - it is used to display
119the help in application.
120
121You can specify the page in many ways:
122
448af9a4 123\begin{itemize}\itemsep=0pt
704a4b75
VS
124\item as direct filename of HTML document
125\item as chapter name (from contents) or as a book name
126\item as some word from index
b32c6ff0 127\item even as any word (will be searched)
704a4b75
VS
128\end{itemize}
129
130Looking for the page runs in these steps:
131
448af9a4 132\begin{enumerate}\itemsep=0pt
704a4b75
VS
133\item try to locate file named x (if x is for example "doc/howto.htm")
134\item try to open starting page of book named x
135\item try to find x in contents (if x is for example "How To ...")
136\item try to find x in index (if x is for example "How To ...")
137\item switch to Search panel and start searching
138\end{enumerate}
139
140\func{void}{Display}{\param{const int }{id}}
141
142This alternative form is used to search help contents by numeric IDs.
143
b32c6ff0
RD
144\pythonnote{The second form of this method is named DisplayId in
145wxPython.}
146
704a4b75
VS
147\membersection{wxHtmlHelpController::DisplayContents}\label{wxhtmlhelpcontrollerdisplaycontents}
148
149\func{void}{DisplayContents}{\void}
150
151Displays help window and focuses contents panel.
152
153\membersection{wxHtmlHelpController::DisplayIndex}\label{wxhtmlhelpcontrollerdisplayindex}
154
155\func{void}{DisplayIndex}{\void}
156
157Displays help window and focuses index panel.
158
704a4b75
VS
159\membersection{wxHtmlHelpController::KeywordSearch}\label{wxhtmlhelpcontrollerkeywordsearch}
160
161\func{bool}{KeywordSearch}{\param{const wxString\& }{keyword}}
162
163Displays help window, focuses search panel and starts searching.
164Returns TRUE if the keyword was found.
165
f6bcfd97 166{\bf Important:} KeywordSearch searches only pages listed in .hhc file(s).
448af9a4 167You should list all pages in the contents file.
704a4b75 168
559fe022
VS
169\membersection{wxHtmlHelpController::ReadCustomization}\label{wxhtmlhelpcontrollerreadcustomization}
170
171\func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
172
448af9a4 173Reads the controller's setting (position of window, etc.)
559fe022
VS
174
175\membersection{wxHtmlHelpController::SetTempDir}\label{wxhtmlhelpcontrollersettempdir}
176
177\func{void}{SetTempDir}{\param{const wxString\& }{path}}
178
448af9a4
JS
179Sets the path for storing temporary files - cached binary versions of index and contents files. These binary
180forms are much faster to read. Default value is empty string (empty string means
7b28757f 181that no cached data are stored). Note that these files are {\it not}
448af9a4 182deleted when program exits.
559fe022 183
b854b7b8
VS
184Once created these cached files will be used in all subsequent executions
185of your application. If cached files become older than corresponding .hhp
186file (e.g. if you regenerate documentation) it will be refreshed.
187
559fe022
VS
188\membersection{wxHtmlHelpController::SetTitleFormat}\label{wxhtmlhelpcontrollersettitleformat}
189
190\func{void}{SetTitleFormat}{\param{const wxString\& }{format}}
191
192Sets format of title of the frame. Must contain exactly one "\%s"
193(for title of displayed HTML page).
194
704a4b75
VS
195\membersection{wxHtmlHelpController::UseConfig}\label{wxhtmlhelpcontrolleruseconfig}
196
197\func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}}
198
199Associates {\it config} object with the controller.
200
201If there is associated config object, wxHtmlHelpController automatically
202reads and writes settings (including wxHtmlWindow's settings) when needed.
203
b32c6ff0 204The only thing you must do is create wxConfig object and call UseConfig.
704a4b75 205
74accc50
VS
206If you do not use {\it UseConfig}, wxHtmlHelpController will use
207default wxConfig object if available (for details see
208\helpref{wxConfigBase::Get}{wxconfigbaseget} and
209\helpref{wxConfigBase::Set}{wxconfigbaseset}).
210
704a4b75
VS
211\membersection{wxHtmlHelpController::WriteCustomization}\label{wxhtmlhelpcontrollerwritecustomization}
212
213\func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
214
215Stores controllers setting (position of window etc.)
216