]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/htwindow.tex
added wxTopLevelWindow::RequestUserAttention(); documented it and implemented it...
[wxWidgets.git] / docs / latex / wx / htwindow.tex
index ed1f0344d9de49fd35598a62f50e016986249617..45a4da383382bec7900ffa884bb288a03cff53d2 100644 (file)
@@ -14,8 +14,16 @@ file or downloaded via HTTP protocol) in a window. The width
 of the window is constant - given in the constructor - and virtual height
 is changed dynamically depending on page size.
 Once the window is created you can set its content by calling 
-\helpref{SetPage(text)}{wxhtmlwindowsetpage} or 
-\helpref{LoadPage(filename)}{wxhtmlwindowloadpage}. 
+\helpref{SetPage(text)}{wxhtmlwindowsetpage},
+\helpref{LoadPage(filename)}{wxhtmlwindowloadpage} or
+\helpref{LoadFile}{wxhtmlwindowloadfile}.
+
+\wxheading{Note}
+
+wxHtmlWindow uses the \helpref{wxImage}{wximage} class for displaying images.
+Don't forget to initialize all image formats you need before loading any page!
+(See \helpref{wxInitAllImageHandlers}{wxinitallimagehandlers} and
+\helpref{wxImage::AddHandler}{wximageaddhandler}.)
 
 \wxheading{Derived from}
 
@@ -25,6 +33,18 @@ Once the window is created you can set its content by calling
 
 <wx/html/htmlwin.h>
 
+\wxheading{Window styles}
+
+\twocolwidtha{5cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{wxHW\_SCROLLBAR\_NEVER}}{Never display scrollbars, not
+even when the page is larger than the window.}
+\twocolitem{\windowstyle{wxHW\_SCROLLBAR\_AUTO}}{Display scrollbars only if
+page's size exceeds window's size.}
+\twocolitem{\windowstyle{wxHW\_NO\_SELECTION}}{Don't allow the user to select
+text.}
+\end{twocollist}
+
 \membersection{wxHtmlWindow::wxHtmlWindow}\label{wxhtmlwindowwxhtmlwindow}
 
 \func{}{wxHtmlWindow}{\void}
@@ -37,8 +57,7 @@ Constructor. The parameters are the same as for the \helpref{wxScrolledWindow}{w
 
 \wxheading{Parameters}
 
-\docparam{style}{wxHW\_SCROLLBAR\_NEVER,  or wxHW\_SCROLLBAR\_AUTO. 
-Affects the appearance of vertical scrollbar in the window.}
+\docparam{style}{Window style. See \helpref{wxHtmlWindow}{wxhtmlwindow}.}
 
 \membersection{wxHtmlWindow::AddFilter}\label{wxhtmlwindowaddfilter}
 
@@ -65,7 +84,7 @@ Appends HTML fragment to currently displayed text and refreshes the window.
 
 \wxheading{Return value}
 
-FALSE if an error occurred, TRUE otherwise.
+false if an error occurred, true otherwise.
 
 \membersection{wxHtmlWindow::GetInternalRepresentation}\label{wxhtmlwindowgetinternalrepresentation}
 
@@ -139,6 +158,20 @@ Clears history.
 
 Moves to next page in history.
 
+\membersection{wxHtmlWindow::LoadFile}\label{wxhtmlwindowloadfile}
+
+\func{virtual bool}{LoadFile}{\param{const wxFileName\& }{filename}}
+
+Loads HTML page from file and displays it.
+
+\wxheading{Return value}
+
+false if an error occurred, true otherwise
+
+\wxheading{See also}
+
+\helpref{LoadPage}{wxhtmlwindowloadpage}
+
 \membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
 
 \func{virtual bool}{LoadPage}{\param{const wxString\& }{location}}
@@ -147,7 +180,7 @@ Unlike SetPage this function first loads HTML page from {\it location}
 and then displays it. See example:
 
 \begin{verbatim}
-htmlwin -> SetPage("help/myproject/index.htm");
+htmlwin->LoadPage("help/myproject/index.htm");
 \end{verbatim}
 
 \wxheading{Parameters}
@@ -156,7 +189,11 @@ htmlwin -> SetPage("help/myproject/index.htm");
 
 \wxheading{Return value}
 
-FALSE if an error occurred, TRUE otherwise
+false if an error occurred, true otherwise
+
+\wxheading{See also}
+
+\helpref{LoadFile}{wxhtmlwindowloadfile}
 
 \membersection{wxHtmlWindow::OnCellClicked}\label{wxhtmlwindowoncellclicked}
 
@@ -200,13 +237,39 @@ Also see \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}.
 
 \membersection{wxHtmlWindow::OnOpeningURL}\label{wxhtmlwindowonopeningurl}
 
-\func{virtual bool}{OnOpeningURL}{\param{const wxString\& }{url}}
+\func{virtual wxHtmlOpeningStatus}{OnOpeningURL}{\param{wxHtmlURLType }{type},\param{const wxString\& }{url}, \param{wxString *}{redirect}}
 
 Called when an URL is being opened (either when the user clicks on a link or
-an image is loaded). If the function returns FALSE, the URL won't be fetched.
-Default behaviour is to return TRUE.
+an image is loaded). The URL will be opened only if OnOpeningURL returns 
+{\tt wxHTML\_OPEN}. This method is called by
+\helpref{wxHtmlParser::OpenURL}{wxhtmlparseropenurl}.
+You can override OnOpeningURL to selectively block some
+URLs (e.g. for security reasons) or to redirect them elsewhere. Default
+behaviour is to always return {\tt wxHTML\_OPEN}.
+
+\wxheading{Parameters}
+
+\docparam{type}{Indicates type of the resource. Is one of
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxHTML\_URL\_PAGE}}{Opening a HTML page.}
+\twocolitem{{\bf wxHTML\_URL\_IMAGE}}{Opening an image.}
+\twocolitem{{\bf wxHTML\_URL\_OTHER}}{Opening a resource that doesn't fall into
+any other category.}
+\end{twocollist}}
+
+\docparam{url}{URL being opened.}
 
-Also see \helpref{wxHtmlWinParser::CanOpenURL}{wxhtmlwinparsercanopenurl}.
+\docparam{redirect}{Pointer to wxString variable that must be filled with an
+URL if OnOpeningURL returns {\tt wxHTML\_REDIRECT}.}
+
+\wxheading{Return value}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxHTML\_OPEN}}{Open the URL.}
+\twocolitem{{\bf wxHTML\_BLOCK}}{Deny access to the URL, \helpref{wxHtmlParser::OpenURL}{wxhtmlparseropenurl} will return NULL.}
+\twocolitem{{\bf wxHTML\_REDIRECT}}{Don't open {\it url}, redirect to another
+URL. OnOpeningURL must fill {\it *redirect} with the new URL. OnOpeningURL will
+be called again on returned URL.}
+\end{twocollist}
 
 \membersection{wxHtmlWindow::OnSetTitle}\label{wxhtmlwindowonsettitle}
 
@@ -231,6 +294,52 @@ Read values: all things set by SetFonts, SetBorders.
 
 \docparam{path}{Optional path in config tree. If not given current path is used.}
 
+\membersection{wxHtmlWindow::SelectAll}\label{wxhtmlwindowselectall}
+
+\func{void}{SelectAll}{\void}
+
+Selects all text in the window.
+
+\wxheading{See also}
+
+\helpref{SelectLine}{wxhtmlwindowselectline},
+\helpref{SelectWord}{wxhtmlwindowselectword}
+
+\membersection{wxHtmlWindow::SelectionToText}\label{wxhtmlwindowselectiontotext}
+
+\func{wxString}{SelectionToText}{\void}
+
+Returns current selection as plain text. Returns empty string if no text
+is currently selected.
+
+\membersection{wxHtmlWindow::SelectLine}\label{wxhtmlwindowselectline}
+
+\func{void}{SelectLine}{\param{const wxPoint\& }{pos}}
+
+Selects the line of text that \arg{pos} points at. Note that \arg{pos}
+is relative to the top of displayed page, not to window's origin, use
+\helpref{CalcUnscrolledPosition}{wxscrolledwindowcalcunscrolledposition}
+to convert physical coordinate.
+
+\wxheading{See also}
+
+\helpref{SelectAll}{wxhtmlwindowselectall},
+\helpref{SelectWord}{wxhtmlwindowselectword}
+
+\membersection{wxHtmlWindow::SelectWord}\label{wxhtmlwindowselectword}
+
+\func{void}{SelectWord}{\param{const wxPoint\& }{pos}}
+
+Selects the word at position \arg{pos}. Note that \arg{pos}
+is relative to the top of displayed page, not to window's origin, use
+\helpref{CalcUnscrolledPosition}{wxscrolledwindowcalcunscrolledposition}
+to convert physical coordinate.
+
+\wxheading{See also}
+
+\helpref{SelectAll}{wxhtmlwindowselectall},
+\helpref{SelectLine}{wxhtmlwindowselectline}
+
 \membersection{wxHtmlWindow::SetBorders}\label{wxhtmlwindowsetborders}
 
 \func{void}{SetBorders}{\param{int }{b}}
@@ -245,14 +354,14 @@ This function sets the space between border of window and HTML contents. See ima
 
 \membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
 
-\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes}}
+\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
 
 This function sets font sizes and faces.
 
 \wxheading{Parameters}
 
 \docparam{normal\_face}{This is face name for normal (i.e. non-fixed) font. 
-It can be either empty string (then the default face is choosen) or
+It can be either empty string (then the default face is chosen) or
 platform-specific face name. Examples are "helvetica" under Unix or
 "Times New Roman" under Windows.}
 
@@ -260,24 +369,14 @@ platform-specific face name. Examples are "helvetica" under Unix or
 
 \docparam{sizes}{This is an array of 7 items of {\it int} type.
 The values represent size of font with HTML size from -2 to +4
-( <FONT SIZE=-2> to <FONT SIZE=+4> )}
+( <FONT SIZE=-2> to <FONT SIZE=+4> ). Default sizes are used if {\it sizes}
+is NULL.}
 
 \wxheading{Defaults}
 
-Under wxGTK:
-
-\begin{verbatim}
-    SetFonts("", "", {10, 12, 14, 16, 19, 24, 32});
-\end{verbatim}
-
-Under Windows:
-
-\begin{verbatim}
-    SetFonts("", "", {7, 8, 10, 12, 16, 22, 30});
-\end{verbatim}
-
-Athough it seems different the fact is that the fonts are of approximately
-same size under both platforms (due to wxMSW / wxGTK inconsistency)
+Default font sizes are defined by constants wxHTML\_FONT\_SIZE\_1,
+wxHTML\_FONT\_SIZE\_2, ..., wxHTML\_FONT\_SIZE\_7. Note that they differ among
+platforms. Default face names are empty strings.
 
 \membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
 
@@ -299,7 +398,7 @@ If you want to load a document from some location use
 
 \wxheading{Return value}
 
-FALSE if an error occurred, TRUE otherwise.
+false if an error occurred, true otherwise.
 
 \membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}
 
@@ -321,6 +420,11 @@ this sets statusbar slot where messages will be displayed.
 
 \docparam{bar}{statusbar slot number (0..n)}
 
+\membersection{wxHtmlWindow::ToText}\label{wxhtmlwindowtotext}
+
+\func{wxString}{ToText}{\void}
+
+Returns content of currently displayed page as plain text.
 
 \membersection{wxHtmlWindow::WriteCustomization}\label{wxhtmlwindowwritecustomization}