X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/892aeafc2a0212b4c3bebcaddd96a42cdd307afd..fe9fea7ec75fe38527702b8ae7926a5609828b79:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index 2c8ebf7763..debdcb626f 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -27,8 +27,7 @@ #include "wx/filesys.h" #include "wx/html/htmlfilt.h" -class WXDLLEXPORT wxHtmlProcessor; - +class wxHtmlProcessor; class wxHtmlWinModule; class wxHtmlHistoryArray; class wxHtmlProcessorList; @@ -50,12 +49,12 @@ class WXDLLEXPORT wxHtmlWindow : public wxScrolledWindow friend class wxHtmlWinModule; public: - wxHtmlWindow() : wxScrolledWindow() {}; + wxHtmlWindow() : wxScrolledWindow() {} wxHtmlWindow(wxWindow *parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHW_SCROLLBAR_AUTO, - const wxString& name = "htmlWindow"); + const wxString& name = wxT("htmlWindow")); ~wxHtmlWindow(); // Set HTML page and display it. !! source is HTML document itself, @@ -63,6 +62,9 @@ public: // 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 @@ -73,7 +75,7 @@ public: // After the page is loaded, the method calls SetPage() to display it. // Note : you can also use path relative to previously loaded page // Return value : same as SetPage - bool LoadPage(const wxString& location); + virtual bool LoadPage(const wxString& location); // Returns full location of opened page wxString GetOpenedPage() const {return m_OpenedPage;} @@ -124,17 +126,31 @@ 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); // 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 AddSharedProcessor(wxHtmlProcessor *processor); + static void AddGlobalProcessor(wxHtmlProcessor *processor); + + // what would we do with it? + virtual bool AcceptsFocusFromKeyboard() const { return FALSE; } protected: // Scrolls to anchor of this name. (Anchor is #news @@ -143,7 +159,7 @@ protected: // Return value : TRUE if anchor exists, FALSE otherwise bool ScrollToAnchor(const wxString& anchor); - // Prepares layout (= fill m_PosX, m_PosY for fragments) based on + // Prepares layout (= fill m_PosX, m_PosY for fragments) based on // actual size of window. This method also setup scrollbars void CreateLayout(); @@ -193,6 +209,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; @@ -210,10 +228,10 @@ private: int m_HistoryPos; // if this FLAG is false, items are not added to history bool m_HistoryOn; - + // html processors array: wxHtmlProcessorList *m_Processors; - static wxHtmlProcessorList *m_SharedProcessors; + static wxHtmlProcessorList *m_GlobalProcessors; DECLARE_EVENT_TABLE() };