X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b11752c4f9e1fd4b11ba3d184246267facb3ad3..94803e4ec8d61d24ebf9b1e483776d17e55a7ec5:/src/common/hyperlnkcmn.cpp diff --git a/src/common/hyperlnkcmn.cpp b/src/common/hyperlnkcmn.cpp index 83e3349d75..32bf30c51c 100644 --- a/src/common/hyperlnkcmn.cpp +++ b/src/common/hyperlnkcmn.cpp @@ -42,6 +42,12 @@ // 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 ); @@ -51,9 +57,12 @@ const char wxHyperlinkCtrlNameStr[] = "hyperlink"; // 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 ?")); @@ -62,16 +71,24 @@ void wxHyperlinkCtrlBase::CheckParams(const wxString& label, const wxString& url (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