new wxHtmlWindow::OnOpeningURL API

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2002-01-27 19:03:10 +00:00
parent d2b0092bed
commit 6cc4e6b81a
10 changed files with 244 additions and 85 deletions

View File

@@ -31,6 +31,14 @@ class WXDLLEXPORT wxHtmlEntitiesParser;
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
@@ -48,9 +56,9 @@ public:
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)
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:

View File

@@ -32,6 +32,19 @@ class wxHtmlWinModule;
class wxHtmlHistoryArray;
class wxHtmlProcessorList;
// wxHtmlWindow flags:
#define wxHW_SCROLLBAR_NEVER 0x0002
#define wxHW_SCROLLBAR_AUTO 0x0004
// enums for wxHtmlWindow::OnOpeningURL
enum wxHtmlOpeningStatus
{
wxHTML_OPEN,
wxHTML_BLOCK,
wxHTML_REDIRECT
};
//--------------------------------------------------------------------------------
// wxHtmlWindow
// (This is probably the only class you will directly use.)
@@ -106,10 +119,6 @@ public:
// Sets fonts to be used when displaying HTML page.
void SetFonts(wxString normal_face, wxString fixed_face, const int *sizes);
// Sets the title of the window
// (depending on the information passed to SetRelatedFrame() method)
virtual void OnSetTitle(const wxString& title);
// Sets space between text and window borders.
void SetBorders(int b) {m_Borders = b;}
@@ -136,8 +145,24 @@ public:
// Adds input filter
static void AddFilter(wxHtmlFilter *filter);
// Returns a pointer to the parser.
wxHtmlWinParser *GetParser() const { return m_Parser; }
// Adds HTML processor to this instance of wxHtmlWindow:
void AddProcessor(wxHtmlProcessor *processor);
// Adds HTML processor to wxHtmlWindow class as whole:
static void AddGlobalProcessor(wxHtmlProcessor *processor);
// what would we do with it?
virtual bool AcceptsFocusFromKeyboard() const { return FALSE; }
// -- Callbacks --
// Sets the title of the window
// (depending on the information passed to SetRelatedFrame() method)
virtual void OnSetTitle(const wxString& title);
// Called when the mouse hovers over a cell: (x, y) are logical coords
//
// Default behaviour is to do nothing at all
virtual void OnCellMouseHover(wxHtmlCell *cell, wxCoord x, wxCoord y);
@@ -151,21 +176,14 @@ public:
// call LoadPage(loc)
virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
// Called when wxHtmlWindow wants to fetch data from an URL (e.g. when loading
// a page or loading an image). The data are downloaded if and only if
// OnOpeningURL returns TRUE.
virtual bool OnOpeningURL(const wxString& url) const { return TRUE; }
// Returns a pointer to the parser.
wxHtmlWinParser *GetParser() const { return m_Parser; }
// Adds HTML processor to this instance of wxHtmlWindow:
void AddProcessor(wxHtmlProcessor *processor);
// Adds HTML processor to wxHtmlWindow class as whole:
static void AddGlobalProcessor(wxHtmlProcessor *processor);
// what would we do with it?
virtual bool AcceptsFocusFromKeyboard() const { return FALSE; }
// Called when wxHtmlWindow wants to fetch data from an URL (e.g. when
// loading a page or loading an image). The data are downloaded if and only if
// OnOpeningURL returns TRUE. If OnOpeningURL returns wxHTML_REDIRECT,
// it must set *redirect to the new URL
virtual wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType type,
const wxString& url,
wxString *redirect) const
{ return wxHTML_OPEN; }
protected:
void Init();

View File

@@ -48,7 +48,7 @@ public:
virtual void DoneParser();
virtual wxObject* GetProduct();
virtual bool CanOpenURL(const wxString& url) const;
virtual wxFSFile *OpenURL(wxHtmlURLType type, const wxString& url) const;
// Set's the DC used for parsing. If SetDC() is not called,
// parsing won't proceed