UpdateScores();
delete m_game;
delete m_scoreFile;
+ delete m_handCursor;
+ delete m_arrowCursor;
}
{
dc.SetFont(* m_font);
m_game->Redraw(dc);
-
+#if 0
// if player name not set (and selection dialog is not displayed)
// then ask the player for their name
if (m_player.Length() == 0 && !m_playerDialog)
m_game->DisplayScore(dc);
m_playerDialog->Destroy();
m_playerDialog = 0;
- Refresh();
+ Refresh(false);
}
else
{
((wxFrame*)GetParent())->Close(TRUE);
}
}
+#endif
}
+void FortyCanvas::ShowPlayerDialog()
+{
+ // if player name not set (and selection dialog is not displayed)
+ // then ask the player for their name
+ if (m_player.Length() == 0 && !m_playerDialog)
+ {
+ m_playerDialog = new PlayerSelectionDialog(this, m_scoreFile);
+ m_playerDialog->ShowModal();
+ m_player = m_playerDialog->GetPlayersName();
+ if (m_player.Length() > 0)
+ {
+ // user entered a name - lookup their score
+ int wins, games, score;
+ m_scoreFile->ReadPlayersScore(m_player, wins, games, score);
+ m_game->NewPlayer(wins, games, score);
+
+ wxClientDC dc(this);
+ dc.SetFont(* m_font);
+ m_game->DisplayScore(dc);
+ m_playerDialog->Destroy();
+ m_playerDialog = 0;
+ Refresh(false);
+ }
+ else
+ {
+ // user cancelled the dialog - exit the app
+ ((wxFrame*)GetParent())->Close(TRUE);
+ }
+ }
+}
+
/*
Called when the main frame is closed
*/
void FortyCanvas::SetCursorStyle(int x, int y)
{
- if (m_game->HaveYouWon())
- {
- if (wxMessageBox("Do you wish to play again?",
- "Well Done, You have won!", wxYES_NO | wxICON_QUESTION) == wxYES)
- {
- m_game->Deal();
-
- wxClientDC dc(this);
- PrepareDC(dc);
- dc.SetFont(* m_font);
- m_game->Redraw(dc);
- }
- else
- {
- // user cancelled the dialog - exit the app
- ((wxFrame*)GetParent())->Close(TRUE);
- }
- }
-
// Only set cursor to a hand if 'helping hand' is enabled and
// the card under the cursor can go somewhere
if (m_game->CanYouGo(x, y) && m_helpingHand)
dc.SetFont(* m_font);
m_game->Redo(dc);
}
+
+void FortyCanvas::LayoutGame()
+{
+ m_game->Layout();
+}