X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/22d6efa851642c6a69174278fc50f712f41e2271..802df2b744052c0da6353e5ad4ade2f8dfcfdab8:/docs/latex/wx/htcell.tex diff --git a/docs/latex/wx/htcell.tex b/docs/latex/wx/htcell.tex index 58b81d46b1..6733cfabc5 100644 --- a/docs/latex/wx/htcell.tex +++ b/docs/latex/wx/htcell.tex @@ -6,7 +6,7 @@ \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. +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. @@ -16,7 +16,11 @@ perform special actions such as color or font change. \wxheading{Derived from} -wxObject +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + \wxheading{See Also} @@ -31,67 +35,123 @@ wxObject Constructor. -\membersection{wxHtmlCell::SetParent}\label{wxhtmlcellsetparent} +\membersection{wxHtmlCell::AdjustPagebreak}\label{wxhtmlcelladjustpagebreak} -\func{void}{SetParent}{\param{wxHtmlContainerCell }{*p}} +\func{virtual bool}{AdjustPagebreak}{\param{int * }{pagebreak}} -Sets parent container of this cell. This is called from -\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}. +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. -\membersection{wxHtmlCell::GetParent}\label{wxhtmlcellgetparent} +Returns TRUE if pagebreak was modified, FALSE otherwise -\constfunc{wxHtmlContainerCell*}{GetParent}{\void} +Usage: +\begin{verbatim} +while (container->AdjustPagebreak(&p)) {} +\end{verbatim} -Returns pointer to parent container. +\membersection{wxHtmlCell::Draw}\label{wxhtmlcelldraw} -\membersection{wxHtmlCell::GetPosX}\label{wxhtmlcellgetposx} +\func{virtual void}{Draw}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{view\_y1}, \param{int }{view\_y2}} -\constfunc{int}{GetPosX}{\void} +Renders the cell. -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! +\wxheading{Parameters} -\membersection{wxHtmlCell::GetPosY}\label{wxhtmlcellgetposy} +\docparam{dc}{Device context to which the cell is to be drawn} -\constfunc{int}{GetPosY}{\void} +\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)}} -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\_y1}{y-coord of the first line visible in window. This is +used to optimize rendering speed} -\membersection{wxHtmlCell::GetWidth}\label{wxhtmlcellgetwidth} +\docparam{view\_y2}{y-coord of the last line visible in window. This is +used to optimize rendering speed} -\constfunc{int}{GetWidth}{\void} +\membersection{wxHtmlCell::DrawInvisible}\label{wxhtmlcelldrawinvisible} -Returns width of the cell (m_Width member). +\func{virtual void}{DrawInvisible}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}} -\membersection{wxHtmlCell::GetHeight}\label{wxhtmlcellgetheight} +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! -\constfunc{int}{GetHeight}{\void} +\wxheading{Parameters} -Returns height of the cell (m_Height member). +\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::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} @@ -100,34 +160,42 @@ upper left corner of THIS cell (i.e. from 0 to m_Width or m_Height)} 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::SetLink}\label{wxhtmlcellsetlink} +\membersection{wxHtmlCell::GetPosX}\label{wxhtmlcellgetposx} -\func{void}{SetLink}{\param{const wxString\& }{link}} +\constfunc{int}{GetPosX}{\void} -Sets the hypertext link asocciated with this cell. (Default value -is wxEmptyString (no 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! -\membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext} +\membersection{wxHtmlCell::GetPosY}\label{wxhtmlcellgetposy} -\func{void}{SetNext}{\param{wxHtmlCell }{*cell}} +\constfunc{int}{GetPosY}{\void} -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} +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! + +\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} @@ -137,90 +205,58 @@ It must be called before displaying cells structure because 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} +\membersection{wxHtmlCell::OnMouseClick}\label{wxhtmlcellonmouseclick} -\docparam{view_y2}{y-coord of the last line visible in window. This is -used to optimize rendering speed} +\func{virtual void}{OnMouseClick}{\param{wxWindow* }{parent}, \param{int}{x}, \param{int }{y}, \param{const wxMouseEvent\& }{event}} -\membersection{wxHtmlCell::DrawInvisible}\label{wxhtmlcelldrawinvisible} +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}. -\func{virtual void}{DrawInvisible}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}} +\wxheading{Note} -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! +If you need more "advanced" event handling +you should use wxHtmlBinderCell instead. \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::Find}\label{wxhtmlcellfind} +\docparam{parent}{parent window (always wxHtmlWindow!)} -\func{virtual const wxHtmlCell*}{Find}{\param{int }{condition}, \param{const void* }{param}} +\docparam{x, y}{coordinates of mouse click (this is relative to cell's origin} -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) +\docparam{left, middle, right}{boolean flags for mouse buttons. TRUE if the left/middle/right +button is pressed, FALSE otherwise} -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) +\membersection{wxHtmlCell::SetId}\label{wxhtmlcellsetid} -\wxheading{Parameters} +\func{void}{SetId}{\param{const wxString\& }{id}} -\docparam{condition}{Unique integer identifier of condition} +Sets unique cell identifier. Default value is no identifier, i.e. empty string. -\docparam{param}{Optional parameters} +\membersection{wxHtmlCell::SetLink}\label{wxhtmlcellsetlink} -\wxheading{Defined conditions} +\func{void}{SetLink}{\param{const wxHtmlLinkInfo\& }{link}} -\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} +Sets the hypertext link associated with this cell. (Default value +is \helpref{wxHtmlLinkInfo}{wxhtmllinkinfo}("", "") (no link)) -\membersection{wxHtmlCell::OnMouseClick}\label{wxhtmlcellonmouseclick} +\membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext} -\func{virtual void}{OnMouseClick}{\param{wxWindow* }{parent}, \param{int }{x}, \param{int }{y}, \param{bool }{left}, \param{bool }{middle}, \param{bool }{right}} +\func{void}{SetNext}{\param{wxHtmlCell }{*cell}} -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 next cell in the list. This shouldn't be called by user - it is +to be used only by \helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}. -\wxheading{Note} +\membersection{wxHtmlCell::SetParent}\label{wxhtmlcellsetparent} -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}{SetParent}{\param{wxHtmlContainerCell }{*p}} -\wxheading{Parameters} +Sets parent container of this cell. This is called from +\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}. -\docparam{parent}{parent window (always wxHtmlWindow!)} +\membersection{wxHtmlCell::SetPos}\label{wxhtmlcellsetpos} -\docparam{x, y}{coordinates of mouse click (this is relative to cell's origin} +\func{void}{SetPos}{\param{int }{x}, \param{int }{y}} -\docparam{left, middle, right}{boolean flags for mouse buttons. TRUE if the left/middle/right -button is pressed, FALSE otherwise} +Sets the cell's position within parent container.