- m_parent->DoAddChild( this );
-
- PostCreation();
-
- ConnectWidget( GTK_COMBO(m_widget)->button );
-
- if (!value.IsNull()) SetValue( value );
-
- if (style & wxCB_READONLY)
- gtk_entry_set_editable( GTK_ENTRY( GTK_COMBO(m_widget)->entry ), FALSE );
-
- gtk_signal_connect( GTK_OBJECT(GTK_COMBO(m_widget)->entry), "changed",
- GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
-
- wxSize size_best( DoGetBestSize() );
- wxSize new_size( size );
- if (new_size.x == -1)
- new_size.x = size_best.x;
- if (new_size.y == -1)
- new_size.y = size_best.y;
- if (new_size.y > size_best.y)
- new_size.y = size_best.y;
- if ((new_size.x != size.x) || (new_size.y != size.y))
- SetSize( new_size.x, new_size.y );
-
- SetBackgroundColour( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_WINDOW ) );
- SetForegroundColour( parent->GetForegroundColour() );
-
- Show( TRUE );
-
- return TRUE;
-}
-
-wxComboBox::~wxComboBox()
-{
- wxNode *node = m_clientObjectList.First();
- while (node)
- {
- wxClientData *cd = (wxClientData*)node->Data();
- if (cd) delete cd;
- node = node->Next();
- }
- m_clientObjectList.Clear();
-
- m_clientDataList.Clear();
-}
-
-void wxComboBox::AppendCommon( const wxString &item )
-{
- wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );
-
- GtkWidget *list = GTK_COMBO(m_widget)->list;
-
- GtkWidget *list_item = gtk_list_item_new_with_label( item.mbc_str() );
-
- gtk_container_add( GTK_CONTAINER(list), list_item );