]>
git.saurik.com Git - wxWidgets.git/blob - demos/poem/wxpoem.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: A small C++ program which displays a random poem on
4 // execution. It also allows search for poems containing a
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
13 // Copyright: (c) 1998 Julian Smart
14 // Licence: wxWindows licence
15 /////////////////////////////////////////////////////////////////////////////
21 // Define a new application
22 class MyApp
: public wxApp
31 // Define a new canvas which can receive some events
32 class MyCanvas
: public wxWindow
35 MyCanvas(wxFrame
*frame
);
38 void OnPaint(wxPaintEvent
& event
);
39 void OnMouseEvent(wxMouseEvent
& event
);
40 void OnChar(wxKeyEvent
& event
);
49 class MainWindow
: public wxFrame
53 MainWindow(wxFrame
*frame
, wxWindowID id
, const wxString
& title
,
54 const wxPoint
& pos
, const wxSize
& size
, long style
);
55 virtual ~MainWindow();
57 void OnCloseWindow(wxCloseEvent
& event
);
58 void OnChar(wxKeyEvent
& event
);
59 void OnPopup(wxCommandEvent
& event
);
61 // Display next page or poem
64 // Display previous page
65 void PreviousPage(void);
70 // Look in file for string
73 // Do the actual drawing of text (or just calculate size needed)
74 void ScanBuffer(wxDC
*dc
, bool DrawIt
, int *max_x
, int *max_y
);
77 void GetIndexLoadPoem(void);
82 wxString m_searchString
;
86 void WritePreferences();
87 void ReadPreferences();
104 POEM_ABOUT
= wxID_ABOUT
,
105 POEM_EXIT
= wxID_EXIT
,
106 POEM_PREVIOUS
= wxID_BACKWARD
,
107 POEM_COPY
= wxID_COPY
,
108 POEM_NEXT
= wxID_FORWARD
,
109 POEM_NEXT_MATCH
= wxID_MORE
,
110 POEM_BIGGER_TEXT
= wxID_ZOOM_IN
,
111 POEM_SMALLER_TEXT
= wxID_ZOOM_OUT
,
112 POEM_SEARCH
= wxID_FIND
,
113 POEM_MINIMIZE
= wxID_ICONIZE_FRAME