X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/23318a5358be74727fb62854f623da84a4545bcd..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/hyperlink.h?ds=sidebyside diff --git a/include/wx/hyperlink.h b/include/wx/hyperlink.h index 1d1a74d91e..969a6864d7 100644 --- a/include/wx/hyperlink.h +++ b/include/wx/hyperlink.h @@ -68,6 +68,8 @@ public: // NOTE: also wxWindow::Set/GetLabel, wxWindow::Set/GetBackgroundColour, // wxWindow::Get/SetFont, wxWindow::Get/SetCursor are important ! + virtual bool HasTransparentBackground() { return true; } + protected: virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } @@ -80,15 +82,13 @@ public: void SendEvent(); }; -#ifndef __WXDEBUG__ -inline void wxHyperlinkCtrlBase::CheckParams(const wxString&, const wxString&, long) { } -#endif - // ---------------------------------------------------------------------------- // wxHyperlinkEvent // ---------------------------------------------------------------------------- -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_COMMAND_HYPERLINK; +class WXDLLIMPEXP_FWD_ADV wxHyperlinkEvent; + +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_HYPERLINK, wxHyperlinkEvent ); // // An event fired when the user clicks on the label in a hyperlink control. @@ -99,7 +99,7 @@ class WXDLLIMPEXP_ADV wxHyperlinkEvent : public wxCommandEvent public: wxHyperlinkEvent() {} wxHyperlinkEvent(wxObject *generator, wxWindowID id, const wxString& url) - : wxCommandEvent(wxEVT_COMMAND_HYPERLINK, id), + : wxCommandEvent(wxEVT_HYPERLINK, id), m_url(url) { SetEventObject(generator); @@ -129,19 +129,45 @@ private: typedef void (wxEvtHandler::*wxHyperlinkEventFunction)(wxHyperlinkEvent&); #define wxHyperlinkEventHandler(func) \ - (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxHyperlinkEventFunction, &func) + wxEVENT_HANDLER_CAST(wxHyperlinkEventFunction, func) #define EVT_HYPERLINK(id, fn) \ - wx__DECLARE_EVT1(wxEVT_COMMAND_HYPERLINK, id, wxHyperlinkEventHandler(fn)) + wx__DECLARE_EVT1(wxEVT_HYPERLINK, id, wxHyperlinkEventHandler(fn)) #if defined(__WXGTK210__) && !defined(__WXUNIVERSAL__) #include "wx/gtk/hyperlink.h" +// Note that the native control is only available in Unicode version under MSW. +#elif defined(__WXMSW__) && wxUSE_UNICODE && !defined(__WXUNIVERSAL__) + #include "wx/msw/hyperlink.h" #else #include "wx/generic/hyperlink.h" - #define wxHyperlinkCtrl wxGenericHyperlinkCtrl + + class WXDLLIMPEXP_ADV wxHyperlinkCtrl : public wxGenericHyperlinkCtrl + { + public: + wxHyperlinkCtrl() { } + + wxHyperlinkCtrl(wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxString& url, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxHL_DEFAULT_STYLE, + const wxString& name = wxHyperlinkCtrlNameStr) + : wxGenericHyperlinkCtrl(parent, id, label, url, pos, size, + style, name) + { + } + + private: + wxDECLARE_DYNAMIC_CLASS_NO_COPY( wxHyperlinkCtrl ); + }; #endif +// old wxEVT_COMMAND_* constants +#define wxEVT_COMMAND_HYPERLINK wxEVT_HYPERLINK #endif // wxUSE_HYPERLINKCTRL