// Author: Julian Smart
// Modified by: 03.11.00: VZ to add wxArrayString and multiple sel functions
// Created: 04/01/98
-// RCS-ID: $Id$
// Copyright: (c) wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
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,
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;
}