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 a7f067b5a1dce8ec649e7ac33f824098f3ab6d98..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,10
+23,10
@@
#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;
@@
-43,7
+43,7
@@
enum wxHtmlURLType
// 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.
// 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)
@@
-72,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)
@@
-117,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
@@
-166,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
@@
-173,6
+183,9
@@
protected:
// entity parse
wxHtmlEntitiesParser *m_entitiesParser;
// entity parse
wxHtmlEntitiesParser *m_entitiesParser;
+
+ // flag indicating that the parser should stop
+ bool m_stopParsing;
};
};
@@
-184,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)
@@
-217,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)
@@
-242,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)
};
};