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(
ScoreFile* file
) :
wxDialog(parent, -1, "Player Selection",
- wxDefaultPosition, wxSize(250, 200),
+ wxDefaultPosition, wxSize(320, 200),
wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE),
m_scoreFile(file)
{
0, 0,
wxLB_SINGLE
);
-/*
- Robert Roebling
- int numPlayers = 0;
- wxString* players = 0;
- m_scoreFile->GetPlayerList(&players, numPlayers);
- for (int i = 0; i < numPlayers; i++)
+ wxArrayString players;
+ m_scoreFile->GetPlayerList(players);
+ for (unsigned int i = 0; i < players.Count(); i++)
{
list->Append(players[i]);
}
- delete players;
-*/
m_textField = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxDefaultSize, 0);
{
}
-void PlayerSelectionDialog::OnSize(wxSizeEvent& event)
+void PlayerSelectionDialog::OnSize(wxSizeEvent& WXUNUSED(event))
{
Layout();
}
return m_player;
}
-bool PlayerSelectionDialog::OnClose()
+void PlayerSelectionDialog::OnCloseWindow(wxCloseEvent& event)
{
- // hide the dialog
- // NB don't return TRUE otherwise delete is called
m_player = "";
- Show(FALSE);
- return FALSE;
+ EndModal(wxID_CANCEL);
}
void PlayerSelectionDialog::SelectCallback(wxCommandEvent& event)
{
if (event.GetEventType() == wxEVT_COMMAND_LISTBOX_SELECTED)
{
-#ifdef __WXGTK__
- if (event.IsSelection())
-#endif
+// if (event.IsSelection())
m_textField->SetValue(event.GetString());
}
}
else
{
m_player = name;
- Show(FALSE);
+ EndModal(wxID_OK);
}
}
else
{
- wxMessageBox("Please enter your name", "Forty Thieves");
+ wxMessageBox("Please enter your name", "Forty Thieves");
}
}
else
{
m_player = "";
- Show(FALSE);
+ EndModal(wxID_CANCEL);
}
}