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: forty.h 41020 2006-09-05 20:47:48Z VZ $
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:
FortyApp()19     FortyApp(){}
20     virtual ~FortyApp();
21     bool OnInit();
22 
23     static const wxColour& BackgroundColour();
24     static const wxColour& TextColour();
25     static const wxBrush&  BackgroundBrush();
GetHelpFile()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 
DECLARE_APP(FortyApp)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
93