wxWidgets/demos/poem/wxpoem.h
Gilles Depeyrot ab7ce33c56 disable use of #pragma interface under Mac OS X
GNU compiler included with Mac OS X 10.2 (Jaguar) as well as August Developer
Tools update contain a bug concerning #pragma interface handling that can only
be worked around by not using them (and they are not necessary anyways)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-09-07 12:28:46 +00:00

93 lines
2.5 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wxpoem.h
// Purpose: A small C++ program which displays a random poem on
// execution. It also allows search for poems containing a
// string.
// It requires winpoem.dat and creates winpoem.idx.
// Original version (WinPoem) written in 1994.
// This has not been rewritten in a long time so
// beware, inelegant code!
// Author: Julian Smart
// Created: 12/12/98
// RCS-ID: $Id$
// Copyright: (c) 1998 Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "wxpoem.h"
#endif
// Define a new application
class MyApp: public wxApp
{
public:
bool OnInit();
int OnExit();
};
DECLARE_APP(MyApp)
// Define a new canvas which can receive some events
class MyCanvas: public wxWindow
{
public:
MyCanvas(wxFrame *frame, wxWindowID id, const wxPoint& pos, const wxSize& size);
void OnPaint(wxPaintEvent& event);
void OnMouseEvent(wxMouseEvent& event);
void OnChar(wxKeyEvent& event);
DECLARE_EVENT_TABLE()
};
// Define a new frame
class MainWindow: public wxFrame
{
public:
MyCanvas *canvas;
MainWindow(wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style);
~MainWindow();
void OnCloseWindow(wxCloseEvent& event);
void OnChar(wxKeyEvent& event);
void OnPopup(wxCommandEvent& event);
// Display next page or poem
void NextPage(void);
// Display previous page
void PreviousPage(void);
// User search
void Search(bool);
// Look in file for string
long DoSearch(void);
// Do the actual drawing of text (or just calculate size needed)
void ScanBuffer(wxDC *dc, bool DrawIt, int *max_x, int *max_y);
// Load the poem
void GetIndexLoadPoem(void);
void Resize(void);
DECLARE_EVENT_TABLE()
};
// Menu items
#define POEM_NEXT 100
#define POEM_PREVIOUS 101
#define POEM_COPY 102
#define POEM_SEARCH 103
#define POEM_NEXT_MATCH 104
#define POEM_ABOUT 105
#define POEM_EXIT 106
#define POEM_COMPILE 107
#define POEM_HELP_CONTENTS 108
#define POEM_BIGGER_TEXT 109
#define POEM_SMALLER_TEXT 110
#define POEM_MINIMIZE 111