X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa482912e420a40e9f2e55a0f5407562826dd15e..c52b96359b639cda516615f9433d3b20b35443b5:/docs/latex/wx/htparser.tex?ds=sidebyside diff --git a/docs/latex/wx/htparser.tex b/docs/latex/wx/htparser.tex index 9398443390..5dceb68da8 100644 --- a/docs/latex/wx/htparser.tex +++ b/docs/latex/wx/htparser.tex @@ -5,9 +5,9 @@ \section{\class{wxHtmlParser}}\label{wxhtmlparser} -This class handles the {\bf generic} parsing of HTML document: it scans +Classes derived from this handle the {\bf generic} parsing of HTML documents: it scans the document and divide it into blocks of tags (where one block -consists of begining and ending tag and of text between these +consists of beginning and ending tag and of text between these two tags). It is independent from wxHtmlWindow and can be used as stand-alone parser @@ -15,7 +15,7 @@ It is independent from wxHtmlWindow and can be used as stand-alone parser see InetGet sample for example). It uses system of tag handlers to parse the HTML document. Tag handlers -are not staticaly shared by all instances but are created for each +are not statically shared by all instances but are created for each wxHtmlParser instance. The reason is that the handler may contain document-specific temporary data used during parsing (e.g. complicated structures like tables). @@ -30,6 +30,10 @@ wxObject +\wxheading{Library} + +\helpref{wxHtml}{librarieslist} + \wxheading{See also} \helpref{Cells Overview}{cells}, @@ -48,7 +52,7 @@ Constructor. \func{void}{AddTag}{\param{const wxHtmlTag\& }{tag}} -This may (and may not) be overwriten in derived class. +This may (and may not) be overwritten in derived class. This method is called each time new tag is about to be added. {\it tag} contains information about the tag. (See \helpref{wxHtmlTag}{wxhtmltag} @@ -74,9 +78,9 @@ All handlers are deleted on object deletion. \membersection{wxHtmlParser::AddText}\label{wxhtmlparseraddword} -\func{virtual void}{AddWord}{\param{const char* }{txt}} +\func{virtual void}{AddWord}{\param{const wxString\& }{txt}} -Must be overwriten in derived class. +Must be overwritten in derived class. This method is called by \helpref{DoParsing}{wxhtmlparserdoparsing} each time a part of text is parsed. {\it txt} is NOT only one word, it is @@ -103,7 +107,7 @@ This must be called after DoParsing(). \constfunc{wxFileSystem*}{GetFS}{\void} Returns pointer to the file system. Because each tag handler has -reference to it's parent parser it can easily request the file by +reference to it is parent parser it can easily request the file by calling \begin{verbatim} @@ -131,9 +135,44 @@ Returns pointer to the source being parsed. \func{virtual void}{InitParser}{\param{const wxString\& }{source}} -Setups the parser for parsing the {\it source} string. (Should be overriden +Setups the parser for parsing the {\it source} string. (Should be overridden in derived class) +\membersection{wxHtmlParser::OpenURL}\label{wxhtmlparseropenurl} + +\func{virtual wxFSFile*}{OpenURL}{\param{wxHtmlURLType }{type}, \param{const wxString\& }{url}} + +Opens given URL and returns {\tt wxFSFile} object that can be used to read data +from it. This method may return NULL in one of two cases: either the URL doesn't +point to any valid resource or the URL is blocked by overridden implementation +of {\it OpenURL} in derived class. + +\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.} + +\wxheading{Notes} + +Always use this method in tag handlers instead of {\tt GetFS()->OpenFile()} +because it can block the URL and is thus more secure. + +Default behaviour is to call \helpref{wxHtmlWindow::OnOpeningURL}{wxhtmlwindowonopeningurl} +of the associated wxHtmlWindow object (which may decide to block the URL or +redirect it to another one),if there's any, and always open the URL if the +parser is not used with wxHtmlWindow. + +Returned {\tt wxFSFile} object is not guaranteed to point to {\it url}, it might +have been redirected! + \membersection{wxHtmlParser::Parse}\label{wxhtmlparserparse} \func{wxObject*}{Parse}{\param{const wxString\& }{source}} @@ -153,11 +192,9 @@ The method does these things: You shouldn't use InitParser, DoParsing, GetProduct or DoneParser directly. - - \membersection{wxHtmlParser::PushTagHandler}\label{wxhtmlparserpushtaghandler} -\func{void}{PushTagHandler}{\param{wxHtmlTagHandler* }{handler}, \param{wxString }{tags}} +\func{void}{PushTagHandler}{\param{wxHtmlTagHandler* }{handler}, \param{const wxString\& }{tags}} Forces the handler to handle additional tags (not returned by \helpref{GetSupportedTags}{wxhtmltaghandlergetsupportedtags}). @@ -188,7 +225,7 @@ It is obvious that you cannot use only one tag handler for tag. Instead you must use context-sensitive handlers for inside and inside . -This is the prefered solution: +This is the preferred solution: \begin{verbatim} TAG_HANDLER_BEGIN(MYITEM, "MYITEMS") @@ -222,3 +259,12 @@ Sets the virtual file system that will be used to request additional files. (For example {\tt } tag handler requests wxFSFile with the image data.) +\membersection{wxHtmlParser::StopParsing}\label{wxhtmlparserstopparsing} + +\func{void}{StopParsing}{\void} + +Call this function to interrupt parsing from a tag handler. No more tags +will be parsed afterward. This function may only be called from +\helpref{wxHtmlParser::Parse}{wxhtmlparserparse} or any function called +by it (i.e. from tag handlers). +