+#if wxUSE_LIBHILDON
+ HildonColorSelector * const sel = HILDON_COLOR_SELECTOR(m_widget);
+ const GdkColor * const clr = hildon_color_selector_get_color(sel);
+ if ( clr )
+ m_data.SetColour(*clr);
+#elif wxUSE_LIBHILDON2 // !wxUSE_LIBHILDON
+ const GdkColor * const
+ col = m_data.GetColour().Ok() ? m_data.GetColour().GetColor() : NULL;
+
+ GdkColor clr;
+ if (col)
+ clr = *col;
+ else {
+ clr.pixel = 0;
+ clr.red = 32768;
+ clr.green = 32768;
+ clr.blue = 32768;
+ }
+ GdkColor new_color = clr;
+ hildon_color_chooser_dialog_get_color((HildonColorChooserDialog *)m_widget, &new_color);
+
+ m_data.SetColour(new_color);
+#else // !wxUSE_LIBHILDON2
+
+ GtkColorSelection* sel = GTK_COLOR_SELECTION(
+ gtk_color_selection_dialog_get_color_selection(
+ GTK_COLOR_SELECTION_DIALOG(m_widget)));