X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/704a4b7524e05d7bf4d208eb1b30be9989abef4c..4fcbc84d657413b157ac3ef89bf8fbccbcf899ba:/docs/latex/wx/htmlcell.tex?ds=sidebyside diff --git a/docs/latex/wx/htmlcell.tex b/docs/latex/wx/htmlcell.tex index 76423eb7ad..6b3696ecd6 100644 --- a/docs/latex/wx/htmlcell.tex +++ b/docs/latex/wx/htmlcell.tex @@ -1,16 +1,15 @@ \subsection{Cells and Containers}\label{cells} This article describes mechanism used by -\helpref{wxHtmlWinParser}{wxhtmlwinparser} and -\helpref{wxHtmlWindow}{wxhtmlwindow} -to parse and display HTML documents. +\helpref{wxHtmlWinParser}{wxhtmlwinparser} and +\helpref{wxHtmlWindow}{wxhtmlwindow} to parse and display HTML documents. \wxheading{Cells} You can divide any text (or HTML) into small fragments. Let's call these fragments {\bf cells}. Cell is for example one word, horizontal line, image or any other part of document. Each cell has width and height (except special -"magic" cells with zero dimensions - e.g. color changers or font changers). +"magic" cells with zero dimensions - e.g. colour changers or font changers). See \helpref{wxHtmlCell}{wxhtmlcell}. @@ -22,55 +21,55 @@ on number and sizes of its sub-cells (and also depends on width of window). See \helpref{wxHtmlContainerCell}{wxhtmlcontainercell}, \helpref{wxHtmlCell::Layout}{wxhtmlcelllayout}. -This image shows you cells\ &\ containers: - -\image{}{contbox.bmp} +This image shows the cells and containers: +\helponly{\image{}{contbox.bmp}} \wxheading{Using Containers in Tag Handler} -\helpref{wxHtmlWinParser}{wxhtmlwinparser} provides user-friendly way -of managing containers. It's based on idea of opening and closing containers. +\helpref{wxHtmlWinParser}{wxhtmlwinparser} provides a user-friendly way +of managing containers. It is based on the idea of opening and closing containers. Use \helpref{OpenContainer}{wxhtmlwinparseropencontainer} to open new -container {\it within actually opened container}. This new container is -{\it sub-container} of the old one. (If you want to create new container with -same depth level you can call {\tt CloseContainer(); OpenContainer();}.) +a container {\it within an already opened container}. This new container is a +{\it sub-container} of the old one. (If you want to create a new container with +the same depth level you can call {\tt CloseContainer(); OpenContainer();}.) -Use \helpref{CloseContaier}{wxhtmlwinparserclosecontainer} to close the -container. This doesn't create new container with same depth level but +Use \helpref{CloseContainer}{wxhtmlwinparserclosecontainer} to close the +container. This doesn't create a new container with same depth level but it returns "control" to the parent container. See explanation: +\helponly{\image{}{cont.bmp}} -\image{}{cont.bmp} - -It's clear there must be same number of calls to -OpenContainer as to CloseContainer... +There clearly must be same number of calls to OpenContainer as to +CloseContainer. \wxheading{Example} -This code creates new paragraph (container at same depth level) -with "Hello, world!" : +This code creates a new paragraph (container at same depth level) +with "Hello, world!": \begin{verbatim} m_WParser -> CloseContainer(); c = m_WParser -> OpenContainer(); -m_WParser -> AddWord("Hello, "); -m_WParser -> AddWord("world!"); +m_WParser -> AddText("Hello, "); +m_WParser -> AddText("world!"); m_WParser -> CloseContainer(); m_WParser -> OpenContainer(); \end{verbatim} and here is image of the situation: +\helponly{\image{}{hello.bmp}} -\image{}{hello.bmp} - -You can see that there was opened container before running the code. We closed -it, created our own container, then closed our container and opened +You can see that there was an opened container before the code was executed. +We closed it, created our own container, then closed our container and opened new container. The result was that we had {\it same depth level} after -executing. This is general rule that should be followed by tag handlers : +executing. This is general rule that should be followed by tag handlers: leave depth level of containers unmodified (in other words, number of OpenContainer and CloseContainer calls should be same within \helpref{HandleTag}{wxhtmltaghandlerhandletag}'s body). +Notice that it would be usually better to use +\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell} instead +of adding text to the parser directly.