X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/42f96a884ea51465444783650759267477353977..e1146627e2bf16a48554e1c224f427dbd6247c5d:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index 90544db787..22466f4856 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -49,19 +49,32 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow friend class wxHtmlWinModule; public: - wxHtmlWindow() : wxScrolledWindow() {}; + wxHtmlWindow() { Init(); } wxHtmlWindow(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHW_SCROLLBAR_AUTO, - const wxString& name = "htmlWindow"); + const wxString& name = wxT("htmlWindow")) + { + Init(); + Create(parent, id, pos, size, style, name); + } ~wxHtmlWindow(); + bool Create(wxWindow *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxHW_SCROLLBAR_AUTO, + const wxString& name = wxT("htmlWindow")); + // Set HTML page and display it. !! source is HTML document itself, // it is NOT address/filename of HTML document. If you want to // specify document location, use LoadPage() istead // Return value : FALSE if an error occured, TRUE otherwise bool SetPage(const wxString& source); + + // Append to current page + bool AppendToPage(const wxString& source); // Load HTML page from given location. Location can be either // a) /usr/wxGTK2/docs/html/wx.htm @@ -123,9 +136,25 @@ public: // Adds input filter static void AddFilter(wxHtmlFilter *filter); - // Called when users clicked on hypertext link. Default behavior is to + // 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); + + // Called when user clicks on a cell. Default behavior is to call + // OnLinkClicked() if this cell corresponds to a hypertext link + virtual void OnCellClicked(wxHtmlCell *cell, + wxCoord x, wxCoord y, + const wxMouseEvent& event); + + // Called when user clicked on hypertext link. Default behavior is to // 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; } @@ -139,6 +168,8 @@ public: virtual bool AcceptsFocusFromKeyboard() const { return FALSE; } protected: + void Init(); + // Scrolls to anchor of this name. (Anchor is #news // or #features etc. it is part of address sometimes: // http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/index.html#news) @@ -195,6 +226,8 @@ private: bool m_tmpMouseMoved; // contains last link name wxHtmlLinkInfo *m_tmpLastLink; + // contains the last (terminal) cell which contained the mouse + wxHtmlCell *m_tmpLastCell; // if >0 contents of the window is not redrawn // (in order to avoid ugly blinking) int m_tmpCanDrawLocks; @@ -224,3 +257,4 @@ private: #endif #endif // _WX_HTMLWIN_H_ +