]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/forty/playerdg.cpp
Remove DoSetSizeHints() call from Create()
[wxWidgets.git] / demos / forty / playerdg.cpp
index 1daa8905ddf062964de47b3b8f8366901628e7dc..330e84eef43533690f9cb7a767d32bab1e27cdbe 100644 (file)
@@ -4,18 +4,10 @@
 // Author:      Chris Breeze
 // Modified by:
 // 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"
 
 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);
+    }
 }