| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        playerdg.cpp
 
- // Purpose:     Forty Thieves patience game
 
- // Author:      Chris Breeze
 
- // Modified by:
 
- // Created:     21/07/97
 
- // Copyright:   (c) 1993-1998 Chris Breeze
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- // For compilers that support precompilation, includes "wx/wx.h".
 
- #include "wx/wxprec.h"
 
- #ifdef __BORLANDC__
 
- #pragma hdrstop
 
- #endif
 
- #ifndef WX_PRECOMP
 
- #include "wx/wx.h"
 
- #endif
 
- #include "scorefil.h"
 
- #include "playerdg.h"
 
- 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_CLOSE(PlayerSelectionDialog::OnCloseWindow)
 
- END_EVENT_TABLE()
 
- PlayerSelectionDialog::PlayerSelectionDialog(
 
-                             wxWindow* parent,
 
-                             ScoreFile* file
 
-                             ) :
 
-     wxDialog(parent, wxID_ANY, wxT("Player Selection"), wxDefaultPosition),
 
-     m_scoreFile(file)
 
- {
 
-     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();
 
-     m_OK->SetDefault();
 
- }
 
- void PlayerSelectionDialog::OnSize(wxSizeEvent& WXUNUSED(event))
 
- {
 
-     Layout();
 
- }
 
- const wxString& PlayerSelectionDialog::GetPlayersName()
 
- {
 
- /*
 
-     m_player = wxEmptyString;
 
-     Show(true);
 
- */
 
-     return m_player;
 
- }
 
- void PlayerSelectionDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
 
- {
 
-     m_player = wxEmptyString;
 
-     EndModal(wxID_CANCEL);
 
- }
 
- void PlayerSelectionDialog::SelectCallback(wxCommandEvent& event)
 
- {
 
-     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.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);
 
-     }
 
- }
 
 
  |