% htmlcell.tex at 21/Mar/99 22:45:23
%
-
\section{\class{wxHtmlCell}}\label{wxhtmlcell}
Internal data structure. It represents fragments of parsed HTML
-page, so-called {\bf cell} - a word, picture, table, horizontal line and so on.
-It is used by \helpref{wxHtmlWindow}{wxhtmlwindow} and
+page, the so-called {\bf cell} - a word, picture, table, horizontal line and so on.
+It is used by \helpref{wxHtmlWindow}{wxhtmlwindow} and
\helpref{wxHtmlWinParser}{wxhtmlwinparser} to represent HTML page in memory.
You can divide cells into two groups : {\it visible} cells with non-zero width and
height and {\it helper} cells (usually with zero width and height) that
perform special actions such as color or font change.
-
\wxheading{Derived from}
-wxObject
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/html/htmlcell.h>
\wxheading{See Also}
\helpref{Cells Overview}{cells},
-\helpref{wxHtmlContainerCell}{wxhtmlcontainercell},
+\helpref{wxHtmlContainerCell}{wxhtmlcontainercell}
\latexignore{\rtfignore{\wxheading{Members}}}
-
\membersection{wxHtmlCell::wxHtmlCell}\label{wxhtmlcellwxhtmlcell}
\func{}{wxHtmlCell}{\void}
Constructor.
+\membersection{wxHtmlCell::AdjustPagebreak}\label{wxhtmlcelladjustpagebreak}
-\membersection{wxHtmlCell::SetParent}\label{wxhtmlcellsetparent}
+\func{virtual bool}{AdjustPagebreak}{\param{int * }{pagebreak}}
-\func{void}{SetParent}{\param{wxHtmlContainerCell }{*p}}
+This method is used to adjust pagebreak position. The parameter is
+variable that contains y-coordinate of page break (= horizontal line that
+should not be crossed by words, images etc.). If this cell cannot be divided
+into two pieces (each one on another page) then it moves the pagebreak
+few pixels up.
-Sets parent container of this cell. This is called from
-\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}.
+Returns TRUE if pagebreak was modified, FALSE otherwise
-\membersection{wxHtmlCell::GetParent}\label{wxhtmlcellgetparent}
+Usage:
+\begin{verbatim}
+while (container->AdjustPagebreak(&p)) {}
+\end{verbatim}
-\constfunc{wxHtmlContainerCell*}{GetParent}{\void}
+\membersection{wxHtmlCell::Draw}\label{wxhtmlcelldraw}
-Returns pointer to parent container.
+\func{virtual void}{Draw}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{view\_y1}, \param{int }{view\_y2}}
-\membersection{wxHtmlCell::GetPosX}\label{wxhtmlcellgetposx}
+Renders the cell.
-\constfunc{int}{GetPosX}{\void}
+\wxheading{Parameters}
-Returns X position within parent (the value is relative to parent's
-upper left corner). The returned value is meaningful only if
-parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
+\docparam{dc}{Device context to which the cell is to be drawn}
-\membersection{wxHtmlCell::GetPosY}\label{wxhtmlcellgetposy}
+\docparam{x,y}{Coordinates of parent's upper left corner (origin). You must
+add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
+Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
-\constfunc{int}{GetPosY}{\void}
+\docparam{view\_y1}{y-coord of the first line visible in window. This is
+used to optimize rendering speed}
-Returns Y position within parent (the value is relative to parent's
-upper left corner). The returned value is meaningful only if
-parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
+\docparam{view\_y2}{y-coord of the last line visible in window. This is
+used to optimize rendering speed}
-\membersection{wxHtmlCell::GetWidth}\label{wxhtmlcellgetwidth}
+\membersection{wxHtmlCell::DrawInvisible}\label{wxhtmlcelldrawinvisible}
-\constfunc{int}{GetWidth}{\void}
+\func{virtual void}{DrawInvisible}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}}
-Returns width of the cell (m_Width member).
+This method is called instead of \helpref{Draw}{wxhtmlcelldraw} when the
+cell is certainly out of the screen (and thus invisible). This is not
+nonsense - some tags (like \helpref{wxHtmlColourCell}{wxhtmlcolourcell}
+or font setter) must be drawn even if they are invisible!
-\membersection{wxHtmlCell::GetHeight}\label{wxhtmlcellgetheight}
+\wxheading{Parameters}
-\constfunc{int}{GetHeight}{\void}
+\docparam{dc}{Device context to which the cell is to be drawn}
-Returns height of the cell (m_Height member).
+\docparam{x,y}{Coordinates of parent's upper left corner. You must
+add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
+Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
+
+\membersection{wxHtmlCell::Find}\label{wxhtmlcellfind}
+
+\func{virtual const wxHtmlCell*}{Find}{\param{int }{condition}, \param{const void* }{param}}
+
+Returns pointer to itself if this cell matches condition (or if any of the cells
+following in the list matches), NULL otherwise.
+(In other words if you call top-level container's Find it will
+return pointer to the first cell that matches the condition)
+
+It is recommended way how to obtain pointer to particular cell or
+to cell of some type (e.g. wxHtmlAnchorCell reacts on
+wxHTML\_COND\_ISANCHOR condition)
+
+\wxheading{Parameters}
+
+\docparam{condition}{Unique integer identifier of condition}
+
+\docparam{param}{Optional parameters}
+
+\wxheading{Defined conditions}
+
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxHTML\_COND\_ISANCHOR}}{Finds particular anchor.
+{\it param} is pointer to wxString with name of the anchor.}
+\twocolitem{{\bf wxHTML\_COND\_USER}}{User-defined conditions start
+from this number.}
+\end{twocollist}
\membersection{wxHtmlCell::GetDescent}\label{wxhtmlcellgetdescent}
\constfunc{int}{GetDescent}{\void}
-Returns descent value of the cell (m_Descent member). See explanation:
+Returns descent value of the cell (m\_Descent member).
+\helponly{See explanation:
\image{}{descent.bmp}
+}
+
+\membersection{wxHtmlCell::GetHeight}\label{wxhtmlcellgetheight}
+
+\constfunc{int}{GetHeight}{\void}
+
+Returns height of the cell (m\_Height member).
+
+\membersection{wxHtmlCell::GetId}\label{wxhtmlcellgetid}
+
+\constfunc{virtual wxString}{GetId}{\void}
+
+Returns unique cell identifier if there is any, empty string otherwise.
\membersection{wxHtmlCell::GetLink}\label{wxhtmlcellgetlink}
-\constfunc{virtual wxString}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}}
+\constfunc{virtual wxHtmlLinkInfo*}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}}
-Returns hypertext link if associated with this cell or empty string otherwise.
-(Note : this makes sense only for visible tags).
+Returns hypertext link if associated with this cell or NULL otherwise.
+See \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}.
+(Note: this makes sense only for visible tags).
\wxheading{Parameters}
\docparam{x,y}{Coordinates of position where the user pressed mouse button.
These coordinates are used e.g. by COLORMAP. Values are relative to the
-upper left corner of THIS cell (i.e. from 0 to m_Width or m_Height)}
+upper left corner of THIS cell (i.e. from 0 to m\_Width or m\_Height)}
\membersection{wxHtmlCell::GetNext}\label{wxhtmlcellgetnext}
Returns pointer to the next cell in list (see htmlcell.h if you're
interested in details).
-\membersection{wxHtmlCell::SetPos}\label{wxhtmlcellsetpos}
+\membersection{wxHtmlCell::GetParent}\label{wxhtmlcellgetparent}
-\func{void}{SetPos}{\param{int }{x}, \param{int }{y}}
+\constfunc{wxHtmlContainerCell*}{GetParent}{\void}
-Sets cell's position within parent container.
+Returns pointer to parent container.
+\membersection{wxHtmlCell::GetPosX}\label{wxhtmlcellgetposx}
-\membersection{wxHtmlCell::SetLink}\label{wxhtmlcellsetlink}
+\constfunc{int}{GetPosX}{\void}
-\func{void}{SetLink}{\param{const wxString\& }{link}}
+Returns X position within parent (the value is relative to parent's
+upper left corner). The returned value is meaningful only if
+parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
-Sets the hypertext link asocciated with this cell. (Default value
-is wxEmptyString (no link))
+\membersection{wxHtmlCell::GetPosY}\label{wxhtmlcellgetposy}
-\membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext}
+\constfunc{int}{GetPosY}{\void}
-\func{void}{SetNext}{\param{wxHtmlCell }{*cell}}
+Returns Y position within parent (the value is relative to parent's
+upper left corner). The returned value is meaningful only if
+parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
-Sets the next cell in the list. This shouldn't be called by user - it is
-to be used only by \helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}
+\membersection{wxHtmlCell::GetWidth}\label{wxhtmlcellgetwidth}
+
+\constfunc{int}{GetWidth}{\void}
+
+Returns width of the cell (m\_Width member).
\membersection{wxHtmlCell::Layout}\label{wxhtmlcelllayout}
\func{virtual void}{Layout}{\param{int }{w}}
-This method performs 2 actions:
+This method performs two actions:
-\begin{enumerate}
-\item adjusts cell's width according to the fact that maximal possible width is {\it w}.
+\begin{enumerate}\itemsep=0pt
+\item adjusts the cell's width according to the fact that maximal possible width is {\it w}.
(this has sense when working with horizontal lines, tables etc.)
\item prepares layout (=fill-in m\_PosX, m\_PosY (and sometimes m\_Height) members)
based on actual width {\it w}
m\_PosX and m\_PosY are undefined (or invalid)
before calling Layout.
-\membersection{wxHtmlCell::Draw}\label{wxhtmlcelldraw}
-
-\func{virtual void}{Draw}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{view\_y1}, \param{int }{view\_y2}}
-
-Renders the cell.
-
-\wxheading{Parameters}
-
-\docparam{dc}{Device context to which the cell is to be drawn}
-
-\docparam{x,y}{Coordinates of parent's upper left corner (origin). You must
-add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
-Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
-
-\docparam{view_y1}{y-coord of the first line visible in window. This is
-used to optimize rendering speed}
-
-\docparam{view_y2}{y-coord of the last line visible in window. This is
-used to optimize rendering speed}
-
-\membersection{wxHtmlCell::DrawInvisible}\label{wxhtmlcelldrawinvisible}
-
-\func{virtual void}{DrawInvisible}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}}
-
-This method is called instead of \helpref{Draw}{wxhtmlcelldraw} when the
-cell is certainly out of the screen (and thus invisible). This is not
-nonsense - some tags (like \helpref{wxHtmlColourCell}{wxhtmlcolourcell}
-or font setter) must be drawn even if they are invisible!
-
-\wxheading{Parameters}
-
-\docparam{dc}{Device context to which the cell is to be drawn}
-
-\docparam{x,y}{Coordinates of parent's upper left corner. You must
-add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
-Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
-
+\membersection{wxHtmlCell::OnMouseClick}\label{wxhtmlcellonmouseclick}
-\membersection{wxHtmlCell::Find}\label{wxhtmlcellfind}
+\func{virtual void}{OnMouseClick}{\param{wxWindow* }{parent}, \param{int}{x}, \param{int }{y}, \param{const wxMouseEvent\& }{event}}
-\func{virtual const wxHtmlCell*}{Find}{\param{int }{condition}, \param{const void* }{param}}
+This function is simple event handler. Each time the user clicks mouse button over a cell
+within \helpref{wxHtmlWindow}{wxhtmlwindow} this method of that cell is called. Default behavior is
+that it calls \helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage}.
-Returns pointer to itself if this cell matches condition (or if any of the cells
-following in the list matches), NULL otherwise.
-(In other words if you call top-level container's Find it will
-return pointer to the first cell that matches the condition)
+\wxheading{Note}
-It is recommended way how to obtain pointer to particular cell or
-to cell of some type (e.g. wxHtmlAnchorCell reacts on
-HTML_COND_ISANCHOR condition)
+If you need more "advanced" event handling
+you should use wxHtmlBinderCell instead.
\wxheading{Parameters}
-\docparam{condition}{Unique integer identifier of condition}
-
-\docparam{param}{Optional parameters}
+\docparam{parent}{parent window (always wxHtmlWindow!)}
-\wxheading{Defined conditions}
+\docparam{x, y}{coordinates of mouse click (this is relative to cell's origin}
-\begin{twocollist}
-\twocolitem{{\bf HTML_COND_ISANCHOR}}{Finds particular anchor.
-{\it param} is pointer to wxString with name of the anchor.}
-\twocolitem{{\bf HTML_COND_USER}}{User-defined conditions start
-from this number}
-\end{twocollist}
+\docparam{left, middle, right}{boolean flags for mouse buttons. TRUE if the left/middle/right
+button is pressed, FALSE otherwise}
+\membersection{wxHtmlCell::SetId}\label{wxhtmlcellsetid}
+\func{void}{SetId}{\param{const wxString\& }{id}}
-\membersection{wxHtmlCell::OnMouseClick}\label{wxhtmlcellonmouseclick}
+Sets unique cell identifier. Default value is no identifier, i.e. empty string.
+\membersection{wxHtmlCell::SetLink}\label{wxhtmlcellsetlink}
-\func{virtual void}{OnMouseClick}{\param{wxWindow* }{parent}, \param{int }{x}, \param{int }{y}, \param{bool }{left}, \param{bool }{middle}, \param{bool }{right}}
+\func{void}{SetLink}{\param{const wxHtmlLinkInfo\& }{link}}
-This function is simple event handler. Each time user clicks mouse button over a cell
-within \helpref{wxHtmlWindow}{wxhtmlwindow} this method of that cell is called. Default behavior is
-that it calls \helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage}.
+Sets the hypertext link associated with this cell. (Default value
+is \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}("", "") (no link))
-\wxheading{Note}
+\membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext}
-If you need more "advanced" behaviour (for example you'd like to catch mouse movement events or
-key events or whatsoever) you should use wxHtmlBinderCell instead.
+\func{void}{SetNext}{\param{wxHtmlCell }{*cell}}
-\wxheading{Parameters}
+Sets the next cell in the list. This shouldn't be called by user - it is
+to be used only by \helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}.
-\docparam{parent}{parent window (always wxHtmlWindow!)}
+\membersection{wxHtmlCell::SetParent}\label{wxhtmlcellsetparent}
-\docparam{x, y}{coordinates of mouse click (this is relative to cell's origin}
+\func{void}{SetParent}{\param{wxHtmlContainerCell }{*p}}
-\docparam{left, middle, right}{boolean flags for mouse buttons. TRUE if the left/middle/right
-button is pressed, FALSE otherwise}
+Sets parent container of this cell. This is called from
+\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}.
+\membersection{wxHtmlCell::SetPos}\label{wxhtmlcellsetpos}
+\func{void}{SetPos}{\param{int }{x}, \param{int }{y}}
+Sets the cell's position within parent container.