// implementation
// ============================================================================
+#if wxUSE_EXTENDED_RTTI
+ wxIMPLEMENT_DYNAMIC_CLASS_XTI( wxHyperlinkCtrl, wxControl, "wx/hyperlink.h")
+#else
+ wxIMPLEMENT_DYNAMIC_CLASS( wxHyperlinkCtrl, wxControl )
+#endif // wxUSE_EXTENDED_RTTI
+
IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkEvent, wxCommandEvent)
wxDEFINE_EVENT( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEvent );
// wxHyperlinkCtrlBase
// ----------------------------------------------------------------------------
-#ifdef __WXDEBUG__
-void wxHyperlinkCtrlBase::CheckParams(const wxString& label, const wxString& url, long style)
+void
+wxHyperlinkCtrlBase::CheckParams(const wxString& label,
+ const wxString& url,
+ long style)
{
+#if wxDEBUG_LEVEL
wxASSERT_MSG(!url.empty() || !label.empty(),
wxT("Both URL and label are empty ?"));
(int)((style & wxHL_ALIGN_RIGHT) != 0);
wxASSERT_MSG(alignment == 1,
wxT("Specify exactly one align flag!"));
+#else // !wxDEBUG_LEVEL
+ wxUnusedVar(label);
+ wxUnusedVar(url);
+ wxUnusedVar(style);
+#endif // wxDEBUG_LEVEL/!wxDEBUG_LEVEL
}
-#endif
void wxHyperlinkCtrlBase::SendEvent()
{
wxString url = GetURL();
wxHyperlinkEvent linkEvent(this, GetId(), url);
if (!GetEventHandler()->ProcessEvent(linkEvent)) // was the event skipped ?
+ {
if (!wxLaunchDefaultBrowser(url))
+ {
wxLogWarning(wxT("Could not launch the default browser with url '%s' !"), url.c_str());
+ }
+ }
}
#endif // wxUSE_HYPERLINKCTRL