X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1169a91932273bc84c23ed9dbd0a2da064d59d66..3413ceade83fb3026228e192d5737389aef3ad89:/src/generic/choicdgg.cpp diff --git a/src/generic/choicdgg.cpp b/src/generic/choicdgg.cpp index 960619d893..6183fdefd3 100644 --- a/src/generic/choicdgg.cpp +++ b/src/generic/choicdgg.cpp @@ -5,7 +5,7 @@ // Modified by: 03.11.00: VZ to add wxArrayString and multiple sel functions // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -54,6 +54,20 @@ #define wxID_LISTBOX 3000 +// --------------------------------------------------------------------------- +// macros +// --------------------------------------------------------------------------- + +/* Macro for avoiding #ifdefs when value have to be different depending on size of + device we display on + */ + +#if defined(__SMARTPHONE__) + #define wxLARGESMALL(large,small) small +#else + #define wxLARGESMALL(large,small) large +#endif + // ---------------------------------------------------------------------------- // private functions // ---------------------------------------------------------------------------- @@ -238,22 +252,6 @@ size_t wxGetMultipleChoices(wxArrayInt& selections, // wxAnyChoiceDialog // ---------------------------------------------------------------------------- -wxAnyChoiceDialog::wxAnyChoiceDialog() -{ -} - -wxAnyChoiceDialog::wxAnyChoiceDialog(wxWindow *parent, - const wxString& message, - const wxString& caption, - int n, - const wxString *choices, - long styleDlg, - const wxPoint& pos, - long styleLbox) -{ - (void)Create(parent, message, caption, n, choices, styleDlg, pos, styleLbox); -} - bool wxAnyChoiceDialog::Create(wxWindow *parent, const wxString& message, const wxString& caption, @@ -262,13 +260,13 @@ bool wxAnyChoiceDialog::Create(wxWindow *parent, const wxPoint& pos, long styleLbox) { - if ( !wxDialog::Create(parent, -1, caption, pos, wxDefaultSize, styleDlg) ) - return FALSE; + if ( !wxDialog::Create(parent, wxID_ANY, caption, pos, wxDefaultSize, styleDlg) ) + return false; wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); // 1) text message - topsizer->Add( CreateTextSizer( message ), 0, wxALL, 10 ); + topsizer->Add( CreateTextSizer( message ), 0, wxALL, wxLARGESMALL(10,0) ); // 2) list box m_listbox = new wxListBox( this, wxID_LISTBOX, @@ -278,17 +276,25 @@ bool wxAnyChoiceDialog::Create(wxWindow *parent, if ( n > 0 ) m_listbox->SetSelection(0); - topsizer->Add( m_listbox, 1, wxEXPAND | wxLEFT|wxRIGHT, 15 ); + topsizer->Add( m_listbox, 1, wxEXPAND | wxLEFT|wxRIGHT, wxLARGESMALL(15,0) ); + +#ifdef __SMARTPHONE__ + + SetRightMenu(wxID_CANCEL, _("Cancel")); + +#else // __SMARTPHONE__/!__SMARTPHONE__ #if wxUSE_STATLINE // 3) static line - topsizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND | wxLEFT|wxRIGHT|wxTOP, 10 ); + topsizer->Add( new wxStaticLine( this, wxID_ANY ), 0, wxEXPAND | wxLEFT|wxRIGHT|wxTOP, 10 ); #endif // 4) buttons topsizer->Add( CreateButtonSizer( styleDlg & (wxOK|wxCANCEL) ), 0, wxCENTRE | wxALL, 10 ); - SetAutoLayout( TRUE ); +#endif // !__SMARTPHONE__ + + SetAutoLayout( true ); SetSizer( topsizer ); topsizer->SetSizeHints( this ); @@ -298,7 +304,20 @@ bool wxAnyChoiceDialog::Create(wxWindow *parent, m_listbox->SetFocus(); - return TRUE; + return true; +} + +bool wxAnyChoiceDialog::Create(wxWindow *parent, + const wxString& message, + const wxString& caption, + const wxArrayString& choices, + long styleDlg, + const wxPoint& pos, + long styleLbox) +{ + wxCArrayString chs(choices); + return Create(parent, message, caption, chs.GetCount(), chs.GetStrings(), + styleDlg, pos, styleLbox); } // ---------------------------------------------------------------------------- @@ -312,11 +331,6 @@ END_EVENT_TABLE() IMPLEMENT_DYNAMIC_CLASS(wxSingleChoiceDialog, wxDialog) -wxSingleChoiceDialog::wxSingleChoiceDialog() -{ - m_selection = -1; -} - wxSingleChoiceDialog::wxSingleChoiceDialog(wxWindow *parent, const wxString& message, const wxString& caption, @@ -329,6 +343,17 @@ wxSingleChoiceDialog::wxSingleChoiceDialog(wxWindow *parent, 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, @@ -341,7 +366,7 @@ bool wxSingleChoiceDialog::Create( wxWindow *parent, if ( !wxAnyChoiceDialog::Create(parent, message, caption, n, choices, style, pos) ) - return FALSE; + return false; m_selection = n > 0 ? 0 : -1; @@ -351,7 +376,20 @@ bool wxSingleChoiceDialog::Create( wxWindow *parent, m_listbox->SetClientData(i, clientData[i]); } - return TRUE; + return true; +} + +bool wxSingleChoiceDialog::Create( wxWindow *parent, + const wxString& message, + const wxString& caption, + const wxArrayString& choices, + char **clientData, + long style, + const wxPoint& pos ) +{ + wxCArrayString chs(choices); + return Create( parent, message, caption, chs.GetCount(), chs.GetStrings(), + clientData, style, pos ); } // Set the selection @@ -387,21 +425,6 @@ void wxSingleChoiceDialog::OnListBoxDClick(wxCommandEvent& WXUNUSED(event)) IMPLEMENT_DYNAMIC_CLASS(wxMultiChoiceDialog, wxDialog) -wxMultiChoiceDialog::wxMultiChoiceDialog() -{ -} - -wxMultiChoiceDialog::wxMultiChoiceDialog(wxWindow *parent, - const wxString& message, - const wxString& caption, - int n, - const wxString *choices, - long style, - const wxPoint& pos) -{ - (void)Create(parent, message, caption, n, choices, style, pos); -} - bool wxMultiChoiceDialog::Create( wxWindow *parent, const wxString& message, const wxString& caption, @@ -414,9 +437,21 @@ bool wxMultiChoiceDialog::Create( wxWindow *parent, n, choices, style, pos, wxLB_ALWAYS_SB | wxLB_EXTENDED) ) - return FALSE; + return false; + + return true; +} - return TRUE; +bool wxMultiChoiceDialog::Create( wxWindow *parent, + const wxString& message, + const wxString& caption, + const wxArrayString& choices, + long style, + const wxPoint& pos ) +{ + wxCArrayString chs(choices); + return Create( parent, message, caption, chs.GetCount(), + chs.GetStrings(), style, pos ); } void wxMultiChoiceDialog::SetSelections(const wxArrayInt& selections) @@ -438,7 +473,7 @@ bool wxMultiChoiceDialog::TransferDataFromWindow() m_selections.Add(n); } - return TRUE; + return true; } #endif // wxUSE_CHOICEDLG