From af88eefff25f06bec4ccf69618d033b377bfd06f Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 25 Nov 2000 23:41:27 +0000 Subject: [PATCH] patch 102361 applied git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- demos/forty/canvas.cpp | 19 ------------------- demos/forty/game.cpp | 34 ++++++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/demos/forty/canvas.cpp b/demos/forty/canvas.cpp index 384d2bebbe..d2be8edcf1 100644 --- a/demos/forty/canvas.cpp +++ b/demos/forty/canvas.cpp @@ -198,25 +198,6 @@ void FortyCanvas::OnMouseEvent(wxMouseEvent& event) 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) diff --git a/demos/forty/game.cpp b/demos/forty/game.cpp index e7c47b9b9f..9e4911741f 100644 --- a/demos/forty/game.cpp +++ b/demos/forty/game.cpp @@ -155,12 +155,42 @@ void Game::DoMove(wxDC& dc, Pile* src, Pile* dest) wxOK | wxICON_EXCLAMATION); } - if (!m_inPlay) + if (!m_inPlay) { m_inPlay = TRUE; m_numGames++; } - DisplayScore(dc); + DisplayScore(dc); + + if (HaveYouWon()) + { + wxWindow *frame = wxTheApp->GetTopWindow(); + wxWindow *canvas = (wxWindow *) NULL; + + if (frame) + { + wxNode *node = frame->GetChildren().First(); + if (node) canvas = (wxWindow*)node->Data(); + } + + // This game is over + m_inPlay = FALSE; + + // Redraw the score box to update games won + DisplayScore(dc); + + if (wxMessageBox("Do you wish to play again?", + "Well Done, You have won!", wxYES_NO | wxICON_QUESTION) == wxYES) + { + Deal(); + canvas->Refresh(); + } + else + { + // user cancelled the dialog - exit the app + ((wxFrame*)canvas->GetParent())->Close(TRUE); + } + } } -- 2.45.2