+ wxFAIL_MSG( "wxComboBox::SetEditable not implemented" );
+}
+
+void wxComboBox::OnSize( wxSizeEvent &event )
+{
+ wxControl::OnSize( event );
+
+ int w = 22;
+
+ gtk_widget_set_usize( GTK_COMBO(m_widget)->entry, m_width-w-1, m_height );
+
+ gtk_widget_set_uposition( GTK_COMBO(m_widget)->button, m_x+m_width-w, m_y );
+ gtk_widget_set_usize( GTK_COMBO(m_widget)->button, w, m_height );
+}
+
+void wxComboBox::SetFont( const wxFont &font )
+{
+ wxWindow::SetFont( font );
+
+ GtkWidget *entry = GTK_COMBO(m_widget)->entry;
+
+ gtk_widget_set_style( entry,
+ gtk_style_ref(
+ gtk_widget_get_style( m_widget ) ) );
+
+ GtkWidget *list = GTK_COMBO(m_widget)->list;
+
+ GList *child = GTK_LIST(list)->children;
+ while (child)
+ {
+ GtkBin *bin = (GtkBin*) child->data;
+ gtk_widget_set_style( bin->child,
+ gtk_style_ref(
+ gtk_widget_get_style( m_widget ) ) );
+
+ child = child->next;
+ }
+}
+
+GtkWidget* wxComboBox::GetConnectWidget(void)
+{
+ return GTK_COMBO(m_widget)->entry;
+}
+
+bool wxComboBox::IsOwnGtkWindow( GdkWindow *window )
+{
+ return ( (window == GTK_ENTRY( GTK_COMBO(m_widget)->entry )->text_area) ||
+ (window == GTK_COMBO(m_widget)->button->window ) );
+}
+
+void wxComboBox::SetBackgroundColour( const wxColour &colour )
+{
+ wxWindow::SetBackgroundColour( colour );
+
+ GtkWidget *list = GTK_COMBO(m_widget)->list;
+
+ GList *child = GTK_LIST(list)->children;
+ while (child)
+ {
+ GtkBin *bin = (GtkBin*) child->data;
+ SetBackgroundColourHelper( bin->child->window );
+ child = child->next;
+ }
+}