]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/bombs/bombs1.cpp
Fixes to allow compilation with no wchar_t (djgpp probably has a real wchar_t
[wxWidgets.git] / demos / bombs / bombs1.cpp
index cb1a9cc99560c16ee1aa3dfa41c3e96813dc2738..e6daa2560737137dadf288f446cbb53bae57df9b 100644 (file)
@@ -66,7 +66,7 @@ void BombsCanvas::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
 
 
     wxFont font= BOMBS_FONT;
-    dc->SetFont(font); 
+    dc->SetFont(font);
 
     for(x=xc1; x<=xc2; x++)
         for(y=yc1; y<=yc2; y++)
@@ -153,7 +153,7 @@ void BombsCanvas::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
                     buf = wxT("0");
                     dc->SetTextForeground(wxGreen);
                     break;
-                case 1: 
+                case 1:
                     buf = wxT("1");
                     dc->SetTextForeground(wxBlue);
                     break;
@@ -171,9 +171,14 @@ void BombsCanvas::DrawField(wxDC *dc, int xc1, int yc1, int xc2, int yc2)
     }
     dc->SetFont(wxNullFont);
 
-#if wxUSE_LOG
-    wxLogStatus(wxT("%d bombs  %d remaining cells"),
+    wxString msg;
+    msg.Printf(wxT("%d bombs  %d remaining cells"),
         m_game->GetNumBombs(), m_game->GetNumRemainingCells() );
+
+#if wxUSE_LOG && wxUSE_STATUSBAR
+    wxLogStatus(msg);
+#else
+    this->GetParent()->SetTitle(msg);
 #endif
 }
 
@@ -258,7 +263,7 @@ void BombsCanvas::OnMouseEvent(wxMouseEvent& event)
         if ( (event.RightDown() || (event.LeftDown() && event.ShiftDown()))
            && (m_game->IsHidden(x,y)
                || !m_game->GetNumRemainingCells() ) )
-        { 
+        {
             // store previous and current field
             int prevFocusX = m_game->m_gridFocusX;
             int prevFocusY = m_game->m_gridFocusY;
@@ -340,6 +345,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);