]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/htwindow.tex
Added AdvanceSelection, ShowWindowMenu and keyboard handling
[wxWidgets.git] / docs / latex / wx / htwindow.tex
index a463306e3f722d242749f04a272f1e132cc55e94..27f36f0cee88dedadf3923308fee234b9363809e 100644 (file)
@@ -27,26 +27,65 @@ Don't forget to initialize all image formats you need before loading any page!
 
 \wxheading{Derived from}
 
-\helpref{wxScrolledWindow}{wxscrolledwindow}
+\helpref{wxScrolledWindow}{wxscrolledwindow}\\
+\helpref{wxPanel}{wxpanel}\\
+\helpref{wxWindow}{wxwindow}\\
+\helpref{wxEvtHandler}{wxevthandler}\\
+\helpref{wxObject}{wxobject}
 
 \wxheading{Include files}
 
 <wx/html/htmlwin.h>
 
+\wxheading{Library}
+
+\helpref{wxHtml}{librarieslist}
+
+\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}
+
+
+\wxheading{Event handling}
+
+To process input from a wxHtmlWindow, use these event handler macros to direct input to member
+functions that take a \helpref{wxHtmlCellEvent}{wxhtmlcellevent} argument or a \helpref{wxHtmlLinkEvent}{wxhtmllinkevent}.
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf EVT\_HTML\_CELL\_CLICKED(id, func)}}{A \helpref{wxHtmlCell}{wxhtmlcell} was clicked.}
+\twocolitem{{\bf EVT\_HTML\_CELL\_HOVER(id, func)}}{The mouse passed over a \helpref{wxHtmlCell}{wxhtmlcell}.}
+\twocolitem{{\bf EVT\_HTML\_LINK\_CLICKED(id, func)}}{A \helpref{wxHtmlCell}{wxhtmlcell} which contains an hyperlink was clicked.}
+\end{twocollist}
+
+
+\wxheading{See also}
+
+\helpref{wxHtmlLinkEvent}{wxhtmllinkevent}, \helpref{wxHtmlCellEvent}{wxhtmlcellevent}
+
+
+
 \membersection{wxHtmlWindow::wxHtmlWindow}\label{wxhtmlwindowwxhtmlwindow}
 
 \func{}{wxHtmlWindow}{\void}
 
 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\_DEFAULT\_STYLE}, \param{const wxString\& }{name = "htmlWindow"}}
 
 Constructor. The parameters are the same as for the \helpref{wxScrolledWindow}{wxscrolledwindow} constructor.
 
 \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}
 
@@ -186,32 +225,43 @@ 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}}
+\func{virtual bool}{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
+
+The default behaviour is to emit a \helpref{wxHtmlCellEvent}{wxhtmlcellevent}
+and, if the event was not processed or skipped, call
+\helpref{OnLinkClicked}{wxhtmlwindowonlinkclicked} if the cell contains an
 hypertext link.
 
+Overloading this method is deprecated; intercept the event instead.
+
+
 \wxheading{Parameters}
 
 \docparam{cell}{The cell inside which the mouse was clicked, always a simple
-(i.e. non container) cell}
+(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}
 
+\wxheading{Return value}
+
+\true if a link was clicked, \false otherwise.
+
 \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.
+Default behaviour is to emit a \helpref{wxHtmlCellEvent}{wxhtmlcellevent}.
+Overloading this method is deprecated; intercept the event instead.
 
 \wxheading{Parameters}
 
 \docparam{cell}{The cell inside which the mouse is currently, always a simple
-(i.e. non container) cell}
+(i.e. non-container) cell}
 
 \docparam{x, y}{The logical coordinates of the click point}
 
@@ -219,8 +269,10 @@ This method is called when a mouse moves over an HTML cell.
 
 \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.
+Called when user clicks on hypertext link. Default behaviour is to emit a
+\helpref{wxHtmlLinkEvent}{wxhtmllinkevent} and, if the event was not processed
+or skipped, call \helpref{LoadPage}{wxhtmlwindowloadpage} and do nothing else.
+Overloading this method is deprecated; intercept the event instead.
 
 Also see \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}.
 
@@ -283,6 +335,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}}
@@ -297,7 +395,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{wxString }{fixed\_face}, \param{const int }{*sizes = NULL}}
+\func{void}{SetFonts}{\param{const wxString\& }{normal\_face}, \param{const wxString\& }{fixed\_face}, \param{const int }{*sizes = NULL}}
 
 This function sets font sizes and faces.
 
@@ -363,6 +461,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}
 
@@ -381,3 +484,127 @@ Saved values: all things set by SetFonts, SetBorders.
 
 \docparam{path}{Optional path in config tree. If not given, the current path is used.}
 
+
+
+
+
+
+
+\section{\class{wxHtmlLinkEvent}}\label{wxhtmllinkevent}
+
+This event class is used for the events generated by \helpref{wxHtmlWindow}{wxhtmlwindow}.
+
+\wxheading{Derived from}
+
+\helpref{wxCommandEvent}{wxcommandevent}\\
+\helpref{wxEvent}{wxevent}\\
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/html/htmlwin.h>
+
+\wxheading{Library}
+
+\helpref{wxHtml}{librarieslist}
+
+\wxheading{Event handling}
+
+To process input from a wxHtmlLinkEvent, use one of these event handler macros to
+direct input to member function that take a \helpref{wxHtmlLinkEvent}{wxhtmllinkevent} argument:
+
+\twocolwidtha{7cm}
+\begin{twocollist}
+\twocolitem{{\bf EVT\_HTML\_LINK\_CLICKED(id, func)}}{User clicked on an hyperlink.}
+\end{twocollist}
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxHtmlLinkEvent::wxHtmlLinkEvent}\label{wxhtmllinkeventctor}
+
+\func{}{wxHyperlinkEvent}{\param{int}{ id}, \param{const wxHtmlLinkInfo \&}{ linkinfo}}
+
+The constructor is not normally used by the user code.
+
+
+\membersection{wxHtmlLinkEvent::GetLinkInfo}\label{wxhtmllinkeventgetlinkinfo}
+
+\constfunc{const wxHtmlLinkInfo &}{GetLinkInfo}{\void}
+
+Returns the \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo} which contains info about the cell clicked and the hyperlink it contains.
+
+
+
+
+
+
+\section{\class{wxHtmlCellEvent}}\label{wxhtmlcellevent}
+
+This event class is used for the events generated by \helpref{wxHtmlWindow}{wxhtmlwindow}.
+
+\wxheading{Derived from}
+
+\helpref{wxCommandEvent}{wxcommandevent}\\
+\helpref{wxEvent}{wxevent}\\
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/html/htmlwin.h>
+
+\wxheading{Library}
+
+\helpref{wxHtml}{librarieslist}
+
+\wxheading{Event handling}
+
+To process input from a wxHtmlCellEvent, use one of these event handler macros to
+direct input to member function that take a \helpref{wxHtmlCellEvent}{wxhtmlcellevent} argument:
+
+\twocolwidtha{7cm}
+\begin{twocollist}
+\twocolitem{{\bf EVT\_HTML\_CELL\_HOVER(id, func)}}{User moved the mouse over a \helpref{wxHtmlCell}{wxhtmlcell}.}
+\twocolitem{{\bf EVT\_HTML\_CELL\_CLICKED(id, func)}}{User clicked on a \helpref{wxHtmlCell}{wxhtmlcell}. When handling this event, remember to use \helpref{wxHtmlCell::SetLinkClicked(true)}{wxhtmlcelleventsetlinkclicked} if the cell contains a link.}
+\end{twocollist}
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxHtmlCellEvent::wxHtmlCellEvent}\label{wxhtmlcelleventctor}
+
+\func{}{wxHtmlCellEvent}{\param{wxEventType}{ commandType}, \param{int}{ id}, \param{wxHtmlCell *}{ cell}, \param{const wxPoint \&}{ point}}
+
+The constructor is not normally used by the user code.
+
+
+\membersection{wxHtmlCellEvent::GetCell}\label{wxhtmlcelleventgetcell}
+
+\constfunc{wxHtmlCell *}{GetCell}{\void}
+
+Returns the \helpref{wxHtmlCellEvent}{wxhtmlcellevent} associated with the event.
+
+
+\membersection{wxHtmlCellEvent::GetPoint}\label{wxhtmlcelleventgetpoint}
+
+\constfunc{wxPoint}{GetPoint}{\void}
+
+Returns the \helpref{wxPoint}{wxpoint} associated with the event.
+
+
+\membersection{wxHtmlCellEvent::SetLinkClicked}\label{wxhtmlcelleventsetlinkclicked}
+
+\func{bool}{SetLinkClicked}{\param{bool}{ linkclicked}}
+
+Call this function with {\tt linkclicked} set to \true if the cell which has been clicked contained a link or
+\false otherwise (which is the default). With this function the event handler can return info to the
+wxHtmlWindow which sent the event.
+
+
+\membersection{wxHtmlCellEvent::GetLinkClicked}\label{wxhtmlcelleventgetlinkclicked}
+
+\constfunc{bool}{GetLinkClicked}{\void}
+
+Returns \true if \helpref{SetLinkClicked(true)}{wxhtmlcelleventsetlinkclicked} has previously been called;
+\false otherwise.
+