1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Generic choice dialogs
4 // Author: Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef __CHOICEDLGH_G__
13 #define __CHOICEDLGH_G__
16 #pragma interface "choicdgg.h"
20 #include "wx/dialog.h"
22 #define wxCHOICE_HEIGHT 150
23 #define wxCHOICE_WIDTH 200
25 #define wxID_LISTBOX 3000
27 class WXDLLEXPORT wxSingleChoiceDialog
: public wxDialog
29 DECLARE_DYNAMIC_CLASS(wxSingleChoiceDialog
)
31 wxSingleChoiceDialog(wxWindow
*parent
, const wxString
& message
, const wxString
& caption
,
32 int n
, const wxString
*choices
, char **clientData
= (char **) NULL
, long style
= wxOK
|wxCANCEL
|wxCENTRE
, const wxPoint
& pos
= wxDefaultPosition
);
34 wxSingleChoiceDialog(wxWindow
*parent
, const wxString
& message
, const wxString
& caption
,
35 const wxStringList
& choices
, char **clientData
= (char **) NULL
, long style
= wxOK
|wxCANCEL
|wxCENTRE
, const wxPoint
& pos
= wxDefaultPosition
);
37 bool Create(wxWindow
*parent
, const wxString
& message
, const wxString
& caption
,
38 int n
, const wxString
*choices
, char **clientData
= (char **) NULL
, long style
= wxOK
|wxCANCEL
|wxCENTRE
, const wxPoint
& pos
= wxDefaultPosition
);
39 bool Create(wxWindow
*parent
, const wxString
& message
, const wxString
& caption
,
40 const wxStringList
& choices
, char **clientData
= (char **) NULL
, long style
= wxOK
|wxCANCEL
|wxCENTRE
, const wxPoint
& pos
= wxDefaultPosition
);
42 void SetSelection(int sel
) ;
43 int GetSelection() const { return m_selection
; }
44 wxString
GetStringSelection() const { return m_stringSelection
; }
45 char *GetSelectionClientData() const { return (char *)m_clientData
; }
47 void OnOK(wxCommandEvent
& event
);
48 void OnListBoxDClick(wxCommandEvent
& event
);
55 wxString m_stringSelection
;
58 WXDLLEXPORT wxString
wxGetSingleChoice(const wxString
& message
, const wxString
& caption
,
59 int n
, const wxString
*choices
, wxWindow
*parent
= (wxWindow
*) NULL
,
60 int x
= -1, int y
= -1, bool centre
= TRUE
,
61 int width
= wxCHOICE_WIDTH
, int height
= wxCHOICE_HEIGHT
);
63 WXDLLEXPORT wxString
wxGetSingleChoice(const wxString
& message
, const wxString
& caption
,
64 int n
, wxChar
*choices
[], wxWindow
*parent
= (wxWindow
*) NULL
,
65 int x
= -1, int y
= -1, bool centre
= TRUE
,
66 int width
= wxCHOICE_WIDTH
, int height
= wxCHOICE_HEIGHT
);
68 // Same as above but gets position in list of strings, instead of string,
69 // or -1 if no selection
70 WXDLLEXPORT
int wxGetSingleChoiceIndex(const wxString
& message
, const wxString
& caption
,
71 int n
, const wxString
*choices
, wxWindow
*parent
= (wxWindow
*) NULL
,
72 int x
= -1, int y
= -1, bool centre
= TRUE
,
73 int width
= wxCHOICE_WIDTH
, int height
= wxCHOICE_HEIGHT
);
75 WXDLLEXPORT
int wxGetSingleChoiceIndex(const wxString
& message
, const wxString
& caption
,
76 int n
, wxChar
*choices
[], wxWindow
*parent
= (wxWindow
*) NULL
,
77 int x
= -1, int y
= -1, bool centre
= TRUE
,
78 int width
= wxCHOICE_WIDTH
, int height
= wxCHOICE_HEIGHT
);
80 // Return client data instead
81 WXDLLEXPORT wxChar
* wxGetSingleChoiceData(const wxString
& message
, const wxString
& caption
,
82 int n
, const wxString
*choices
, char **client_data
,
83 wxWindow
*parent
= (wxWindow
*) NULL
, int x
= -1, int y
= -1,
85 int width
= wxCHOICE_WIDTH
, int height
= wxCHOICE_HEIGHT
);
87 WXDLLEXPORT wxChar
* wxGetSingleChoiceData(const wxString
& message
, const wxString
& caption
,
88 int n
, wxChar
*choices
[], char **client_data
,
89 wxWindow
*parent
= (wxWindow
*) NULL
, int x
= -1, int y
= -1,
91 int width
= wxCHOICE_WIDTH
, int height
= wxCHOICE_HEIGHT
);
94 WXDLLEXPORT int wxGetMultipleChoice(const wxString& message, const wxString& caption,
95 int n, const wxString *choices,
96 int nsel, int * selection,
97 wxWindow *parent = NULL, int x = -1 , int y = -1, bool centre = TRUE,
98 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);