| 1 | ///////////////////////////////////////////////////////////////////////////// |
| 2 | // Name: forty.h |
| 3 | // Purpose: Forty Thieves patience game |
| 4 | // Author: Chris Breeze |
| 5 | // Modified by: |
| 6 | // Created: 21/07/97 |
| 7 | // RCS-ID: $Id$ |
| 8 | // Copyright: (c) 1993-1998 Chris Breeze |
| 9 | // Licence: wxWindows licence |
| 10 | //--------------------------------------------------------------------------- |
| 11 | // Last modified: 22nd July 1998 - ported to wxWidgets 2.0 |
| 12 | ///////////////////////////////////////////////////////////////////////////// |
| 13 | #ifndef _FORTY_H_ |
| 14 | #define _FORTY_H_ |
| 15 | |
| 16 | class FortyApp: public wxApp |
| 17 | { |
| 18 | public: |
| 19 | FortyApp(){} |
| 20 | virtual ~FortyApp(); |
| 21 | bool OnInit(); |
| 22 | |
| 23 | static const wxColour& BackgroundColour(); |
| 24 | static const wxColour& TextColour(); |
| 25 | static const wxBrush& BackgroundBrush(); |
| 26 | const wxString& GetHelpFile() const { return m_helpFile; } |
| 27 | |
| 28 | private: |
| 29 | static wxColour* m_backgroundColour; |
| 30 | static wxColour* m_textColour; |
| 31 | static wxBrush* m_backgroundBrush; |
| 32 | wxString m_helpFile; |
| 33 | }; |
| 34 | |
| 35 | DECLARE_APP(FortyApp) |
| 36 | |
| 37 | class FortyCanvas; |
| 38 | class FortyFrame: public wxFrame |
| 39 | { |
| 40 | public: |
| 41 | FortyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos, const wxSize& size, bool largecards); |
| 42 | virtual ~FortyFrame(){}; |
| 43 | |
| 44 | void OnCloseWindow(wxCloseEvent& event); |
| 45 | |
| 46 | // Menu callbacks |
| 47 | void NewGame(wxCommandEvent& event); |
| 48 | void Exit(wxCommandEvent& event); |
| 49 | void About(wxCommandEvent& event); |
| 50 | void Help(wxCommandEvent& event); |
| 51 | void Undo(wxCommandEvent& event); |
| 52 | void Redo(wxCommandEvent& event); |
| 53 | void Scores(wxCommandEvent& event); |
| 54 | void ToggleRightButtonUndo(wxCommandEvent& event); |
| 55 | void ToggleHelpingHand(wxCommandEvent& event); |
| 56 | void ToggleCardSize(wxCommandEvent& event); |
| 57 | |
| 58 | FortyCanvas* GetCanvas() { return m_canvas; } |
| 59 | |
| 60 | DECLARE_EVENT_TABLE() |
| 61 | |
| 62 | private: |
| 63 | enum MenuCommands { |
| 64 | SCORES = 10, |
| 65 | RIGHT_BUTTON_UNDO, |
| 66 | HELPING_HAND, |
| 67 | LARGE_CARDS |
| 68 | }; |
| 69 | |
| 70 | wxMenuBar* m_menuBar; |
| 71 | FortyCanvas* m_canvas; |
| 72 | }; |
| 73 | |
| 74 | //---------------------------------------------------------------------------- |
| 75 | // stAboutDialog |
| 76 | //---------------------------------------------------------------------------- |
| 77 | |
| 78 | class FortyAboutDialog: public wxDialog |
| 79 | { |
| 80 | public: |
| 81 | // constructors and destructors |
| 82 | FortyAboutDialog( wxWindow *parent, wxWindowID id, const wxString &title, |
| 83 | const wxPoint& pos = wxDefaultPosition, |
| 84 | const wxSize& size = wxDefaultSize, |
| 85 | long style = wxDEFAULT_DIALOG_STYLE ); |
| 86 | |
| 87 | bool AddControls(wxWindow* parent); |
| 88 | }; |
| 89 | |
| 90 | #define ID_ABOUT_HTML_WINDOW 1000 |
| 91 | |
| 92 | #endif |