]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/htwindow.tex
Some work on GTK focus handling and events.
[wxWidgets.git] / docs / latex / wx / htwindow.tex
index 0c47bc0c07c15e7a8b4f90bae06837723a9f1659..2a821551f8fdebe86a59cc567f1d95e0de218835 100644 (file)
@@ -13,17 +13,24 @@ The purpose of this class is to display HTML pages (either local
 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
+Once the window is created you can set its content by calling 
 \helpref{SetPage(text)}{wxhtmlwindowsetpage} or 
 \helpref{LoadPage(filename)}{wxhtmlwindowloadpage}. 
 
+\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}
 
-wxScrolledWindow
+\helpref{wxScrolledWindow}{wxscrolledwindow}
 
 \wxheading{Include files}
 
-<wxhtml/wxhtmlwin.h>
+<wx/html/htmlwin.h>
 
 \membersection{wxHtmlWindow::wxHtmlWindow}\label{wxhtmlwindowwxhtmlwindow}
 
@@ -31,7 +38,7 @@ wxScrolledWindow
 
 Default constructor.
 
-\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"}}
+\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"}}
 
 Constructor. The parameters are the same as for the \helpref{wxScrolledWindow}{wxscrolledwindow} constructor.
 
@@ -53,6 +60,20 @@ filters. These filters are present by default:
 \item Plain Text filter (this filter is used if no other filter matches)
 \end{itemize}
 
+\membersection{wxHtmlWindow::AppendToPage}\label{wxhtmlwindowappendtopage}
+
+\func{bool}{AppendToPage}{\param{const wxString\& }{source}}
+
+Appends HTML fragment to currently displayed text and refreshes the window. 
+
+\wxheading{Parameters}
+
+\docparam{source}{HTML code fragment}
+
+\wxheading{Return value}
+
+FALSE if an error occurred, TRUE otherwise.
+
 \membersection{wxHtmlWindow::GetInternalRepresentation}\label{wxhtmlwindowgetinternalrepresentation}
 
 \constfunc{wxHtmlContainerCell*}{GetInternalRepresentation}{\void}
@@ -62,6 +83,16 @@ Returns pointer to the top-level container.
 See also: \helpref{Cells Overview}{cells}, 
 \helpref{Printing Overview}{printing}
 
+\membersection{wxHtmlWindow::GetOpenedAnchor}\label{wxhtmlwindowgetopenedanchor}
+
+\func{wxString}{GetOpenedAnchor}{\void}
+
+Returns anchor within currently opened page
+(see \helpref{GetOpenedPage}{wxhtmlwindowgetopenedpage}). 
+If no page is opened or if the displayed page wasn't
+produced by call to LoadPage, empty string is returned.
+
+
 \membersection{wxHtmlWindow::GetOpenedPage}\label{wxhtmlwindowgetopenedpage}
 
 \func{wxString}{GetOpenedPage}{\void}
@@ -88,6 +119,21 @@ Returns the related frame.
 Moves back to the previous page. (each page displayed using 
 \helpref{LoadPage}{wxhtmlwindowloadpage} is stored in history list.)
 
+\membersection{wxHtmlWindow::HistoryCanBack}\label{wxhtmlwindowhistorycanback}
+
+\func{bool}{HistoryCanBack}{\void}
+
+Returns true if it is possible to go back in the history (i.e. HistoryBack()
+won't fail).
+
+\membersection{wxHtmlWindow::HistoryCanForward}\label{wxhtmlwindowhistorycanforward}
+
+\func{bool}{HistoryCanForward}{\void}
+
+Returns true if it is possible to go forward in the history (i.e. HistoryBack()
+won't fail).
+
+
 \membersection{wxHtmlWindow::HistoryClear}\label{wxhtmlwindowhistoryclear}
 
 \func{void}{HistoryClear}{\void}
@@ -102,7 +148,7 @@ Moves to next page in history.
 
 \membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
 
-\func{bool}{LoadPage}{\param{const wxString\& }{location}}
+\func{virtual bool}{LoadPage}{\param{const wxString\& }{location}}
 
 Unlike SetPage this function first loads HTML page from {\it location} 
 and then displays it. See example:
@@ -117,15 +163,83 @@ htmlwin -> SetPage("help/myproject/index.htm");
 
 \wxheading{Return value}
 
-FALSE if an error occured, TRUE otherwise
+FALSE if an error occurred, TRUE otherwise
+
+\membersection{wxHtmlWindow::OnCellClicked}\label{wxhtmlwindowoncellclicked}
+
+\func{virtual void}{OnCellClicked}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}, \param{const wxMouseEvent\& }{event}}
+
+This method is called when a mouse button is clicked inside wxHtmlWindow.
+The default behaviour is to call 
+\helpref{OnLinkClicked}{wxhtmlwindowonlinkclicked} if the cell contains a
+hypertext link.
+
+\wxheading{Parameters}
+
+\docparam{cell}{The cell inside which the mouse was clicked, always a simple
+(i.e. non container) cell}
+
+\docparam{x, y}{The logical coordinates of the click point}
+
+\docparam{event}{The mouse event containing other information about the click}
+
+\membersection{wxHtmlWindow::OnCellMouseHover}\label{wxhtmlwindowoncellmousehover}
+
+\func{virtual void}{OnCellMouseHover}{\param{wxHtmlCell }{*cell}, \param{wxCoord }{x}, \param{wxCoord }{y}}
+
+This method is called when a mouse moves over an HTML cell.
+
+\wxheading{Parameters}
+
+\docparam{cell}{The cell inside which the mouse is currently, always a simple
+(i.e. non container) cell}
+
+\docparam{x, y}{The logical coordinates of the click point}
 
 \membersection{wxHtmlWindow::OnLinkClicked}\label{wxhtmlwindowonlinkclicked}
 
-\func{virtual void}{OnLinkClicked}{\param{const wxString\& }{link}}
+\func{virtual void}{OnLinkClicked}{\param{const wxHtmlLinkInfo\& }{link}}
 
 Called when user clicks on hypertext link. Default behaviour is to call 
 \helpref{LoadPage}{wxhtmlwindowloadpage} and do nothing else.
 
+Also see \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}.
+
+\membersection{wxHtmlWindow::OnOpeningURL}\label{wxhtmlwindowonopeningurl}
+
+\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). 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.}
+
+\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}
 
@@ -156,7 +270,7 @@ Read values: all things set by SetFonts, SetBorders.
 
 This function sets the space between border of window and HTML contents. See image:
 
-\image{}{border.bmp}
+\helponly{\image{}{border.bmp}}
 
 \wxheading{Parameters}
 
@@ -164,7 +278,7 @@ 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{int }{normal\_italic\_mode}, \param{wxString }{fixed\_face}, \param{int }{fixed\_italic\_mode}, \param{const int }{*sizes}}
+\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{wxString }{fixed\_face}, \param{const int }{*sizes}}
 
 This function sets font sizes and faces.
 
@@ -175,16 +289,8 @@ It can be either empty string (then the default face is choosen) or
 platform-specific face name. Examples are "helvetica" under Unix or
 "Times New Roman" under Windows.}
 
-\docparam{normal\_italic\_mode}{This is either wxSLANT or wxITALIC.
-It determines how
-italic (<I>..</I>) text is handled. See wxFont documentation for
-details. For example you should use wxSLANT in conjuction with
-"helvetica" face or wxITALIC with "times" face.}
-
 \docparam{fixed\_face}{The same thing for fixed face ( <TT>..</TT> )}
 
-\docparam{fixed\_italic\_mode}{The same thing for fixed face.}
-
 \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> )}
@@ -194,13 +300,13 @@ The values represent size of font with HTML size from -2 to +4
 Under wxGTK:
 
 \begin{verbatim}
-    SetFonts("", wxSLANT, "", wxSLANT, {10, 12, 14, 16, 19, 24, 32});
+    SetFonts("", "", {10, 12, 14, 16, 19, 24, 32});
 \end{verbatim}
 
 Under Windows:
 
 \begin{verbatim}
-    SetFonts("", wxSLANT, "", wxSLANT, {7, 8, 10, 12, 16, 22, 30});
+    SetFonts("", "", {7, 8, 10, 12, 16, 22, 30});
 \end{verbatim}
 
 Athough it seems different the fact is that the fonts are of approximately
@@ -226,7 +332,7 @@ If you want to load a document from some location use
 
 \wxheading{Return value}
 
-FALSE if an error occured, TRUE otherwise.
+FALSE if an error occurred, TRUE otherwise.
 
 \membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}