]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/htwindow.tex
use LVSICF_NOINVALIDATEALL in SetItemCount() to reduce flicker
[wxWidgets.git] / docs / latex / wx / htwindow.tex
CommitLineData
704a4b75
VS
1%
2% automatically generated by HelpGen from
3% htmlwindow.tex at 14/Mar/99 20:13:37
4%
5
704a4b75
VS
6\section{\class{wxHtmlWindow}}\label{wxhtmlwindow}
7
8wxHtmlWindow is probably the only class you will directly use
9unless you want to do something special (like adding new tag
448af9a4 10handlers or MIME filters).
704a4b75 11
448af9a4
JS
12The purpose of this class is to display HTML pages (either local
13file or downloaded via HTTP protocol) in a window. The width
14of the window is constant - given in the constructor - and virtual height
15is changed dynamically depending on page size.
fa482912 16Once the window is created you can set its content by calling
903972f9
VS
17\helpref{SetPage(text)}{wxhtmlwindowsetpage},
18\helpref{LoadPage(filename)}{wxhtmlwindowloadpage} or
19\helpref{LoadFile}{wxhtmlwindowloadfile}.
704a4b75 20
5270a2f9
VS
21\wxheading{Note}
22
23wxHtmlWindow uses the \helpref{wxImage}{wximage} class for displaying images.
24Don't forget to initialize all image formats you need before loading any page!
25(See \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers} and
26\helpref{wxImage::AddHandler}{wximageaddhandler}.)
27
704a4b75
VS
28\wxheading{Derived from}
29
9704b250 30\helpref{wxScrolledWindow}{wxscrolledwindow}
704a4b75
VS
31
32\wxheading{Include files}
33
9704b250 34<wx/html/htmlwin.h>
704a4b75 35
a689b6d6
VS
36\wxheading{Window styles}
37
38\twocolwidtha{5cm}
39\begin{twocollist}\itemsep=0pt
40\twocolitem{\windowstyle{wxHW\_SCROLLBAR\_NEVER}}{Never display scrollbars, not
41even when the page is larger than the window.}
42\twocolitem{\windowstyle{wxHP\_SCROLLBAR\_AUTO}}{Display scrollbars only if
43page's size exceeds window's size.}
44\twocolitem{\windowstyle{wxHP\_NO\_SELECTION}}{Don't allow the user to select
45text.}
46\end{twocollist}
47
704a4b75
VS
48\membersection{wxHtmlWindow::wxHtmlWindow}\label{wxhtmlwindowwxhtmlwindow}
49
50\func{}{wxHtmlWindow}{\void}
51
52Default constructor.
53
605d715d 54\func{}{wxHtmlWindow}{\param{wxWindow }{*parent}, \param{wxWindowID }{id = -1}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxHW\_SCROLLBAR\_AUTO}, \param{const wxString\& }{name = "htmlWindow"}}
704a4b75 55
448af9a4 56Constructor. The parameters are the same as for the \helpref{wxScrolledWindow}{wxscrolledwindow} constructor.
704a4b75
VS
57
58\wxheading{Parameters}
59
a689b6d6 60\docparam{style}{Window style. See \helpref{wxHtmlWindow}{wxhtmlwindow}.}
704a4b75 61
559fe022 62\membersection{wxHtmlWindow::AddFilter}\label{wxhtmlwindowaddfilter}
704a4b75 63
559fe022 64\func{static void}{AddFilter}{\param{wxHtmlFilter }{*filter}}
704a4b75 65
559fe022
VS
66Adds \helpref{input filter}{filters} to the static list of available
67filters. These filters are present by default:
704a4b75 68
448af9a4 69\begin{itemize}\itemsep=0pt
559fe022
VS
70\item {\tt text/html} MIME type
71\item {\tt image/*} MIME types
72\item Plain Text filter (this filter is used if no other filter matches)
73\end{itemize}
704a4b75 74
39029898
VS
75\membersection{wxHtmlWindow::AppendToPage}\label{wxhtmlwindowappendtopage}
76
77\func{bool}{AppendToPage}{\param{const wxString\& }{source}}
78
79Appends HTML fragment to currently displayed text and refreshes the window.
80
81\wxheading{Parameters}
82
83\docparam{source}{HTML code fragment}
84
85\wxheading{Return value}
86
cc81d32f 87false if an error occurred, true otherwise.
39029898 88
559fe022 89\membersection{wxHtmlWindow::GetInternalRepresentation}\label{wxhtmlwindowgetinternalrepresentation}
704a4b75 90
559fe022 91\constfunc{wxHtmlContainerCell*}{GetInternalRepresentation}{\void}
704a4b75 92
559fe022 93Returns pointer to the top-level container.
704a4b75 94
559fe022
VS
95See also: \helpref{Cells Overview}{cells},
96\helpref{Printing Overview}{printing}
704a4b75 97
5656c6ef
VS
98\membersection{wxHtmlWindow::GetOpenedAnchor}\label{wxhtmlwindowgetopenedanchor}
99
100\func{wxString}{GetOpenedAnchor}{\void}
101
102Returns anchor within currently opened page
103(see \helpref{GetOpenedPage}{wxhtmlwindowgetopenedpage}).
104If no page is opened or if the displayed page wasn't
105produced by call to LoadPage, empty string is returned.
106
107
559fe022
VS
108\membersection{wxHtmlWindow::GetOpenedPage}\label{wxhtmlwindowgetopenedpage}
109
110\func{wxString}{GetOpenedPage}{\void}
111
112Returns full location of the opened page. If no page is opened or if the displayed page wasn't
113produced by call to LoadPage, empty string is returned.
114
d5db80c2
VS
115\membersection{wxHtmlWindow::GetOpenedPageTitle}\label{wxhtmlwindowgetopenedpagetitle}
116
117\func{wxString}{GetOpenedPageTitle}{\void}
118
119Returns title of the opened page or wxEmptyString if current page does not contain {\tt <TITLE>} tag.
120
559fe022
VS
121\membersection{wxHtmlWindow::GetRelatedFrame}\label{wxhtmlwindowgetrelatedframe}
122
123\constfunc{wxFrame*}{GetRelatedFrame}{\void}
124
125Returns the related frame.
126
127\membersection{wxHtmlWindow::HistoryBack}\label{wxhtmlwindowhistoryback}
128
129\func{bool}{HistoryBack}{\void}
130
131Moves back to the previous page. (each page displayed using
132\helpref{LoadPage}{wxhtmlwindowloadpage} is stored in history list.)
133
1b113a81
VS
134\membersection{wxHtmlWindow::HistoryCanBack}\label{wxhtmlwindowhistorycanback}
135
136\func{bool}{HistoryCanBack}{\void}
137
138Returns true if it is possible to go back in the history (i.e. HistoryBack()
139won't fail).
140
141\membersection{wxHtmlWindow::HistoryCanForward}\label{wxhtmlwindowhistorycanforward}
142
143\func{bool}{HistoryCanForward}{\void}
144
145Returns true if it is possible to go forward in the history (i.e. HistoryBack()
146won't fail).
147
148
559fe022
VS
149\membersection{wxHtmlWindow::HistoryClear}\label{wxhtmlwindowhistoryclear}
150
151\func{void}{HistoryClear}{\void}
152
153Clears history.
154
155\membersection{wxHtmlWindow::HistoryForward}\label{wxhtmlwindowhistoryforward}
156
157\func{bool}{HistoryForward}{\void}
158
159Moves to next page in history.
704a4b75 160
903972f9
VS
161\membersection{wxHtmlWindow::LoadFile}\label{wxhtmlwindowloadfile}
162
163\func{virtual bool}{LoadFile}{\param{const wxFileName\& }{filename}}
164
165Loads HTML page from file and displays it.
166
167\wxheading{Return value}
168
169false if an error occurred, true otherwise
170
171\wxheading{See also}
172
173\helpref{LoadPage}{wxhtmlwindowloadpage}
174
704a4b75
VS
175\membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
176
298d8653 177\func{virtual bool}{LoadPage}{\param{const wxString\& }{location}}
704a4b75 178
448af9a4 179Unlike SetPage this function first loads HTML page from {\it location}
704a4b75
VS
180and then displays it. See example:
181
182\begin{verbatim}
903972f9 183htmlwin->LoadPage("help/myproject/index.htm");
704a4b75
VS
184\end{verbatim}
185
186\wxheading{Parameters}
187
188\docparam{location}{The address of document. See \helpref{wxFileSystem}{wxfilesystem} for details on address format and behaviour of "opener".}
189
190\wxheading{Return value}
191
cc81d32f 192false if an error occurred, true otherwise
704a4b75 193
903972f9
VS
194\wxheading{See also}
195
196\helpref{LoadFile}{wxhtmlwindowloadfile}
197
f6010d8f
VZ
198\membersection{wxHtmlWindow::OnCellClicked}\label{wxhtmlwindowoncellclicked}
199
200\func{virtual void}{OnCellClicked}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}, \param{const wxMouseEvent\& }{event}}
201
202This method is called when a mouse button is clicked inside wxHtmlWindow.
203The default behaviour is to call
204\helpref{OnLinkClicked}{wxhtmlwindowonlinkclicked} if the cell contains a
205hypertext link.
206
207\wxheading{Parameters}
208
209\docparam{cell}{The cell inside which the mouse was clicked, always a simple
210(i.e. non container) cell}
211
212\docparam{x, y}{The logical coordinates of the click point}
213
214\docparam{event}{The mouse event containing other information about the click}
215
216\membersection{wxHtmlWindow::OnCellMouseHover}\label{wxhtmlwindowoncellmousehover}
217
218\func{virtual void}{OnCellMouseHover}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}}
219
220This method is called when a mouse moves over an HTML cell.
221
222\wxheading{Parameters}
223
224\docparam{cell}{The cell inside which the mouse is currently, always a simple
225(i.e. non container) cell}
226
227\docparam{x, y}{The logical coordinates of the click point}
228
559fe022 229\membersection{wxHtmlWindow::OnLinkClicked}\label{wxhtmlwindowonlinkclicked}
704a4b75 230
d17f05af 231\func{virtual void}{OnLinkClicked}{\param{const wxHtmlLinkInfo\& }{link}}
704a4b75 232
559fe022
VS
233Called when user clicks on hypertext link. Default behaviour is to call
234\helpref{LoadPage}{wxhtmlwindowloadpage} and do nothing else.
704a4b75 235
846914d1
VS
236Also see \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}.
237
e03ca426
VS
238\membersection{wxHtmlWindow::OnOpeningURL}\label{wxhtmlwindowonopeningurl}
239
6cc4e6b8 240\func{virtual wxHtmlOpeningStatus}{OnOpeningURL}{\param{wxHtmlURLType }{type},\param{const wxString\& }{url}, \param{wxString *}{redirect}}
e03ca426
VS
241
242Called when an URL is being opened (either when the user clicks on a link or
6cc4e6b8
VS
243an image is loaded). The URL will be opened only if OnOpeningURL returns
244{\tt wxHTML\_OPEN}. This method is called by
245\helpref{wxHtmlParser::OpenURL}{wxhtmlparseropenurl}.
246You can override OnOpeningURL to selectively block some
247URLs (e.g. for security reasons) or to redirect them elsewhere. Default
248behaviour is to always return {\tt wxHTML\_OPEN}.
e03ca426 249
6cc4e6b8
VS
250\wxheading{Parameters}
251
252\docparam{type}{Indicates type of the resource. Is one of
253\begin{twocollist}\itemsep=0pt
254\twocolitem{{\bf wxHTML\_URL\_PAGE}}{Opening a HTML page.}
255\twocolitem{{\bf wxHTML\_URL\_IMAGE}}{Opening an image.}
256\twocolitem{{\bf wxHTML\_URL\_OTHER}}{Opening a resource that doesn't fall into
257any other category.}
258\end{twocollist}}
259
260\docparam{url}{URL being opened.}
261
262\docparam{redirect}{Pointer to wxString variable that must be filled with an
263URL if OnOpeningURL returns {\tt wxHTML\_REDIRECT}.}
264
265\wxheading{Return value}
266\begin{twocollist}\itemsep=0pt
267\twocolitem{{\bf wxHTML\_OPEN}}{Open the URL.}
268\twocolitem{{\bf wxHTML\_BLOCK}}{Deny access to the URL, \helpref{wxHtmlParser::OpenURL}{wxhtmlparseropenurl} will return NULL.}
269\twocolitem{{\bf wxHTML\_REDIRECT}}{Don't open {\it url}, redirect to another
270URL. OnOpeningURL must fill {\it *redirect} with the new URL. OnOpeningURL will
271be called again on returned URL.}
272\end{twocollist}
d5db80c2
VS
273
274\membersection{wxHtmlWindow::OnSetTitle}\label{wxhtmlwindowonsettitle}
275
276\func{virtual void}{OnSetTitle}{\param{const wxString\& }{title}}
277
278Called on parsing {\tt <TITLE>} tag.
279
280
559fe022 281\membersection{wxHtmlWindow::ReadCustomization}\label{wxhtmlwindowreadcustomization}
704a4b75 282
559fe022 283\func{virtual void}{ReadCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
704a4b75 284
559fe022
VS
285This reads custom settings from wxConfig. It uses the path 'path'
286if given, otherwise it saves info into currently selected path.
287The values are stored in sub-path {\tt wxHtmlWindow}
704a4b75 288
448af9a4 289Read values: all things set by SetFonts, SetBorders.
704a4b75 290
559fe022 291\wxheading{Parameters}
704a4b75 292
448af9a4 293\docparam{cfg}{wxConfig from which you want to read the configuration.}
704a4b75 294
559fe022 295\docparam{path}{Optional path in config tree. If not given current path is used.}
704a4b75 296
559fe022 297\membersection{wxHtmlWindow::SetBorders}\label{wxhtmlwindowsetborders}
704a4b75 298
559fe022
VS
299\func{void}{SetBorders}{\param{int }{b}}
300
301This function sets the space between border of window and HTML contents. See image:
302
605d715d 303\helponly{\image{}{border.bmp}}
704a4b75
VS
304
305\wxheading{Parameters}
306
559fe022 307\docparam{b}{indentation from borders in pixels}
704a4b75
VS
308
309\membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
310
4eecf115 311\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
704a4b75
VS
312
313This function sets font sizes and faces.
314
315\wxheading{Parameters}
316
448af9a4 317\docparam{normal\_face}{This is face name for normal (i.e. non-fixed) font.
2edb0bde 318It can be either empty string (then the default face is chosen) or
704a4b75
VS
319platform-specific face name. Examples are "helvetica" under Unix or
320"Times New Roman" under Windows.}
321
448af9a4 322\docparam{fixed\_face}{The same thing for fixed face ( <TT>..</TT> )}
704a4b75 323
704a4b75
VS
324\docparam{sizes}{This is an array of 7 items of {\it int} type.
325The values represent size of font with HTML size from -2 to +4
4eecf115
VS
326( <FONT SIZE=-2> to <FONT SIZE=+4> ). Default sizes are used if {\it sizes}
327is NULL.}
704a4b75
VS
328
329\wxheading{Defaults}
330
4eecf115
VS
331Default font sizes are defined by constants wxHTML\_FONT\_SIZE\_1,
332wxHTML\_FONT\_SIZE\_2, ..., wxHTML\_FONT\_SIZE\_7. Note that they differ among
333platforms. Default face names are empty strings.
704a4b75 334
559fe022 335\membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
704a4b75 336
559fe022 337\func{bool}{SetPage}{\param{const wxString\& }{source}}
704a4b75 338
559fe022
VS
339Sets HTML page and display it. This won't {\bf load} the page!!
340It will display the {\it source}. See example:
704a4b75 341
559fe022
VS
342\begin{verbatim}
343htmlwin -> SetPage("<html><body>Hello, world!</body></html>");
344\end{verbatim}
345
448af9a4 346If you want to load a document from some location use
559fe022 347\helpref{LoadPage}{wxhtmlwindowloadpage} instead.
704a4b75
VS
348
349\wxheading{Parameters}
350
559fe022 351\docparam{source}{The HTML document source to be displayed.}
704a4b75 352
559fe022 353\wxheading{Return value}
704a4b75 354
cc81d32f 355false if an error occurred, true otherwise.
704a4b75 356
559fe022 357\membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}
704a4b75 358
559fe022 359\func{void}{SetRelatedFrame}{\param{wxFrame* }{frame}, \param{const wxString\& }{format}}
704a4b75 360
448af9a4 361Sets the frame in which page title will be displayed. {\it format} is format of
559fe022
VS
362frame title, e.g. "HtmlHelp : \%s". It must contain exactly one \%s. This
363\%s is substituted with HTML page title.
704a4b75 364
559fe022 365\membersection{wxHtmlWindow::SetRelatedStatusBar}\label{wxhtmlwindowsetrelatedstatusbar}
704a4b75 366
559fe022
VS
367\func{void}{SetRelatedStatusBar}{\param{int }{bar}}
368
369{\bf After} calling \helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe},
370this sets statusbar slot where messages will be displayed.
371(Default is -1 = no messages.)
372
373\wxheading{Parameters}
374
375\docparam{bar}{statusbar slot number (0..n)}
704a4b75 376
d5db80c2 377
704a4b75
VS
378\membersection{wxHtmlWindow::WriteCustomization}\label{wxhtmlwindowwritecustomization}
379
380\func{virtual void}{WriteCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
381
382Saves custom settings into wxConfig. It uses the path 'path'
383if given, otherwise it saves info into currently selected path.
448af9a4
JS
384Regardless of whether the path is given or not, the function creates sub-path
385{\tt wxHtmlWindow}.
704a4b75 386
448af9a4 387Saved values: all things set by SetFonts, SetBorders.
704a4b75
VS
388
389\wxheading{Parameters}
390
448af9a4 391\docparam{cfg}{wxConfig to which you want to save the configuration.}
704a4b75 392
448af9a4 393\docparam{path}{Optional path in config tree. If not given, the current path is used.}
704a4b75 394