X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/704a4b7524e05d7bf4d208eb1b30be9989abef4c..a8cb1d29e7fe349142d8d6be9fc9afe986340611:/docs/latex/wx/htparser.tex diff --git a/docs/latex/wx/htparser.tex b/docs/latex/wx/htparser.tex index 3724999272..7d486f7170 100644 --- a/docs/latex/wx/htparser.tex +++ b/docs/latex/wx/htparser.tex @@ -3,25 +3,24 @@ % htmlparser.tex at 14/Mar/99 20:13:37 % - \section{\class{wxHtmlParser}}\label{wxhtmlparser} -This class handles {\bf generic} parsing of HTML document : it scans +This class handles the {\bf generic} parsing of HTML document: 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 -2 tags). +two tags). It is independent from wxHtmlWindow and can be used as stand-alone parser (Julian Smart's idea of speech-only HTML viewer or wget-like utility - -see InetGet sample for example). +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 staticaly 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) +structures like tables). -Typically the user calls only \helpref{Parse}{wxhtmlparserparse} method. +Typically the user calls only the \helpref{Parse}{wxhtmlparserparse} method. \wxheading{Derived from} @@ -35,13 +34,11 @@ wxObject \latexignore{\rtfignore{\wxheading{Members}}} - \membersection{wxHtmlParser::wxHtmlParser}\label{wxhtmlparserwxhtmlparser} \func{}{wxHtmlParser}{\void} -Constructor. - +Constructor. \membersection{wxHtmlParser::SetFS}\label{wxhtmlparsersetfs} @@ -63,7 +60,6 @@ calling wxFSFile *f = m_Parser -> GetFS() -> OpenFile("image.jpg"); \end{verbatim} - \membersection{wxHtmlParser::Parse}\label{wxhtmlparserparse} \func{wxObject*}{Parse}{\param{const wxString\& }{source}} @@ -90,14 +86,12 @@ You shouldn't use InitParser, DoParsing, GetProduct or DoneParser directly. Setups the parser for parsing the {\it source} string. (Should be overriden in derived class) - \membersection{wxHtmlParser::DoneParser}\label{wxhtmlparserdoneparser} \func{virtual void}{DoneParser}{\void} This must be called after DoParsing(). - \membersection{wxHtmlParser::DoParsing}\label{wxhtmlparserdoparsing} \func{void}{DoParsing}{\param{int }{begin\_pos}, \param{int }{end\_pos}} @@ -111,13 +105,12 @@ Parses the m\_Source from begin\_pos to end\_pos-1. \func{virtual wxObject*}{GetProduct}{\void} -Returns product of parsing. Returned value is result of parsing -of the document. The type of this result depends on internal +Returns product of parsing. Returned value is result of parsing +of the document. The type of this result depends on internal representation in derived parser (but it must be derived from wxObject!). See wxHtmlWinParser for details. - \membersection{wxHtmlParser::AddTagHandler}\label{wxhtmlparseraddtaghandler} \func{virtual void}{AddTagHandler}{\param{wxHtmlTagHandler }{*handler}} @@ -126,9 +119,9 @@ Adds handler to the internal list (\& hash table) of handlers. This method should not be called directly by user but rather by derived class' constructor. -This adds the handler to this {\bf instance} of wxHtmlParser not to -all objects of this class!!! (Static front-end to AddTagHandler is provided -by wxHtmlWinParser) +This adds the handler to this {\bf instance} of wxHtmlParser, not to +all objects of this class! (Static front-end to AddTagHandler is provided +by wxHtmlWinParser). All handlers are deleted on object deletion. @@ -138,14 +131,13 @@ All handlers are deleted on object deletion. Returns pointer to the source being parsed. - \membersection{wxHtmlParser::GetTempData}\label{wxhtmlparsergettempdata} \func{virtual wxList*}{GetTempData}{\void} This method returns list of wxObjects that represents -all data allocated by the parser. These can't be freeded -by destructor because they must be valid as long as +all data allocated by the parser. These can't be freed +by the destructor because they must be valid as long as GetProduct's return value is valid - the caller must explicitly call @@ -153,15 +145,15 @@ explicitly call delete (MyParser -> GetTempData()); \end{verbatim} -to free the memory (this method always sets the list to delete its contents) +to free the memory (this method always sets the list to delete its contents). \wxheading{Example} -Why is this neccessary? Imagine wxHtmlWinParser : when handling -FONT tag it creates some fonts. These fonts are then used by wxHtmlWindow -to display the text. But wxHtmWinParser object is needed only when parsing +Why is this neccessary? Imagine wxHtmlWinParser: when handling +a FONT tag it creates some fonts. These fonts are then used by wxHtmlWindow +to display the text. But the wxHtmWinParser object is needed only when parsing the document - it may be deleted then. But fonts CAN'T be deleted - they -must exist as long as the window is displaying text. +must exist as long as the window is displaying text. GetTempData() solves the problem. @@ -172,20 +164,21 @@ GetTempData() solves the problem. Must be overwriten 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 +each time a part of text is parsed. {\it txt} is NOT only one word, it is substring of input. It is not formatted or preprocessed (so white spaces are -unmodified) +unmodified). \membersection{wxHtmlParser::AddTag}\label{wxhtmlparseraddtag} -\func{void}{AddTag}{\param{const wxHtmlTag\& }{tag} +\func{void}{AddTag}{\param{const wxHtmlTag\& }{tag}} This may (and may not) be overwriten in derived class. -This method is called each time new tag is about to be added. +This method is called each time new tag is about to be added. {\it tag} contains information about the tag. (See \helpref{wxHtmlTag}{wxhtmltag} for details.) -Default (wxHtmlParser) behaviour is this : +Default (wxHtmlParser) behaviour is this: First it finds a handler capable of handling this tag and then it calls handler's HandleTag method. +