]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied patch [ 861884 ] adjustement of bombs demo to wxBombsCE
authorJulian Smart <julian@anthemion.co.uk>
Tue, 23 Dec 2003 10:45:28 +0000 (10:45 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Tue, 23 Dec 2003 10:45:28 +0000 (10:45 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24975 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

demos/bombs/bombs.cpp
demos/bombs/bombs.h
demos/bombs/bombs1.cpp

index 846f692072f272b3a30354ab65b5d6fc870be448..f08dbe9ba9bd5d51a7fc253eeeb38b3d7c75af57 100644 (file)
@@ -53,7 +53,7 @@ bool BombsApp::OnInit()
 
     m_frame = new BombsFrame(&m_game);
 
-    m_frame->NewGame(bombsID_EASY);
+    m_frame->NewGame(bombsID_EASY, false);
 
     return true;
 }
@@ -121,8 +121,18 @@ void BombsFrame::OnExit(wxCommandEvent& WXUNUSED(event))
     Close();
 }
 
-void BombsFrame::NewGame(int level)
+void BombsFrame::NewGame(int level, bool query)
 {
+    if(query)
+    {
+       int ok = wxMessageBox(
+                  wxT("Start new game regardless previous board?"),
+                  wxT("Confirm"),
+                  wxYES_NO | wxICON_QUESTION,
+                  this
+                );
+       if(ok!=wxYES)return;
+    }
 
     int numHorzCells = 20, numVertCells = 20;
 
@@ -162,17 +172,17 @@ void BombsFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 
 void BombsFrame::OnNewEasyGame(wxCommandEvent& WXUNUSED(event))
 {
-    NewGame(bombsID_EASY);
+    NewGame(bombsID_EASY, true);
 }
 
 void BombsFrame::OnNewMediumGame(wxCommandEvent& WXUNUSED(event))
 {
-    NewGame(bombsID_MEDIUM);
+    NewGame(bombsID_MEDIUM, true);
 }
 
 void BombsFrame::OnNewHardGame(wxCommandEvent& WXUNUSED(event))
 {
-    NewGame(bombsID_HARD);
+    NewGame(bombsID_HARD, true);
 }
 
 BEGIN_EVENT_TABLE(BombsCanvas, wxPanel)
index d56f528f0a2464887148a542bf24dec27e2f7c2b..c3923151fd1e0720a85000004022cf08f9ab8a65 100644 (file)
@@ -41,7 +41,7 @@ public:
 
     BombsFrame(BombsGame *bombsGame);
 
-    void NewGame(int level);
+    void NewGame(int level, bool query);
 
 private:
 
index cb1a9cc99560c16ee1aa3dfa41c3e96813dc2738..9853fa7fff43fe0bc3b7e4f8b851ee4f5556d46c 100644 (file)
@@ -340,6 +340,10 @@ void BombsCanvas::OnChar(wxKeyEvent& event)
     if ((prevGridFocusX != m_game->m_gridFocusX)
         || (prevGridFocusY != m_game->m_gridFocusY))
     {
+        // cause focused field to be visible after first key hit after launching new game
+        if( m_game->m_gridFocusX < 0 ) m_game->m_gridFocusX = 0;
+        if( m_game->m_gridFocusY < 0 ) m_game->m_gridFocusY = 0;
+
         // refresh previous field and focused field
         RefreshField(prevGridFocusX, prevGridFocusY,
             prevGridFocusX, prevGridFocusY);