X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5cdeff757d4105fd60cf6facd7e986912e38960d..37699af5bbab518b041f27435feba12f752b1e84:/demos/forty/forty.cpp diff --git a/demos/forty/forty.cpp b/demos/forty/forty.cpp index cb37828bef..d809a743a5 100644 --- a/demos/forty/forty.cpp +++ b/demos/forty/forty.cpp @@ -39,8 +39,9 @@ BEGIN_EVENT_TABLE(FortyFrame, wxFrame) EVT_MENU(NEW_GAME, FortyFrame::NewGame) - EVT_MENU(EXIT, FortyFrame::Exit) - EVT_MENU(ABOUT, FortyFrame::About) + 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(SCORES, FortyFrame::Scores) @@ -73,27 +74,30 @@ FortyApp::~FortyApp() bool FortyApp::OnInit() { - bool largecards = FALSE; + bool largecards = false; + wxSize size(668,510); - if ((argc > 1) && (!wxStrcmp(argv[1],"-L"))) + if ((argc > 1) && (!wxStrcmp(argv[1],_T("-L")))) { - largecards = TRUE; + largecards = true; size = wxSize(1000,750); } FortyFrame* frame = new FortyFrame( 0, - "Forty Thieves", - -1, -1, size.x, size.y,largecards + _T("Forty Thieves"), + wxDefaultPosition, + size, + largecards ); // Show the frame - frame->Show(TRUE); + frame->Show(true); frame->GetCanvas()->ShowPlayerDialog(); - return TRUE; + return true; } const wxColour& FortyApp::BackgroundColour() @@ -120,23 +124,22 @@ const wxColour& FortyApp::TextColour() { if (!m_textColour) { - m_textColour = new wxColour("BLACK"); + m_textColour = new wxColour(_T("BLACK")); } return *m_textColour; } // My frame constructor -FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,bool largecards): - wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)) +FortyFrame::FortyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos, const wxSize& size, bool largecards): + wxFrame(frame, wxID_ANY, title, pos, size) { #ifdef __WXMAC__ - // we need this in order to allow the about menu relocation, since ABOUT is not the default id of the about menu - wxApp::s_macAboutMenuItemId = ABOUT ; + wxApp::s_macAboutMenuItemId = wxID_ABOUT ; #endif // set the icon #ifdef __WXMSW__ - SetIcon(wxIcon("CardsIcon")); + SetIcon(wxIcon(_T("CardsIcon"))); #else #ifdef GTK_TBD SetIcon(wxIcon(Cards_bits, Cards_width, Cards_height)); @@ -145,55 +148,55 @@ FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,b // Make a menu bar wxMenu* gameMenu = new wxMenu; - gameMenu->Append(NEW_GAME, "&New", "Start a new game"); - gameMenu->Append(SCORES, "&Scores...", "Displays scores"); - gameMenu->Append(EXIT, "E&xit", "Exits Forty Thieves"); + gameMenu->Append(NEW_GAME, _T("&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")); wxMenu* editMenu = new wxMenu; - editMenu->Append(UNDO, "&Undo", "Undo the last move"); - editMenu->Append(REDO, "&Redo", "Redo a move that has been undone"); + editMenu->Append(UNDO, _T("&Undo"), _T("Undo the last move")); + editMenu->Append(REDO, _T("&Redo"), _T("Redo a move that has been undone")); wxMenu* optionsMenu = new wxMenu; optionsMenu->Append(RIGHT_BUTTON_UNDO, - "&Right button undo", - "Enables/disables right mouse button undo and redo", - TRUE + _T("&Right button undo"), + _T("Enables/disables right mouse button undo and redo"), + true ); optionsMenu->Append(HELPING_HAND, - "&Helping hand", - "Enables/disables hand cursor when a card can be moved", - TRUE + _T("&Helping hand"), + _T("Enables/disables hand cursor when a card can be moved"), + true ); optionsMenu->Append(LARGE_CARDS, - "&Large cards", - "Enables/disables large cards for high resolution displays", - TRUE + _T("&Large cards"), + _T("Enables/disables large cards for high resolution displays"), + true ); - optionsMenu->Check(HELPING_HAND, TRUE); - optionsMenu->Check(RIGHT_BUTTON_UNDO, TRUE); - optionsMenu->Check(LARGE_CARDS, largecards ? TRUE : FALSE); + optionsMenu->Check(HELPING_HAND, true); + optionsMenu->Check(RIGHT_BUTTON_UNDO, true); + optionsMenu->Check(LARGE_CARDS, largecards ? true : false); wxMenu* helpMenu = new wxMenu; - helpMenu->Append(ABOUT, "&About...", "Displays information about the game"); + helpMenu->Append(wxID_HELP_CONTENTS, _T("&Help Contents"), _T("Displays information about playing the game")); + helpMenu->Append(wxID_ABOUT, _T("&About..."), _T("About Forty Thieves")); m_menuBar = new wxMenuBar; - m_menuBar->Append(gameMenu, "&Game"); - m_menuBar->Append(editMenu, "&Edit"); - m_menuBar->Append(optionsMenu, "&Options"); - m_menuBar->Append(helpMenu, "&Help"); + m_menuBar->Append(gameMenu, _T("&Game")); + m_menuBar->Append(editMenu, _T("&Edit")); + m_menuBar->Append(optionsMenu, _T("&Options")); + m_menuBar->Append(helpMenu, _T("&Help")); SetMenuBar(m_menuBar); if (largecards) Card::SetScale(1.3); - m_canvas = new FortyCanvas(this, 0, 0, 400, 400); - wxLayoutConstraints* constr = new wxLayoutConstraints; - constr->left.SameAs(this, wxLeft); - constr->top.SameAs(this, wxTop); - constr->right.SameAs(this, wxRight); - constr->height.SameAs(this, wxHeight); - m_canvas->SetConstraints(constr); + m_canvas = new FortyCanvas(this, wxDefaultPosition, size); + + wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); + topsizer->Add( m_canvas, 1, wxEXPAND | wxALL, 0); + SetSizer( topsizer ); + topsizer->SetSizeHints( this ); CreateStatusBar(); } @@ -221,20 +224,16 @@ FortyFrame::NewGame(wxCommandEvent&) void FortyFrame::Exit(wxCommandEvent&) { -#ifdef __WXGTK__ - // wxGTK doesn't call OnClose() so we do it here -// if (OnClose()) -#endif - Close(TRUE); + Close(true); } void -FortyFrame::About(wxCommandEvent&) +FortyFrame::Help(wxCommandEvent& event) { #if wxUSE_HTML if (wxFileExists(wxT("about.htm"))) { - FortyAboutDialog dialog(this, -1, wxT("About Forty Thieves")); + FortyAboutDialog dialog(this, wxID_ANY, wxT("Forty Thieves Instructions")); if (dialog.ShowModal() == wxID_OK) { } @@ -242,20 +241,24 @@ FortyFrame::About(wxCommandEvent&) else #endif { + About(event); + } +} + +void +FortyFrame::About(wxCommandEvent&) +{ wxMessageBox( - "Forty Thieves\n\n" - "A freeware program using the wxWindows\n" - "portable C++ GUI toolkit.\n" - "http://www.wxwindows.org\n" - "http://www.freiburg.linux.de/~wxxt\n\n" - "Author: Chris Breeze (c) 1992-1998\n" - "email: chris.breeze@iname.com", - "About Forty Thieves", - wxOK, this + _T("Forty Thieves\n\n") + _T("A free card game written with the wxWidgets toolkit\n") + _T("Author: Chris Breeze (c) 1992-2004\n") + _T("email: chris@breezesys.com"), + _T("About Forty Thieves"), + wxOK|wxICON_INFORMATION, this ); - } } + void FortyFrame::Undo(wxCommandEvent&) { @@ -331,7 +334,7 @@ bool FortyAboutDialog::AddControls(wxWindow* parent) wxFile file; file.Open(htmlFile, wxFile::read); long len = file.Length(); - char* buf = htmlText.GetWriteBuf(len + 1); + wxChar* buf = htmlText.GetWriteBuf(len + 1); file.Read(buf, len); buf[len] = 0; htmlText.UngetWriteBuf(); @@ -349,7 +352,7 @@ bool FortyAboutDialog::AddControls(wxWindow* parent) verString.Printf("%.2f", stVERSION_NUMBER); htmlText.Replace(wxT("$VERSION$"), verString); #endif - htmlText.Replace(wxT("$DATE$"), __DATE__); + htmlText.Replace(wxT("$DATE$"), _T(__DATE__)); wxSize htmlSize(400, 290); @@ -373,19 +376,18 @@ bool FortyAboutDialog::AddControls(wxWindow* parent) wxASSERT( item1 ); item0->Add( item1, 0, wxALIGN_CENTRE|wxALL, 5 ); - wxButton *item2 = new wxButton( parent, wxID_CANCEL, "&Close", wxDefaultPosition, wxDefaultSize, 0 ); + wxButton *item2 = new wxButton( parent, wxID_CANCEL, _T("&Close"), wxDefaultPosition, wxDefaultSize, 0 ); item2->SetDefault(); item2->SetFocus(); item0->Add( item2, 0, wxALIGN_RIGHT|wxALL, 5 ); - parent->SetAutoLayout( TRUE ); parent->SetSizer( item0 ); parent->Layout(); item0->Fit( parent ); item0->SetSizeHints( parent ); #endif - return TRUE; + return true; }