+// ----------------------------------------------------------------------------
+// wxMultiChoiceDialog: a dialog with multi selection listbox
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxMultiChoiceDialog : public wxAnyChoiceDialog
+{
+public:
+ wxMultiChoiceDialog() { }
+
+ wxMultiChoiceDialog(wxWindow *parent,
+ const wxString& message,
+ const wxString& caption,
+ int n,
+ const wxString *choices,
+ long style = wxCHOICEDLG_STYLE,
+ const wxPoint& pos = wxDefaultPosition)
+ {
+ (void)Create(parent, message, caption, n, choices, style, pos);
+ }
+ wxMultiChoiceDialog(wxWindow *parent,
+ const wxString& message,
+ const wxString& caption,
+ const wxArrayString& choices,
+ long style = wxCHOICEDLG_STYLE,
+ const wxPoint& pos = wxDefaultPosition)
+ {
+ (void)Create(parent, message, caption, choices, style, pos);
+ }
+
+ bool Create(wxWindow *parent,
+ const wxString& message,
+ const wxString& caption,
+ int n,
+ const wxString *choices,
+ long style = wxCHOICEDLG_STYLE,
+ const wxPoint& pos = wxDefaultPosition);
+ bool Create(wxWindow *parent,
+ const wxString& message,
+ const wxString& caption,
+ const wxArrayString& choices,
+ long style = wxCHOICEDLG_STYLE,
+ const wxPoint& pos = wxDefaultPosition);
+
+ void SetSelections(const wxArrayInt& selections);
+ wxArrayInt GetSelections() const { return m_selections; }
+
+ // implementation from now on
+ virtual bool TransferDataFromWindow();
+
+protected:
+ wxArrayInt m_selections;
+
+private:
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxMultiChoiceDialog)
+};
+
+// ----------------------------------------------------------------------------
+// wrapper functions which can be used to get selection(s) from the user
+// ----------------------------------------------------------------------------
+
+// get the user selection as a string
+WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message,
+ const wxString& caption,
+ const wxArrayString& choices,
+ wxWindow *parent = (wxWindow *) NULL,
+ int x = -1,
+ int y = -1,
+ bool centre = TRUE,
+ int width = wxCHOICE_WIDTH,
+ int height = wxCHOICE_HEIGHT);