// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_HYPERLINK_H__
-#define _WX_HYPERLINK_H__
+#ifndef _WX_HYPERLINK_H_
+#define _WX_HYPERLINK_H_
#include "wx/defs.h"
#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[];
// ----------------------------------------------------------------------------
// 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; }
+
// checks for validity some of the ctor/Create() function parameters
void CheckParams(const wxString& label, const wxString& url, long style);
void SendEvent();
};
-#ifndef __WXDEBUG__
-inline void wxHyperlinkCtrlBase::CheckParams(const wxString&, const wxString&, long) { }
-#endif
-
// ----------------------------------------------------------------------------
// 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_HYPERLINK, wxHyperlinkEvent );
//
// An event fired when the user clicks on the label in a hyperlink control.
public:
wxHyperlinkEvent() {}
wxHyperlinkEvent(wxObject *generator, wxWindowID id, const wxString& url)
- : wxCommandEvent(wxEVT_COMMAND_HYPERLINK, id),
+ : wxCommandEvent(wxEVT_HYPERLINK, id),
m_url(url)
{
SetEventObject(generator);
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))
-#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
+// old wxEVT_COMMAND_* constants
+#define wxEVT_COMMAND_HYPERLINK wxEVT_HYPERLINK
#endif // wxUSE_HYPERLINKCTRL
-#endif // _WX_HYPERLINK_H__
+#endif // _WX_HYPERLINK_H_