X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bc55e31bdc7fbf6f1006f298ed8310e7972984e9..ce4b7808ca940be201422a066de141ca12f13863:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index ea22e30601..f8338ab280 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -109,6 +109,22 @@ public: /// Sets status bar text. virtual void SetHTMLStatusText(const wxString& text) = 0; + + /// Type of mouse cursor + enum HTMLCursor + { + /// Standard mouse cursor (typically an arrow) + HTMLCursor_Default, + /// Cursor shown over links + HTMLCursor_Link, + /// Cursor shown over selectable text + HTMLCursor_Text + }; + + /** + Returns mouse cursor of given @a type. + */ + virtual wxCursor GetHTMLCursor(HTMLCursor type) const = 0; }; /** @@ -118,7 +134,7 @@ public: */ class WXDLLIMPEXP_HTML wxHtmlWindowMouseHelper { -public: +protected: /** Ctor. @@ -126,6 +142,14 @@ public: */ wxHtmlWindowMouseHelper(wxHtmlWindowInterface *iface); + /** + Virtual dtor. + + It is not really needed in this case but at leats it prevents gcc from + complaining about its absence. + */ + virtual ~wxHtmlWindowMouseHelper() { } + /// Returns true if the mouse moved since the last call to HandleIdle bool DidMouseMove() const { return m_tmpMouseMoved; } @@ -208,7 +232,7 @@ private: class WXDLLIMPEXP_HTML wxHtmlWindow : public wxScrolledWindow, public wxHtmlWindowInterface, - private wxHtmlWindowMouseHelper + public wxHtmlWindowMouseHelper { DECLARE_DYNAMIC_CLASS(wxHtmlWindow) friend class wxHtmlWinModule; @@ -225,7 +249,7 @@ public: Init(); Create(parent, id, pos, size, style, name); } - ~wxHtmlWindow(); + virtual ~wxHtmlWindow(); bool Create(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, @@ -357,6 +381,8 @@ public: virtual void OnInternalIdle(); + /// Returns standard HTML cursor as used by wxHtmlWindow + static wxCursor GetDefaultHTMLCursor(HTMLCursor type); protected: void Init(); @@ -383,6 +409,7 @@ protected: void OnCopy(wxCommandEvent& event); void OnMouseEnter(wxMouseEvent& event); void OnMouseLeave(wxMouseEvent& event); + void OnMouseCaptureLost(wxMouseCaptureLostEvent& event); #endif // wxUSE_CLIPBOARD // Returns new filter (will be stored into m_DefaultFilter variable) @@ -427,6 +454,7 @@ private: virtual void SetHTMLBackgroundColour(const wxColour& clr); virtual void SetHTMLBackgroundImage(const wxBitmap& bmpBg); virtual void SetHTMLStatusText(const wxString& text); + virtual wxCursor GetHTMLCursor(HTMLCursor type) const; // implementation of SetPage() bool DoSetPage(const wxString& source); @@ -460,8 +488,6 @@ protected: // defaults to 10 pixels. int m_Borders; - int m_Style; - // current text selection or NULL wxHtmlSelection *m_selection; @@ -512,6 +538,10 @@ private: // is supposed to have been done in OnEraseBackground()) bool m_eraseBgInOnPaint; + // standard mouse cursors + static wxCursor *ms_cursorLink; + static wxCursor *ms_cursorText; + DECLARE_EVENT_TABLE() DECLARE_NO_COPY_CLASS(wxHtmlWindow) };