]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/forty/forty.cpp
add VC9 project files (closes #9960)
[wxWidgets.git] / demos / forty / forty.cpp
index 4d1328172d6413b402b5a973514dd54ed7a2a523..24902505bb0ad9d3b105a5cc884a7377a9042050 100644 (file)
 // Last modified: 22nd July 1998 - ported to wxWidgets 2.0
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation
-#pragma interface
-#endif
-
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
 #include "forty.h"
 #include "card.h"
 #include "scoredg.h"
+#include "forty.xpm"
 
 #if wxUSE_HTML
 #include "wx/textfile.h"
 #include "wx/html/htmlwin.h"
 #endif
 
+#include "wx/stockitem.h"
+
 BEGIN_EVENT_TABLE(FortyFrame, wxFrame)
-    EVT_MENU(NEW_GAME, FortyFrame::NewGame)
+    EVT_MENU(wxID_NEW, FortyFrame::NewGame)
     EVT_MENU(wxID_EXIT, FortyFrame::Exit)
     EVT_MENU(wxID_ABOUT, FortyFrame::About)
     EVT_MENU(wxID_HELP_CONTENTS, FortyFrame::Help)
-    EVT_MENU(UNDO, FortyFrame::Undo)
-    EVT_MENU(REDO, FortyFrame::Redo)
+    EVT_MENU(wxID_UNDO, FortyFrame::Undo)
+    EVT_MENU(wxID_REDO, FortyFrame::Redo)
     EVT_MENU(SCORES, FortyFrame::Scores)
     EVT_MENU(RIGHT_BUTTON_UNDO, FortyFrame::ToggleRightButtonUndo)
     EVT_MENU(HELPING_HAND, FortyFrame::ToggleHelpingHand)
@@ -58,10 +56,6 @@ wxColour* FortyApp::m_backgroundColour = 0;
 wxColour* FortyApp::m_textColour = 0;
 wxBrush*  FortyApp::m_backgroundBrush = 0;
 
-FortyApp::FortyApp()
-{
-}
-
 FortyApp::~FortyApp()
 {
     delete m_backgroundColour;
@@ -75,7 +69,13 @@ FortyApp::~FortyApp()
 bool FortyApp::OnInit()
 {
     bool largecards = false;
-    m_dir = wxGetCwd();
+#ifndef __WXWINCE__
+    m_helpFile = wxGetCwd() + wxFILE_SEP_PATH + wxT("about.htm");
+    if (!wxFileExists(m_helpFile))
+#endif
+    {
+        m_helpFile = wxPathOnly(argv[0]) + wxFILE_SEP_PATH + wxT("about.htm");
+    }
 
     wxSize size(668,510);
 
@@ -125,7 +125,7 @@ const wxColour& FortyApp::TextColour()
 {
     if (!m_textColour)
     {
-        m_textColour = new wxColour(_T("BLACK"));
+        m_textColour = new wxColour(*wxBLACK);
     }
 
     return *m_textColour;
@@ -142,20 +142,18 @@ FortyFrame::FortyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos
 #ifdef __WXMSW__
     SetIcon(wxIcon(_T("CardsIcon")));
 #else
-#ifdef GTK_TBD
-    SetIcon(wxIcon(Cards_bits, Cards_width, Cards_height));
-#endif
+    SetIcon(wxIcon(forty_xpm));
 #endif
 
     // Make a menu bar
     wxMenu* gameMenu = new wxMenu;
-    gameMenu->Append(NEW_GAME, _T("&New"), _T("Start a new game"));
+    gameMenu->Append(wxID_NEW, wxGetStockLabel(wxID_NEW), _T("Start a new game"));
     gameMenu->Append(SCORES, _T("&Scores..."), _T("Displays scores"));
-    gameMenu->Append(wxID_EXIT, _T("E&xit"), _T("Exits Forty Thieves"));
+    gameMenu->Append(wxID_EXIT, wxGetStockLabel(wxID_EXIT), _T("Exits Forty Thieves"));
 
     wxMenu* editMenu = new wxMenu;
-    editMenu->Append(UNDO, _T("&Undo"), _T("Undo the last move"));
-    editMenu->Append(REDO, _T("&Redo"), _T("Redo a move that has been undone"));
+    editMenu->Append(wxID_UNDO, wxGetStockLabel(wxID_UNDO), _T("Undo the last move"));
+    editMenu->Append(wxID_REDO, wxGetStockLabel(wxID_REDO), _T("Redo a move that has been undone"));
 
     wxMenu* optionsMenu = new wxMenu;
     optionsMenu->Append(RIGHT_BUTTON_UNDO,
@@ -197,15 +195,12 @@ FortyFrame::FortyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos
     wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
     topsizer->Add( m_canvas, 1, wxEXPAND | wxALL, 0);
     SetSizer( topsizer );
-    topsizer->SetSizeHints( this );
 
 #if wxUSE_STATUSBAR
     CreateStatusBar();
 #endif // wxUSE_STATUSBAR
-}
 
-FortyFrame::~FortyFrame()
-{
+    topsizer->SetSizeHints( this );
 }
 
 void FortyFrame::OnCloseWindow(wxCloseEvent& event)
@@ -234,8 +229,7 @@ void
 FortyFrame::Help(wxCommandEvent& event)
 {
 #if wxUSE_HTML
-    wxString htmlFile = wxGetApp().GetDir() + wxFILE_SEP_PATH + wxT("about.htm");
-    if (wxFileExists(htmlFile))
+    if (wxFileExists(wxGetApp().GetHelpFile()))
     {
         FortyAboutDialog dialog(this, wxID_ANY, wxT("Forty Thieves Instructions"));
         if (dialog.ShowModal() == wxID_OK)
@@ -310,9 +304,6 @@ FortyFrame::ToggleCardSize(wxCommandEvent& event)
 // stAboutDialog
 //----------------------------------------------------------------------------
 
-BEGIN_EVENT_TABLE(FortyAboutDialog,wxDialog)
-END_EVENT_TABLE()
-
 FortyAboutDialog::FortyAboutDialog( wxWindow *parent, wxWindowID id, const wxString &title,
     const wxPoint &position, const wxSize& size, long style ) :
     wxDialog( parent, id, title, position, size, style )
@@ -326,20 +317,20 @@ bool FortyAboutDialog::AddControls(wxWindow* parent)
 {
 #if wxUSE_HTML
     wxString htmlText;
-    wxString htmlFile = wxGetApp().GetDir() + wxFILE_SEP_PATH + wxT("about.htm");
+    wxString htmlFile = wxGetApp().GetHelpFile();
 
     {
         wxTextFile file(htmlFile);
         if (file.Exists())
         {
             file.Open();
-            for ( htmlText = file.GetFirstLine(); 
-                  !file.Eof(); 
+            for ( htmlText = file.GetFirstLine();
+                  !file.Eof();
                   htmlText << file.GetNextLine() << _T("\n") ) ;
         }
     }
 
-    if (htmlText.IsEmpty())
+    if (htmlText.empty())
     {
         htmlText.Printf(wxT("<html><head><title>Warning</title></head><body><P>Sorry, could not find resource for About dialog<P></body></html>"));
     }
@@ -360,7 +351,7 @@ bool FortyAboutDialog::AddControls(wxWindow* parent)
     wxHtmlWindow* html = new wxHtmlWindow(this, ID_ABOUT_HTML_WINDOW, wxDefaultPosition, htmlSize, borderStyle);
     html -> SetBorders(10);
     html -> SetPage(htmlText);
-        
+
     //// Start of sizer-based control creation
 
     wxSizer *item0 = new wxBoxSizer( wxVERTICAL );
@@ -369,9 +360,10 @@ bool FortyAboutDialog::AddControls(wxWindow* parent)
     wxASSERT( item1 );
     item0->Add( item1, 0, wxALIGN_CENTRE|wxALL, 5 );
 
-    wxButton *item2 = new wxButton( parent, wxID_CANCEL, _T("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
+    wxButton *item2 = new wxButton( parent, wxID_CLOSE );
     item2->SetDefault();
     item2->SetFocus();
+    SetAffirmativeId(wxID_CLOSE);
 
     item0->Add( item2, 0, wxALIGN_RIGHT|wxALL, 5 );
 
@@ -383,4 +375,3 @@ bool FortyAboutDialog::AddControls(wxWindow* parent)
 
     return true;
 }
-