// local functions
// ----------------------------------------------------------------------------
-inline bool UseNative()
+static inline bool UseNative()
{
// native gtk_link_button widget is only available in GTK+ 2.10 and later
return !gtk_check_version(2, 10, 0);
CheckParams(label, url, style);
m_needParent = true;
- m_acceptsFocus = true;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
// wxWindowGTK will connect to the enter_notify and leave_notify GTK+ signals
// thus overriding GTK+'s internal signal handlers which set the cursor of
- // the widget - thus we need to manually set it here:
+ // the widget - thus we need to manually set it here:
SetCursor(wxCursor(wxCURSOR_HAND));
}
else
void wxHyperlinkCtrl::SetURL(const wxString &uri)
{
if ( UseNative() )
- gtk_link_button_set_uri(GTK_LINK_BUTTON(m_widget), uri.c_str());
+ gtk_link_button_set_uri(GTK_LINK_BUTTON(m_widget), wxGTK_CONV(uri));
else
wxGenericHyperlinkCtrl::SetURL(uri);
}
wxColour wxHyperlinkCtrl::GetNormalColour() const
{
+ wxColour ret;
if ( UseNative() )
{
GdkColor *link_color = NULL;
- wxColour ret = wxNullColour;
// convert GdkColor in wxColour
gtk_widget_style_get(m_widget, "link-color", &link_color, NULL);
if (link_color)
- ret.Set(link_color->red, link_color->green, link_color->blue);
+ ret = wxColour(*link_color);
gdk_color_free (link_color);
-
- return ret;
}
else
- return wxGenericHyperlinkCtrl::GetNormalColour();
+ ret = wxGenericHyperlinkCtrl::GetNormalColour();
+
+ return ret;
}
void wxHyperlinkCtrl::SetVisitedColour(const wxColour &colour)
wxColour wxHyperlinkCtrl::GetVisitedColour() const
{
+ wxColour ret;
if ( UseNative() )
{
GdkColor *link_color = NULL;
- wxColour ret = wxNullColour;
// convert GdkColor in wxColour
gtk_widget_style_get(m_widget, "visited-link-color", &link_color, NULL);
if (link_color)
- ret.Set(link_color->red, link_color->green, link_color->blue);
+ ret = wxColour(*link_color);
gdk_color_free (link_color);
-
- return ret;
}
else
return wxGenericHyperlinkCtrl::GetVisitedColour();
+
+ return ret;
}
void wxHyperlinkCtrl::SetHoverColour(const wxColour &colour)