]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/choice.cpp
fix for crash under wxX11: we get text event there when m_popup is still NULL
[wxWidgets.git] / src / univ / choice.cpp
index 35567aca1b2c74a29df7db2b7543d3582668eff7..d1d5312f36b6e21fe0cd68105ee4d095e1fc0658 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        univ/choice.cpp
+// Name:        src/univ/choice.cpp
 // Purpose:     wxChoice implementation
 // Author:      Vadim Zeitlin
 // Modified by:
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "univchoice.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
 
 #if wxUSE_CHOICE
 
+#include "wx/choice.h"
+
 #ifndef WX_PRECOMP
-    #include "wx/choice.h"
+    #include "wx/arrstr.h"
 #endif
 
-IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControlWithItems)
 
 BEGIN_EVENT_TABLE(wxChoice, wxComboBox)
-    EVT_COMBOBOX(-1, wxChoice::OnComboBox)
+    EVT_COMBOBOX(wxID_ANY, wxChoice::OnComboBox)
 END_EVENT_TABLE()
 
-wxChoice::wxChoice()
-{
-}
-
-wxChoice::wxChoice(wxWindow *parent,
-                   wxWindowID id,
+wxChoice::wxChoice(wxWindow *parent, wxWindowID id,
                    const wxPoint& pos,
                    const wxSize& size,
-                   int n,
-                   const wxString choices[],
+                   const wxArrayString& choices,
                    long style,
                    const wxValidator& validator,
                    const wxString& name)
 {
-    Create(parent, id, pos, size, n, choices, style, validator, name);
+    Create(parent, id, pos, size, choices, style, validator, name);
+}
+
+bool wxChoice::Create(wxWindow *parent, wxWindowID id,
+                      const wxPoint& pos,
+                      const wxSize& size,
+                      const wxArrayString& choices,
+                      long style,
+                      const wxValidator& validator,
+                      const wxString& name)
+{
+    wxCArrayString chs(choices);
+
+    return Create(parent, id, pos, size, chs.GetCount(), chs.GetStrings(),
+                  style, validator, name);
 }
 
 bool wxChoice::Create(wxWindow *parent, wxWindowID id,