m_colHighlightText,
m_colListBox,
m_colBtnText,
- m_colMenuItemHighlight;
+ m_colMenuItemHighlight,
+ m_colTooltip,
+ m_colTooltipText;
wxFont m_fontSystem;
};
case wxGTK_LIST:
widget = gtk_list_new();
-
+ break;
+
case wxGTK_MENUITEM:
widget = gtk_menu_item_new();
}
return ok;
}
+static void GetTooltipColors()
+{
+ GtkTooltips* tooltips = gtk_tooltips_new();
+ gtk_tooltips_force_window(tooltips);
+ gtk_widget_ensure_style(tooltips->tip_window);
+ GdkColor c = tooltips->tip_window->style->bg[GTK_STATE_NORMAL];
+ gs_objects.m_colTooltip = wxColor(c.red >> SHIFT, c.green >> SHIFT, c.blue >> SHIFT);
+ c = tooltips->tip_window->style->fg[GTK_STATE_NORMAL];
+ gs_objects.m_colTooltipText = wxColor(c.red >> SHIFT, c.green >> SHIFT, c.blue >> SHIFT);
+ gtk_object_sink(wx_reinterpret_cast(GtkObject*, tooltips));
+}
+
wxColour wxSystemSettingsNative::GetColour( wxSystemColour index )
{
switch (index)
case wxSYS_COLOUR_CAPTIONTEXT:
case wxSYS_COLOUR_INACTIVECAPTIONTEXT:
case wxSYS_COLOUR_BTNTEXT:
- case wxSYS_COLOUR_INFOTEXT:
if (!gs_objects.m_colBtnText.Ok())
{
int red, green, blue;
}
return gs_objects.m_colBtnText;
- // this (as well as wxSYS_COLOUR_INFOTEXT above) is used for
- // tooltip windows - Robert, please change this code to use the
- // real GTK tooltips when/if you can (TODO)
case wxSYS_COLOUR_INFOBK:
- return wxColour(255, 255, 225);
+ if (!gs_objects.m_colTooltip.Ok()) {
+ GetTooltipColors();
+ }
+ return gs_objects.m_colTooltip;
+
+ case wxSYS_COLOUR_INFOTEXT:
+ if (!gs_objects.m_colTooltipText.Ok()) {
+ GetTooltipColors();
+ }
+ return gs_objects.m_colTooltipText;
case wxSYS_COLOUR_HIGHLIGHTTEXT:
if (!gs_objects.m_colHighlightText.Ok())
case wxSYS_COLOUR_MAX:
default:
wxFAIL_MSG( _T("unknown system colour index") );
- }
+ }
- return *wxWHITE;
+ return *wxWHITE;
}
wxFont wxSystemSettingsNative::GetFont( wxSystemFont index )