]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/hyperlink.cpp
Don't close arcs drawn in wxPostScriptDC.
[wxWidgets.git] / src / gtk / hyperlink.cpp
index 046c601aeb8a811a43ad70aebb1a0af04667e33b..21610311c50dea1c813a723aba8973d8e45dc757 100644 (file)
@@ -23,7 +23,7 @@
     #pragma hdrstop
 #endif
 
-#if wxUSE_HYPERLINKCTRL && defined(__WXGTK210__)
+#if wxUSE_HYPERLINKCTRL && defined(__WXGTK210__) && !defined(__WXUNIVERSAL__)
 
 #include "wx/hyperlink.h"
 
@@ -47,9 +47,6 @@ static inline bool UseNative()
 // implementation
 // ============================================================================
 
-IMPLEMENT_DYNAMIC_CLASS(wxHyperlinkCtrl, wxGenericHyperlinkCtrl)
-
-
 // ----------------------------------------------------------------------------
 // "clicked"
 // ----------------------------------------------------------------------------
@@ -76,8 +73,6 @@ bool wxHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id,
         // do validation checks:
         CheckParams(label, url, style);
 
-        m_needParent = true;
-
         if (!PreCreation( parent, pos, size ) ||
             !CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
         {
@@ -86,7 +81,8 @@ bool wxHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id,
         }
 
         m_widget = gtk_link_button_new("asdfsaf asdfdsaf asdfdsa");
-        gtk_widget_show( GTK_WIDGET(m_widget) );
+        g_object_ref(m_widget);
+        gtk_widget_show(m_widget);
 
         // alignment
         float x_alignment = 0.5;
@@ -108,7 +104,6 @@ bool wxHyperlinkCtrl::Create(wxWindow *parent, wxWindowID id,
         m_parent->DoAddChild( this );
 
         PostCreation(size);
-        SetInitialSize(size);
 
         // wxWindowGTK will connect to the enter_notify and leave_notify GTK+ signals
         // thus overriding GTK+'s internal signal handlers which set the cursor of
@@ -128,6 +123,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() )
@@ -153,7 +155,7 @@ wxString wxHyperlinkCtrl::GetURL() const
     if ( UseNative() )
     {
         const gchar *str = gtk_link_button_get_uri(GTK_LINK_BUTTON(m_widget));
-        return wxConvFileName->cMB2WX(str);
+        return wxString::FromUTF8(str);
     }
 
     return wxGenericHyperlinkCtrl::GetURL();