projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed GTK styles handling:
[wxWidgets.git]
/
include
/
wx
/
html
/
htmlpars.h
diff --git
a/include/wx/html/htmlpars.h
b/include/wx/html/htmlpars.h
index 0faf78d4ddcb16efbd414b5892da8e6470a8199a..fbd31121927bb5eb99ff5c0468fa31493d9581c1 100644
(file)
--- a/
include/wx/html/htmlpars.h
+++ b/
include/wx/html/htmlpars.h
@@
-4,14
+4,14
@@
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) 1999 Vaclav Slavik
-// Licence: wxWindows
L
icence
+// Licence: wxWindows
l
icence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLPARS_H_
#define _WX_HTMLPARS_H_
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_HTMLPARS_H_
#define _WX_HTMLPARS_H_
-#if
def __GNUG__
+#if
defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "htmlpars.h"
#endif
#pragma interface "htmlpars.h"
#endif
@@
-23,19
+23,27
@@
#include "wx/hash.h"
#include "wx/fontenc.h"
#include "wx/hash.h"
#include "wx/fontenc.h"
-class WXDLL
EXPORT
wxMBConv;
-class WXDLL
EXPORT
wxHtmlParser;
-class WXDLL
EXPORT
wxHtmlTagHandler;
-class WXDLL
EXPORT
wxHtmlEntitiesParser;
+class WXDLL
IMPEXP_BASE
wxMBConv;
+class WXDLL
IMPEXP_HTML
wxHtmlParser;
+class WXDLL
IMPEXP_HTML
wxHtmlTagHandler;
+class WXDLL
IMPEXP_HTML
wxHtmlEntitiesParser;
class wxHtmlTextPieces;
class wxHtmlParserState;
class wxHtmlTextPieces;
class wxHtmlParserState;
+
+enum wxHtmlURLType
+{
+ wxHTML_URL_PAGE,
+ wxHTML_URL_IMAGE,
+ wxHTML_URL_OTHER
+};
+
// This class handles generic parsing of HTML document : it scans
// the document and divide it into blocks of tags (where one block
// consists of starting and ending tag and of text between these
// 2 tags.
// This class handles generic parsing of HTML document : it scans
// the document and divide it into blocks of tags (where one block
// consists of starting and ending tag and of text between these
// 2 tags.
-class WXDLL
EXPORT
wxHtmlParser : public wxObject
+class WXDLL
IMPEXP_HTML
wxHtmlParser : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxHtmlParser)
{
DECLARE_ABSTRACT_CLASS(wxHtmlParser)
@@
-48,9
+56,9
@@
public:
wxFileSystem* GetFS() const { return m_FS; }
wxFileSystem* GetFS() const { return m_FS; }
- //
Returns TRUE
if the parser is allowed to open given URL (may be forbidden
+ //
Opens file
if the parser is allowed to open given URL (may be forbidden
// for security reasons)
// for security reasons)
- virtual
bool CanOpenURL(const wxString& url) const { return TRUE; }
+ virtual
wxFSFile *OpenURL(wxHtmlURLType type, const wxString& url) const;
// You can simply call this method when you need parsed output.
// This method does these things:
// You can simply call this method when you need parsed output.
// This method does these things:
@@
-64,6
+72,9
@@
public:
virtual void InitParser(const wxString& source);
// This must be called after Parse().
virtual void DoneParser();
virtual void InitParser(const wxString& source);
// This must be called after Parse().
virtual void DoneParser();
+
+ // May be called during parsing to immediately return from Parse().
+ virtual void StopParsing() { m_stopParsing = TRUE; }
// Parses the m_Source from begin_pos to end_pos-1.
// (in noparams version it parses whole m_Source)
// Parses the m_Source from begin_pos to end_pos-1.
// (in noparams version it parses whole m_Source)
@@
-109,6
+120,11
@@
public:
// Restores parser's state from stack or returns FALSE if the stack is
// empty
virtual bool RestoreState();
// Restores parser's state from stack or returns FALSE if the stack is
// empty
virtual bool RestoreState();
+
+ // Parses HTML string 'markup' and extracts charset info from <meta> tag
+ // if present. Returns empty string if the tag is missing.
+ // For wxHTML's internal use.
+ static wxString ExtractCharsetInformation(const wxString& markup);
protected:
// DOM structure
protected:
// DOM structure
@@
-158,6
+174,8
@@
protected:
wxList m_HandlersList;
wxHashTable m_HandlersHash;
wxList m_HandlersList;
wxHashTable m_HandlersHash;
+ DECLARE_NO_COPY_CLASS(wxHtmlParser)
+
// class for opening files (file system)
wxFileSystem *m_FS;
// handlers stack used by PushTagHandler and PopTagHandler
// class for opening files (file system)
wxFileSystem *m_FS;
// handlers stack used by PushTagHandler and PopTagHandler
@@
-165,6
+183,9
@@
protected:
// entity parse
wxHtmlEntitiesParser *m_entitiesParser;
// entity parse
wxHtmlEntitiesParser *m_entitiesParser;
+
+ // flag indicating that the parser should stop
+ bool m_stopParsing;
};
};
@@
-176,7
+197,7
@@
protected:
// (using it's public methods)
// 2. Parser parses source between starting and ending tag
// 3. Handler restores original state of the parser
// (using it's public methods)
// 2. Parser parses source between starting and ending tag
// 3. Handler restores original state of the parser
-class WXDLL
EXPORT
wxHtmlTagHandler : public wxObject
+class WXDLL
IMPEXP_HTML
wxHtmlTagHandler : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxHtmlTagHandler)
{
DECLARE_ABSTRACT_CLASS(wxHtmlTagHandler)
@@
-209,12
+230,14
@@
protected:
{ m_Parser->DoParsing(tag.GetBeginPos(), tag.GetEndPos1()); }
wxHtmlParser *m_Parser;
{ m_Parser->DoParsing(tag.GetBeginPos(), tag.GetEndPos1()); }
wxHtmlParser *m_Parser;
+
+ DECLARE_NO_COPY_CLASS(wxHtmlTagHandler)
};
// This class is used to parse HTML entities in strings. It can handle
// both named entities and &#xxxx entries where xxxx is Unicode code.
};
// This class is used to parse HTML entities in strings. It can handle
// both named entities and &#xxxx entries where xxxx is Unicode code.
-class WXDLL
EXPORT
wxHtmlEntitiesParser : public wxObject
+class WXDLL
IMPEXP_HTML
wxHtmlEntitiesParser : public wxObject
{
DECLARE_DYNAMIC_CLASS(wxHtmlEntitiesParser)
{
DECLARE_DYNAMIC_CLASS(wxHtmlEntitiesParser)
@@
-234,13
+257,19
@@
public:
wxChar GetEntityChar(const wxString& entity);
// Returns character that represents given Unicode code
wxChar GetEntityChar(const wxString& entity);
// Returns character that represents given Unicode code
+#if wxUSE_UNICODE
+ wxChar GetCharForCode(unsigned code) { return (wxChar)code; }
+#else
wxChar GetCharForCode(unsigned code);
wxChar GetCharForCode(unsigned code);
+#endif
protected:
#if wxUSE_WCHAR_T && !wxUSE_UNICODE
wxMBConv *m_conv;
wxFontEncoding m_encoding;
#endif
protected:
#if wxUSE_WCHAR_T && !wxUSE_UNICODE
wxMBConv *m_conv;
wxFontEncoding m_encoding;
#endif
+
+ DECLARE_NO_COPY_CLASS(wxHtmlEntitiesParser)
};
};