]> git.saurik.com Git - wxWidgets.git/blob - samples/wxpoem/wxpoem.h
Added wxPoem sample; fixed some Dialog Editor problems; wxStaticBitmap and wxBitmapButton
[wxWidgets.git] / samples / wxpoem / wxpoem.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wxpoem.h
3 // Purpose: A small C++ program which displays a random poem on
4 // execution. It also allows search for poems containing a
5 // string.
6 // It requires winpoem.dat and creates winpoem.idx.
7 // Original version (WinPoem) written in 1994.
8 // This has not been rewritten in a long time so
9 // beware, inelegant code!
10 // Author: Julian Smart
11 // Created: 12/12/98
12 // RCS-ID: $Id$
13 // Copyright: (c) 1998 Julian Smart
14 // Licence: wxWindows licence
15 /////////////////////////////////////////////////////////////////////////////
16
17 #ifdef __GNUG__
18 #pragma interface "wxpoem.h"
19 #endif
20
21 // Define a new application
22 class MyApp: public wxApp
23 {
24 public:
25 bool OnInit();
26 int OnExit();
27 };
28
29 DECLARE_APP(MyApp)
30
31 // Define a new canvas which can receive some events
32 class MyCanvas: public wxPanel
33 {
34 public:
35 MyCanvas(wxFrame *frame, wxWindowID id, const wxPoint& pos, const wxSize& size);
36
37 void OnPaint(wxPaintEvent& event);
38 void OnMouseEvent(wxMouseEvent& event);
39 void OnChar(wxKeyEvent& event);
40
41 DECLARE_EVENT_TABLE()
42 };
43
44 // Define a new frame
45 class MainWindow: public wxFrame
46 {
47 public:
48 MyCanvas *canvas;
49 MainWindow(wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style);
50
51 void OnCloseWindow(wxCloseEvent& event);
52 void OnChar(wxKeyEvent& event);
53
54 // Display next page or poem
55 void NextPage(void);
56
57 // Display previous page
58 void PreviousPage(void);
59
60 // User search
61 void Search(bool);
62
63 // Look in file for string
64 long DoSearch(void);
65
66 // Do the actual drawing of text (or just calculate size needed)
67 void ScanBuffer(wxDC *dc, bool DrawIt, int *max_x, int *max_y);
68
69 // Load the poem
70 void GetIndexLoadPoem(void);
71 void Resize(void);
72
73 DECLARE_EVENT_TABLE()
74 };
75
76 // Menu items
77 #define POEM_NEXT 100
78 #define POEM_PREVIOUS 101
79 #define POEM_COPY 102
80 #define POEM_SEARCH 103
81 #define POEM_NEXT_MATCH 104
82 #define POEM_ABOUT 105
83 #define POEM_EXIT 106
84 #define POEM_COMPILE 107
85 #define POEM_HELP_CONTENTS 108
86 #define POEM_BIGGER_TEXT 109
87 #define POEM_SMALLER_TEXT 110
88 #define POEM_MINIMIZE 111
89
90