]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/combobox.cpp
MingW32 compilation works now.
[wxWidgets.git] / src / gtk / combobox.cpp
index 07bbd6e5d50449367cf1d4e0273b2ee82febdf9b..b51c7c04abafca10dad4eb3f603edd040da07ee9 100644 (file)
@@ -12,6 +12,9 @@
 #endif
 
 #include "wx/combobox.h"
+
+#if wxUSE_COMBOBOX
+
 #include "wx/settings.h"
 
 #include <wx/intl.h>
@@ -41,7 +44,7 @@ gtk_combo_clicked_callback( GtkWidget *WXUNUSED(widget), wxComboBox *combo )
 {
     if (g_isIdle) wxapp_install_idle_handler();
 
-    if (!combo->HasVMT()) return;
+    if (!combo->m_hasVMT) return;
 
     if (g_blockEventsOnDrag) return;
 
@@ -70,6 +73,8 @@ gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxComboBox *combo )
 {
     if (g_isIdle) wxapp_install_idle_handler();
     
+    if (!combo->m_hasVMT) return;
+
     wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, combo->GetId() );
     event.SetString( combo->GetValue() );
     event.SetEventObject( combo );
@@ -99,7 +104,9 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
 
     PreCreation( parent, id, pos, size, style, name );
 
+#if wxUSE_VALIDATORS
     SetValidator( validator );
+#endif
 
     m_widget = gtk_combo_new();
 
@@ -110,7 +117,7 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
     if (newSize.x == -1)
         newSize.x = 100;
     if (newSize.y == -1)
-        newSize.y = 22;
+        newSize.y = 26;
     SetSize( newSize.x, newSize.y );
 
     GtkWidget *list = GTK_COMBO(m_widget)->list;
@@ -134,9 +141,7 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
         gtk_widget_show( list_item );
     }
 
-    m_parent->AddChild( this );
-
-    (m_parent->m_insertCallback)( m_parent, this );
+    m_parent->DoAddChild( this );
 
     PostCreation();
 
@@ -161,13 +166,15 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value,
 
 wxComboBox::~wxComboBox()
 {
-    wxNode *node = m_clientDataList.First();
+    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();
 }
 
@@ -582,7 +589,9 @@ void wxComboBox::OnChar( wxKeyEvent &event )
 
 void wxComboBox::OnSize( wxSizeEvent &event )
 {
-    wxControl::OnSize( event );
+    event.Skip();
+    
+    return;
 
     int w = 21;
     gtk_widget_set_usize( GTK_COMBO(m_widget)->entry, m_width-w-1, m_height );
@@ -623,3 +632,4 @@ bool wxComboBox::IsOwnGtkWindow( GdkWindow *window )
              (window == GTK_COMBO(m_widget)->button->window ) );
 }
 
+#endif