+ wxString *choices;
+ int n = ConvertWXArrayToC(aChoices, &choices);
+ size_t res = wxGetMultipleChoices(selections, message, caption,
+ n, choices, parent,
+ x, y, centre, width, height);
+ delete [] choices;
+
+ return res;
+}
+
+// ----------------------------------------------------------------------------
+// wxAnyChoiceDialog
+// ----------------------------------------------------------------------------
+
+bool wxAnyChoiceDialog::Create(wxWindow *parent,
+ const wxString& message,
+ const wxString& caption,
+ int n, const wxString *choices,
+ long styleDlg,
+ const wxPoint& pos,
+ long styleLbox)
+{
+#ifdef __WXMAC__
+ // FIXME: why??
+ if ( !wxDialog::Create(parent, wxID_ANY, caption, pos, wxDefaultSize, styleDlg & (~wxCANCEL) ) )
+ return false;
+#else
+ if ( !wxDialog::Create(parent, wxID_ANY, caption, pos, wxDefaultSize, styleDlg) )
+ return false;
+#endif
+
+ wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
+
+ // 1) text message
+ topsizer->
+ Add(CreateTextSizer(message), wxSizerFlags().Expand().TripleBorder());
+
+ // 2) list box
+ m_listbox = CreateList(n, choices, styleLbox);
+
+ if ( n > 0 )
+ m_listbox->SetSelection(0);
+
+ topsizer->
+ Add(m_listbox, wxSizerFlags().Expand().Proportion(1).TripleBorder(wxLEFT | wxRIGHT));
+
+ // 3) buttons if any
+ wxSizer *
+ buttonSizer = CreateSeparatedButtonSizer(styleDlg & ButtonSizerFlags);
+ if ( buttonSizer )