+#if wxUSE_TOOLTIPS
+void wxWindow::SetToolTip( const wxString &tip )
+{
+ if (m_toolTip)
+ {
+ m_toolTip->SetTip( tip );
+ }
+ else
+ {
+ SetToolTip( new wxToolTip( tip ) );
+ }
+
+ // setting empty tooltip text does not remove the tooltip any more for
+ // wxMSW compatibility - use SetToolTip((wxToolTip *)NULL) for this
+}
+
+void wxWindow::SetToolTip( wxToolTip *tip )
+{
+ if (m_toolTip)
+ {
+ m_toolTip->SetTip( (char*) NULL );
+ delete m_toolTip;
+ }
+
+ m_toolTip = tip;
+
+ if (m_toolTip)
+ m_toolTip->Apply( this );
+}
+
+void wxWindow::ApplyToolTip( GtkTooltips *tips, const char *tip )
+{
+ gtk_tooltips_set_tip( tips, GetConnectWidget(), tip, (gchar*) NULL );
+}
+#endif // wxUSE_TOOLTIPS
+