X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c105dda0810d927d8531e4949ada0b407a1cbebd..ca77701441e39245dcbfce903049e76f166979e5:/include/wx/hyperlink.h diff --git a/include/wx/hyperlink.h b/include/wx/hyperlink.h index 586f1c583d..7ff25b3f4e 100644 --- a/include/wx/hyperlink.h +++ b/include/wx/hyperlink.h @@ -9,8 +9,8 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef _WX_HYPERLINK_H__ -#define _WX_HYPERLINK_H__ +#ifndef _WX_HYPERLINK_H_ +#define _WX_HYPERLINK_H_ #include "wx/defs.h" @@ -28,7 +28,7 @@ #define wxHL_ALIGN_CENTRE 0x0008 #define wxHL_DEFAULT_STYLE (wxHL_CONTEXTMENU|wxNO_BORDER|wxHL_ALIGN_CENTRE) -extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxHyperlinkCtrlNameStr[]; +extern WXDLLIMPEXP_DATA_ADV(const char) wxHyperlinkCtrlNameStr[]; // ---------------------------------------------------------------------------- @@ -68,13 +68,13 @@ public: // NOTE: also wxWindow::Set/GetLabel, wxWindow::Set/GetBackgroundColour, // wxWindow::Get/SetFont, wxWindow::Get/SetCursor are important ! + virtual bool HasTransparentBackground() { return true; } + protected: -#ifdef __WXDEBUG__ + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } + // checks for validity some of the ctor/Create() function parameters void CheckParams(const wxString& label, const wxString& url, long style); -#else - void CheckParams() {} -#endif public: // not part of the public API but needs to be public as used by @@ -82,15 +82,13 @@ public: void SendEvent(); }; - // ---------------------------------------------------------------------------- // wxHyperlinkEvent // ---------------------------------------------------------------------------- -// Declare an event identifier. -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_COMMAND_HYPERLINK, 3700) -END_DECLARE_EVENT_TYPES() +class WXDLLIMPEXP_FWD_ADV wxHyperlinkEvent; + +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_COMMAND_HYPERLINK, wxHyperlinkEvent ); // // An event fired when the user clicks on the label in a hyperlink control. @@ -131,27 +129,44 @@ 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)) -#ifdef _WX_DEFINE_DATE_EVENTS_ - DEFINE_EVENT_TYPE(wxEVT_COMMAND_HYPERLINK) - IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkEvent, wxCommandEvent) -#endif - - - -#if defined(__WXGTK210__) +#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 #endif // wxUSE_HYPERLINKCTRL -#endif // _WX_HYPERLINK_H__ +#endif // _WX_HYPERLINK_H_