wxWindow *parent,
int WXUNUSED(x), int WXUNUSED(y),
bool WXUNUSED(centre),
- int WXUNUSED(width), int WXUNUSED(height) )
+ int WXUNUSED(width), int WXUNUSED(height),
+ int initialSelection)
{
wxSingleChoiceDialog dialog(parent, message, caption, n, choices);
+
+ dialog.SetSelection(initialSelection);
+
wxString choice;
if ( dialog.ShowModal() == wxID_OK )
choice = dialog.GetStringSelection();
wxWindow *parent,
int x, int y,
bool centre,
- int width, int height)
+ int width, int height,
+ int initialSelection)
{
wxString *choices;
int n = ConvertWXArrayToC(aChoices, &choices);
wxString res = wxGetSingleChoice(message, caption, n, choices, parent,
- x, y, centre, width, height);
+ x, y, centre, width, height,
+ initialSelection);
delete [] choices;
return res;
}
+wxString wxGetSingleChoice( const wxString& message,
+ const wxString& caption,
+ const wxArrayString& choices,
+ int initialSelection,
+ wxWindow *parent)
+{
+ return wxGetSingleChoice(message, caption, choices, parent,
+ wxDefaultCoord, wxDefaultCoord,
+ true, wxCHOICE_WIDTH, wxCHOICE_HEIGHT,
+ initialSelection);
+}
+
+wxString wxGetSingleChoice( const wxString& message,
+ const wxString& caption,
+ int n, const wxString *choices,
+ int initialSelection,
+ wxWindow *parent)
+{
+ return wxGetSingleChoice(message, caption, n, choices, parent,
+ wxDefaultCoord, wxDefaultCoord,
+ true, wxCHOICE_WIDTH, wxCHOICE_HEIGHT,
+ initialSelection);
+}
+
int wxGetSingleChoiceIndex( const wxString& message,
const wxString& caption,
int n, const wxString *choices,
wxWindow *parent,
int WXUNUSED(x), int WXUNUSED(y),
bool WXUNUSED(centre),
- int WXUNUSED(width), int WXUNUSED(height) )
+ int WXUNUSED(width), int WXUNUSED(height),
+ int initialSelection)
{
wxSingleChoiceDialog dialog(parent, message, caption, n, choices);
+
+ dialog.SetSelection(initialSelection);
+
int choice;
if ( dialog.ShowModal() == wxID_OK )
choice = dialog.GetSelection();
wxWindow *parent,
int x, int y,
bool centre,
- int width, int height)
+ int width, int height,
+ int initialSelection)
{
wxString *choices;
int n = ConvertWXArrayToC(aChoices, &choices);
int res = wxGetSingleChoiceIndex(message, caption, n, choices, parent,
- x, y, centre, width, height);
+ x, y, centre, width, height,
+ initialSelection);
delete [] choices;
return res;
}
+int wxGetSingleChoiceIndex( const wxString& message,
+ const wxString& caption,
+ const wxArrayString& choices,
+ int initialSelection,
+ wxWindow *parent)
+{
+ return wxGetSingleChoiceIndex(message, caption, choices, parent,
+ wxDefaultCoord, wxDefaultCoord,
+ true, wxCHOICE_WIDTH, wxCHOICE_HEIGHT,
+ initialSelection);
+}
+
+
+int wxGetSingleChoiceIndex( const wxString& message,
+ const wxString& caption,
+ int n, const wxString *choices,
+ int initialSelection,
+ wxWindow *parent)
+{
+ return wxGetSingleChoiceIndex(message, caption, n, choices, parent,
+ wxDefaultCoord, wxDefaultCoord,
+ true, wxCHOICE_WIDTH, wxCHOICE_HEIGHT,
+ initialSelection);
+}
+
+
void *wxGetSingleChoiceData( const wxString& message,
const wxString& caption,
int n, const wxString *choices,
wxWindow *parent,
int WXUNUSED(x), int WXUNUSED(y),
bool WXUNUSED(centre),
- int WXUNUSED(width), int WXUNUSED(height) )
+ int WXUNUSED(width), int WXUNUSED(height),
+ int initialSelection)
{
wxSingleChoiceDialog dialog(parent, message, caption, n, choices,
- (char **)client_data);
+ client_data);
+
+ dialog.SetSelection(initialSelection);
+
void *data;
if ( dialog.ShowModal() == wxID_OK )
- data = dialog.GetSelectionClientData();
+ data = dialog.GetSelectionData();
else
data = NULL;
wxWindow *parent,
int x, int y,
bool centre,
- int width, int height)
+ int width, int height,
+ int initialSelection)
{
wxString *choices;
int n = ConvertWXArrayToC(aChoices, &choices);
void *res = wxGetSingleChoiceData(message, caption, n, choices,
client_data, parent,
- x, y, centre, width, height);
+ x, y, centre, width, height,
+ initialSelection);
delete [] choices;
return res;
}
+void* wxGetSingleChoiceData( const wxString& message,
+ const wxString& caption,
+ const wxArrayString& choices,
+ void **client_data,
+ int initialSelection,
+ wxWindow *parent)
+{
+ return wxGetSingleChoiceData(message, caption, choices,
+ client_data, parent,
+ wxDefaultCoord, wxDefaultCoord,
+ true, wxCHOICE_WIDTH, wxCHOICE_HEIGHT,
+ initialSelection);
+}
+
+void* wxGetSingleChoiceData( const wxString& message,
+ const wxString& caption,
+ int n, const wxString *choices,
+ void **client_data,
+ int initialSelection,
+ wxWindow *parent)
+{
+ return wxGetSingleChoiceData(message, caption, n, choices,
+ client_data, parent,
+ wxDefaultCoord, wxDefaultCoord,
+ true, wxCHOICE_WIDTH, wxCHOICE_HEIGHT,
+ initialSelection);
+}
+
+
int wxGetSelectedChoices(wxArrayInt& selections,
const wxString& message,
const wxString& caption,
const wxPoint& pos,
long styleLbox)
{
-#ifdef __WXMAC__
- // FIXME: why??
- if ( !wxDialog::Create(parent, wxID_ANY, caption, pos, wxDefaultSize, styleDlg & (~wxCANCEL) ) )
- return false;
-#else
+ // extract the buttons styles from the dialog one and remove them from it
+ const long styleBtns = styleDlg & (wxOK | wxCANCEL);
+ styleDlg &= ~styleBtns;
+
if ( !wxDialog::Create(parent, wxID_ANY, caption, pos, wxDefaultSize, styleDlg) )
return false;
-#endif
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
// 3) buttons if any
wxSizer *
- buttonSizer = CreateSeparatedButtonSizer(styleDlg & ButtonSizerFlags);
+ buttonSizer = CreateSeparatedButtonSizer(styleBtns);
if ( buttonSizer )
{
topsizer->Add(buttonSizer, wxSizerFlags().Expand().DoubleBorder());
IMPLEMENT_DYNAMIC_CLASS(wxSingleChoiceDialog, wxDialog)
-wxSingleChoiceDialog::wxSingleChoiceDialog(wxWindow *parent,
- const wxString& message,
- const wxString& caption,
- int n,
- const wxString *choices,
- char **clientData,
- long style,
- const wxPoint& WXUNUSED(pos))
-{
- Create(parent, message, caption, n, choices, clientData, style);
-}
-
-wxSingleChoiceDialog::wxSingleChoiceDialog(wxWindow *parent,
- const wxString& message,
- const wxString& caption,
- const wxArrayString& choices,
- char **clientData,
- long style,
- const wxPoint& WXUNUSED(pos))
-{
- Create(parent, message, caption, choices, clientData, style);
-}
-
bool wxSingleChoiceDialog::Create( wxWindow *parent,
const wxString& message,
const wxString& caption,
int n,
const wxString *choices,
- char **clientData,
+ void **clientData,
long style,
const wxPoint& pos )
{
const wxString& message,
const wxString& caption,
const wxArrayString& choices,
- char **clientData,
+ void **clientData,
long style,
const wxPoint& pos )
{
// Set the selection
void wxSingleChoiceDialog::SetSelection(int sel)
{
+ wxCHECK_RET( sel >= 0 && (unsigned)sel < m_listbox->GetCount(),
+ "Invalid initial selection" );
+
m_listbox->SetSelection(sel);
m_selection = sel;
}