]>
git.saurik.com Git - wxWidgets.git/blob - src/gtk/tooltip.cpp
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxToolTip implementation
4 // Author: Robert Roebling
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
11 #pragma implementation "tooltip.h"
18 #include "wx/window.h"
19 #include "wx/tooltip.h"
24 //-----------------------------------------------------------------------------
26 //-----------------------------------------------------------------------------
28 static GtkTooltips
*ss_tooltips
= (GtkTooltips
*) NULL
;
29 static GdkColor ss_bg
;
30 static GdkColor ss_fg
;
32 //-----------------------------------------------------------------------------
34 //-----------------------------------------------------------------------------
36 wxToolTip::wxToolTip( const wxString
&tip
)
39 m_window
= (wxWindow
*) NULL
;
42 void wxToolTip::SetTip( const wxString
&tip
)
48 void wxToolTip::Apply( wxWindow
*win
)
54 ss_tooltips
= gtk_tooltips_new();
59 gdk_color_alloc( gtk_widget_get_default_colormap(), &ss_fg
);
64 gdk_color_alloc( gtk_widget_get_default_colormap(), &ss_bg
);
66 #if (GTK_MINOR_VERSION > 0)
67 gtk_tooltips_force_window( ss_tooltips
);
71 gtk_widget_get_style( ss_tooltips
->tip_window
) );
73 g_style
->fg
[GTK_STATE_NORMAL
] = ss_fg
;
74 g_style
->bg
[GTK_STATE_NORMAL
] = ss_bg
;
76 gtk_widget_set_style( ss_tooltips
->tip_window
, g_style
);
78 gtk_tooltips_set_colors( ss_tooltips
, &ss_bg
, &ss_fg
);
85 m_window
->ApplyToolTip( ss_tooltips
, (wxChar
*) NULL
);
87 m_window
->ApplyToolTip( ss_tooltips
, m_text
);
90 void wxToolTip::Enable( bool flag
)
92 if (!ss_tooltips
) return;
95 gtk_tooltips_enable( ss_tooltips
);
97 gtk_tooltips_disable( ss_tooltips
);
100 void wxToolTip::SetDelay( long msecs
)
102 if (!ss_tooltips
) return;
104 gtk_tooltips_set_delay( ss_tooltips
, msecs
);