// 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 "scoredg.h"
#if wxUSE_HTML
-#include "wx/file.h"
+#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)
wxColour* FortyApp::m_textColour = 0;
wxBrush* FortyApp::m_backgroundBrush = 0;
-FortyApp::FortyApp()
-{
-}
-
FortyApp::~FortyApp()
{
delete m_backgroundColour;
bool FortyApp::OnInit()
{
bool largecards = false;
+#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);
// 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,
#endif // wxUSE_STATUSBAR
}
-FortyFrame::~FortyFrame()
-{
-}
-
void FortyFrame::OnCloseWindow(wxCloseEvent& event)
{
if (m_canvas->OnCloseCanvas() )
FortyFrame::Help(wxCommandEvent& event)
{
#if wxUSE_HTML
- if (wxFileExists(wxT("about.htm")))
+ if (wxFileExists(wxGetApp().GetHelpFile()))
{
FortyAboutDialog dialog(this, wxID_ANY, wxT("Forty Thieves Instructions"));
if (dialog.ShowModal() == wxID_OK)
//----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(FortyAboutDialog,wxDialog)
+ EVT_BUTTON(wxID_CLOSE, wxDialog::OnOK)
END_EVENT_TABLE()
FortyAboutDialog::FortyAboutDialog( wxWindow *parent, wxWindowID id, const wxString &title,
{
#if wxUSE_HTML
wxString htmlText;
- wxString htmlFile(wxT("about.htm"));
+ wxString htmlFile = wxGetApp().GetHelpFile();
- //if (!wxGetApp().GetMemoryTextResource(wxT("about.htm"), htmlText))
{
-// wxSetWorkingDirectory(wxGetApp().GetAppDir());
-// wxString htmlFile(wxGetApp().GetFullAppPath(wxT("about.htm")));
-
- if (wxFileExists(htmlFile))
+ wxTextFile file(htmlFile);
+ if (file.Exists())
{
- wxFile file;
- file.Open(htmlFile, wxFile::read);
- long len = file.Length();
- wxChar* buf = htmlText.GetWriteBuf(len + 1);
- file.Read(buf, len);
- buf[len] = 0;
- htmlText.UngetWriteBuf();
+ file.Open();
+ 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>"));
}
// Customize the HTML
-#if 0
- wxString verString;
- verString.Printf("%.2f", stVERSION_NUMBER);
- htmlText.Replace(wxT("$VERSION$"), verString);
-#endif
htmlText.Replace(wxT("$DATE$"), _T(__DATE__));
wxSize htmlSize(400, 290);
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 );
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();