]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/htwindow.tex
Controls will readjust their size and minsize when SetLabel or SetFont
[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.}
ec59d2cc 42\twocolitem{\windowstyle{wxHW\_SCROLLBAR\_AUTO}}{Display scrollbars only if
a689b6d6 43page's size exceeds window's size.}
ec59d2cc 44\twocolitem{\windowstyle{wxHW\_NO\_SELECTION}}{Don't allow the user to select
a689b6d6
VS
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
00ee93d7
VS
297\membersection{wxHtmlWindow::SelectAll}\label{wxhtmlwindowselectall}
298
299\func{void}{SelectAll}{\void}
300
301Selects all text in the window.
302
303\wxheading{See also}
304
305\helpref{SelectLine}{wxhtmlwindowselectline},
306\helpref{SelectWord}{wxhtmlwindowselectword}
307
308\membersection{wxHtmlWindow::SelectLine}\label{wxhtmlwindowselectline}
309
310\func{void}{SelectLine}{\param{const wxPoint\& }{pos}}
311
312Selects the line of text that \arg{pos} points at. Note that \arg{pos}
313is relative to the top of displayed page, not to window's origin, use
314\helpref{CalcUnscrolledPosition}{wxscrolledwindowcalcunscrolledposition}
315to convert physical coordinate.
316
317\wxheading{See also}
318
319\helpref{SelectAll}{wxhtmlwindowselectall},
320\helpref{SelectWord}{wxhtmlwindowselectword}
321
322\membersection{wxHtmlWindow::SelectWord}\label{wxhtmlwindowselectword}
323
324\func{void}{SelectWord}{\param{const wxPoint\& }{pos}}
325
326Selects the word at position \arg{pos}. Note that \arg{pos}
327is relative to the top of displayed page, not to window's origin, use
328\helpref{CalcUnscrolledPosition}{wxscrolledwindowcalcunscrolledposition}
329to convert physical coordinate.
330
331\wxheading{See also}
332
333\helpref{SelectAll}{wxhtmlwindowselectall},
334\helpref{SelectLine}{wxhtmlwindowselectline}
335
559fe022 336\membersection{wxHtmlWindow::SetBorders}\label{wxhtmlwindowsetborders}
704a4b75 337
559fe022
VS
338\func{void}{SetBorders}{\param{int }{b}}
339
340This function sets the space between border of window and HTML contents. See image:
341
605d715d 342\helponly{\image{}{border.bmp}}
704a4b75
VS
343
344\wxheading{Parameters}
345
559fe022 346\docparam{b}{indentation from borders in pixels}
704a4b75
VS
347
348\membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
349
4eecf115 350\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
704a4b75
VS
351
352This function sets font sizes and faces.
353
354\wxheading{Parameters}
355
448af9a4 356\docparam{normal\_face}{This is face name for normal (i.e. non-fixed) font.
2edb0bde 357It can be either empty string (then the default face is chosen) or
704a4b75
VS
358platform-specific face name. Examples are "helvetica" under Unix or
359"Times New Roman" under Windows.}
360
448af9a4 361\docparam{fixed\_face}{The same thing for fixed face ( <TT>..</TT> )}
704a4b75 362
704a4b75
VS
363\docparam{sizes}{This is an array of 7 items of {\it int} type.
364The values represent size of font with HTML size from -2 to +4
4eecf115
VS
365( <FONT SIZE=-2> to <FONT SIZE=+4> ). Default sizes are used if {\it sizes}
366is NULL.}
704a4b75
VS
367
368\wxheading{Defaults}
369
4eecf115
VS
370Default font sizes are defined by constants wxHTML\_FONT\_SIZE\_1,
371wxHTML\_FONT\_SIZE\_2, ..., wxHTML\_FONT\_SIZE\_7. Note that they differ among
372platforms. Default face names are empty strings.
704a4b75 373
559fe022 374\membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
704a4b75 375
559fe022 376\func{bool}{SetPage}{\param{const wxString\& }{source}}
704a4b75 377
559fe022
VS
378Sets HTML page and display it. This won't {\bf load} the page!!
379It will display the {\it source}. See example:
704a4b75 380
559fe022
VS
381\begin{verbatim}
382htmlwin -> SetPage("<html><body>Hello, world!</body></html>");
383\end{verbatim}
384
448af9a4 385If you want to load a document from some location use
559fe022 386\helpref{LoadPage}{wxhtmlwindowloadpage} instead.
704a4b75
VS
387
388\wxheading{Parameters}
389
559fe022 390\docparam{source}{The HTML document source to be displayed.}
704a4b75 391
559fe022 392\wxheading{Return value}
704a4b75 393
cc81d32f 394false if an error occurred, true otherwise.
704a4b75 395
559fe022 396\membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}
704a4b75 397
559fe022 398\func{void}{SetRelatedFrame}{\param{wxFrame* }{frame}, \param{const wxString\& }{format}}
704a4b75 399
448af9a4 400Sets the frame in which page title will be displayed. {\it format} is format of
559fe022
VS
401frame title, e.g. "HtmlHelp : \%s". It must contain exactly one \%s. This
402\%s is substituted with HTML page title.
704a4b75 403
559fe022 404\membersection{wxHtmlWindow::SetRelatedStatusBar}\label{wxhtmlwindowsetrelatedstatusbar}
704a4b75 405
559fe022
VS
406\func{void}{SetRelatedStatusBar}{\param{int }{bar}}
407
408{\bf After} calling \helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe},
409this sets statusbar slot where messages will be displayed.
410(Default is -1 = no messages.)
411
412\wxheading{Parameters}
413
414\docparam{bar}{statusbar slot number (0..n)}
704a4b75 415
d5db80c2 416
704a4b75
VS
417\membersection{wxHtmlWindow::WriteCustomization}\label{wxhtmlwindowwritecustomization}
418
419\func{virtual void}{WriteCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
420
421Saves custom settings into wxConfig. It uses the path 'path'
422if given, otherwise it saves info into currently selected path.
448af9a4
JS
423Regardless of whether the path is given or not, the function creates sub-path
424{\tt wxHtmlWindow}.
704a4b75 425
448af9a4 426Saved values: all things set by SetFonts, SetBorders.
704a4b75
VS
427
428\wxheading{Parameters}
429
448af9a4 430\docparam{cfg}{wxConfig to which you want to save the configuration.}
704a4b75 431
448af9a4 432\docparam{path}{Optional path in config tree. If not given, the current path is used.}
704a4b75 433