X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dcd18dd3002051ae93bfc1a91dff4a3d788fc146..dca2fe5daecf9c74f227062d8a9a259b4e5ef1fc:/src/gtk/hyperlink.cpp?ds=sidebyside diff --git a/src/gtk/hyperlink.cpp b/src/gtk/hyperlink.cpp index dc90de7e58..f90589df14 100644 --- a/src/gtk/hyperlink.cpp +++ b/src/gtk/hyperlink.cpp @@ -3,7 +3,6 @@ // Purpose: Hyperlink control // Author: Francesco Montorsi // Created: 14/2/2007 -// RCS-ID: $Id$ // Copyright: (c) 2007 Francesco Montorsi // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -40,16 +39,17 @@ static inline bool UseNative() { // native gtk_link_button widget is only available in GTK+ 2.10 and later +#ifdef __WXGTK3__ + return true; +#else return !gtk_check_version(2, 10, 0); +#endif } // ============================================================================ // implementation // ============================================================================ -IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkCtrl, wxGenericHyperlinkCtrl) - - // ---------------------------------------------------------------------------- // "clicked" // ---------------------------------------------------------------------------- @@ -85,7 +85,6 @@ bool wxHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id, m_widget = gtk_link_button_new("asdfsaf asdfdsaf asdfdsa"); g_object_ref(m_widget); - gtk_widget_show(m_widget); // alignment float x_alignment = 0.5; @@ -126,6 +125,13 @@ wxSize wxHyperlinkCtrl::DoGetBestSize() const return wxGenericHyperlinkCtrl::DoGetBestSize(); } +wxSize wxHyperlinkCtrl::DoGetBestClientSize() const +{ + if ( UseNative() ) + return wxControl::DoGetBestClientSize(); + return wxGenericHyperlinkCtrl::DoGetBestClientSize(); +} + void wxHyperlinkCtrl::SetLabel(const wxString &label) { if ( UseNative() ) @@ -151,7 +157,7 @@ wxString wxHyperlinkCtrl::GetURL() const if ( UseNative() ) { const gchar *str = gtk_link_button_get_uri(GTK_LINK_BUTTON(m_widget)); - return wxString(str, *wxConvFileName); + return wxString::FromUTF8(str); } return wxGenericHyperlinkCtrl::GetURL(); @@ -238,7 +244,7 @@ wxColour wxHyperlinkCtrl::GetHoverColour() const GdkWindow *wxHyperlinkCtrl::GTKGetWindow(wxArrayGdkWindows& windows) const { - return UseNative() ? GTK_BUTTON(m_widget)->event_window + return UseNative() ? gtk_button_get_event_window(GTK_BUTTON(m_widget)) : wxGenericHyperlinkCtrl::GTKGetWindow(windows); }