X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e0b5519ad91212b816b9d6f27bb4636c6e465fce..fa699cbaaf217af186cd04dd10d6ec67c8667136:/demos/forty/playerdg.cpp diff --git a/demos/forty/playerdg.cpp b/demos/forty/playerdg.cpp index 1daa8905dd..82cf4da6e8 100644 --- a/demos/forty/playerdg.cpp +++ b/demos/forty/playerdg.cpp @@ -6,16 +6,9 @@ // Created: 21/07/97 // RCS-ID: $Id$ // Copyright: (c) 1993-1998 Chris Breeze -// Licence: wxWindows licence -//--------------------------------------------------------------------------- -// Last modified: 22nd July 1998 - ported to wxWindows 2.0 +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation -#pragma interface -#endif - // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" @@ -33,118 +26,114 @@ const int ID_LISTBOX = 101; BEGIN_EVENT_TABLE(PlayerSelectionDialog, wxDialog) - EVT_SIZE(PlayerSelectionDialog::OnSize) - EVT_BUTTON(wxID_OK, PlayerSelectionDialog::ButtonCallback) - EVT_BUTTON(wxID_CANCEL, PlayerSelectionDialog::ButtonCallback) - EVT_LISTBOX(ID_LISTBOX, PlayerSelectionDialog::SelectCallback) + EVT_SIZE(PlayerSelectionDialog::OnSize) + EVT_BUTTON(wxID_OK, PlayerSelectionDialog::ButtonCallback) + EVT_BUTTON(wxID_CANCEL, PlayerSelectionDialog::ButtonCallback) + EVT_LISTBOX(ID_LISTBOX, PlayerSelectionDialog::SelectCallback) EVT_CLOSE(PlayerSelectionDialog::OnCloseWindow) END_EVENT_TABLE() PlayerSelectionDialog::PlayerSelectionDialog( - wxWindow* parent, - ScoreFile* file - ) : - wxDialog(parent, wxID_ANY, _T("Player Selection"), - wxDefaultPosition, wxDefaultSize, - wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE), - m_scoreFile(file) + wxWindow* parent, + ScoreFile* file + ) : + wxDialog(parent, wxID_ANY, wxT("Player Selection"), wxDefaultPosition), + m_scoreFile(file) { - wxStaticText* msg = new wxStaticText(this, wxID_ANY, _T("Please select a name or type a new one:")); - - wxListBox* list = new wxListBox( - this, ID_LISTBOX, - wxDefaultPosition, wxDefaultSize, - 0, 0, - wxLB_SINGLE - ); - - wxArrayString players; - m_scoreFile->GetPlayerList(players); - for (unsigned int i = 0; i < players.Count(); i++) - { - list->Append(players[i]); - } - - m_textField = new wxTextCtrl(this, wxID_ANY, _T(""), wxDefaultPosition, wxDefaultSize, 0); - - m_OK = new wxButton(this, wxID_OK, _T("OK")); - m_cancel = new wxButton(this, wxID_CANCEL, _T("Cancel")); - - wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL ); - button_sizer->Add( m_OK, 0, wxALL, 10 ); - button_sizer->Add( m_cancel, 0, wxALL, 10 ); - - wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); - topsizer->Add( msg, 0, wxALL , 10 ); - topsizer->Add( list, 1, wxEXPAND | wxLEFT | wxRIGHT, 10 ); - topsizer->Add( m_textField, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 10 ); - topsizer->Add( button_sizer, 0, wxALIGN_LEFT ); - - SetSizer( topsizer ); - - topsizer->SetSizeHints( this ); - + wxStaticText* msg = new wxStaticText(this, wxID_ANY, wxT("Please select a name or type a new one:")); + + wxListBox* list = new wxListBox( + this, ID_LISTBOX, + wxDefaultPosition, wxSize(-1, 150), + 0, 0, + wxLB_SINGLE + ); + + wxArrayString players; + m_scoreFile->GetPlayerList(players); + for (unsigned int i = 0; i < players.Count(); i++) + { + list->Append(players[i]); + } + + m_textField = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize); + + m_OK = new wxButton(this, wxID_OK); + m_cancel = new wxButton(this, wxID_CANCEL); + + wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL ); + button_sizer->Add( m_OK, 0, wxALL, 10 ); + button_sizer->Add( m_cancel, 0, wxALL, 10 ); + + wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); + topsizer->Add( msg, 0, wxALL , 10 ); + topsizer->Add( list, 1, wxEXPAND | wxLEFT | wxRIGHT, 10 ); + topsizer->Add( m_textField, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 10 ); + topsizer->Add( button_sizer, 0, wxALIGN_LEFT ); + + SetSizer( topsizer ); + + topsizer->SetSizeHints( this ); + CentreOnParent(); -} -PlayerSelectionDialog::~PlayerSelectionDialog() -{ + m_OK->SetDefault(); } void PlayerSelectionDialog::OnSize(wxSizeEvent& WXUNUSED(event)) { - Layout(); + Layout(); } const wxString& PlayerSelectionDialog::GetPlayersName() { /* - m_player = ""; - Show(true); + m_player = wxEmptyString; + Show(true); */ - return m_player; + return m_player; } void PlayerSelectionDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) { - m_player = _T(""); + m_player = wxEmptyString; EndModal(wxID_CANCEL); } void PlayerSelectionDialog::SelectCallback(wxCommandEvent& event) { - if (event.GetEventType() == wxEVT_COMMAND_LISTBOX_SELECTED) - { -// if (event.IsSelection()) - m_textField->SetValue(event.GetString()); - } + if (event.GetEventType() == wxEVT_LISTBOX) + { +// if (event.IsSelection()) + m_textField->SetValue(event.GetString()); + } } void PlayerSelectionDialog::ButtonCallback(wxCommandEvent& event) { - if (event.GetId() == wxID_OK) - { - wxString name = m_textField->GetValue(); - if (!name.IsNull() && name.Length() > 0) - { - if (name.Contains(_T('@'))) - { - wxMessageBox(_T("Names should not contain the '@' character"), _T("Forty Thieves")); - } - else - { - m_player = name; - EndModal(wxID_OK); - } - } - else - { - wxMessageBox(_T("Please enter your name"), _T("Forty Thieves")); - } - } - else - { - m_player = _T(""); - EndModal(wxID_CANCEL); - } + if (event.GetId() == wxID_OK) + { + wxString name = m_textField->GetValue(); + if ( !name.empty() ) + { + if (name.Contains(wxT('@'))) + { + wxMessageBox(wxT("Names should not contain the '@' character"), wxT("Forty Thieves")); + } + else + { + m_player = name; + EndModal(wxID_OK); + } + } + else + { + wxMessageBox(wxT("Please enter your name"), wxT("Forty Thieves")); + } + } + else + { + m_player = wxEmptyString; + EndModal(wxID_CANCEL); + } }