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