/////////////////////////////////////////////////////////////////////////////
-// Name: choicdgg.cpp
+// Name: src/generic/choicdgg.cpp
// Purpose: Choice dialogs
// Author: Julian Smart
// Modified by: 03.11.00: VZ to add wxArrayString and multiple sel functions
#include "wx/dialog.h"
#include "wx/button.h"
#include "wx/listbox.h"
+ #include "wx/checklst.h"
#include "wx/stattext.h"
#include "wx/intl.h"
#include "wx/sizer.h"
topsizer->Add( CreateTextSizer( message ), 0, wxALL, wxLARGESMALL(10,0) );
// 2) list box
- m_listbox = new wxListBox( this, wxID_LISTBOX,
- wxDefaultPosition, wxDefaultSize,
- n, choices,
- styleLbox );
+ m_listbox = CreateList(n,choices,styleLbox);
+
if ( n > 0 )
m_listbox->SetSelection(0);
styleDlg, pos, styleLbox);
}
+wxListBoxBase *wxAnyChoiceDialog::CreateList(int n, const wxString *choices, long styleLbox)
+{
+ return new wxListBox( this, wxID_LISTBOX,
+ wxDefaultPosition, wxDefaultSize,
+ n, choices,
+ styleLbox );
+}
+
// ----------------------------------------------------------------------------
// wxSingleChoiceDialog
// ----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(wxSingleChoiceDialog, wxDialog)
EVT_BUTTON(wxID_OK, wxSingleChoiceDialog::OnOK)
+#ifndef __SMARTPHONE__
EVT_LISTBOX_DCLICK(wxID_LISTBOX, wxSingleChoiceDialog::OnListBoxDClick)
+#endif
+#ifdef __WXWINCE__
+ EVT_JOY_BUTTON_DOWN(wxSingleChoiceDialog::OnJoystickButtonDown)
+#endif
END_EVENT_TABLE()
IMPLEMENT_DYNAMIC_CLASS(wxSingleChoiceDialog, wxDialog)
void wxSingleChoiceDialog::OnOK(wxCommandEvent& WXUNUSED(event))
{
- m_selection = m_listbox->GetSelection();
- m_stringSelection = m_listbox->GetStringSelection();
- if ( m_listbox->HasClientUntypedData() )
- SetClientData(m_listbox->GetClientData(m_selection));
- EndModal(wxID_OK);
+ DoChoice();
}
+#ifndef __SMARTPHONE__
void wxSingleChoiceDialog::OnListBoxDClick(wxCommandEvent& WXUNUSED(event))
+{
+ DoChoice();
+}
+#endif
+
+#ifdef __WXWINCE__
+void wxSingleChoiceDialog::OnJoystickButtonDown(wxJoystickEvent& WXUNUSED(event))
+{
+ DoChoice();
+}
+#endif
+
+void wxSingleChoiceDialog::DoChoice()
{
m_selection = m_listbox->GetSelection();
m_stringSelection = m_listbox->GetStringSelection();
return true;
}
+#if wxUSE_CHECKLISTBOX
+
+wxListBoxBase *wxMultiChoiceDialog::CreateList(int n, const wxString *choices, long styleLbox)
+{
+ return new wxCheckListBox( this, wxID_LISTBOX,
+ wxDefaultPosition, wxDefaultSize,
+ n, choices,
+ styleLbox );
+}
+
+#endif // wxUSE_CHECKLISTBOX
+
#endif // wxUSE_CHOICEDLG