1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        docview.h
3 // Purpose:     Document/view demo
4 // Author:      Julian Smart
5 // Modified by:
6 // Created:     04/01/98
7 // RCS-ID:      $Id: docview.h 35650 2005-09-23 12:56:45Z MR $
8 // Copyright:   (c) Julian Smart
9 // Licence:     wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef __DOCVIEWSAMPLEH__
13 #define __DOCVIEWSAMPLEH__
14 
15 #include "wx/docview.h"
16 
17 class wxDocManager;
18 
19 // Define a new application
20 class MyApp: public wxApp
21 {
22 public:
23     MyApp(void);
24     bool OnInit(void);
25     int OnExit(void);
26 
27     wxFrame *CreateChildFrame(wxDocument *doc, wxView *view, bool isCanvas);
28 
29 protected:
30     wxDocManager* m_docManager;
31 };
32 
DECLARE_APP(MyApp)33 DECLARE_APP(MyApp)
34 
35 // Define a new frame
36 class MyCanvas;
37 class MyFrame: public wxDocParentFrame
38 {
39     DECLARE_CLASS(MyFrame)
40 public:
41     wxMenu *editMenu;
42 
43     // This pointer only needed if in single window mode
44     MyCanvas *canvas;
45 
46     MyFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size,
47         const long type);
48 
49     void OnAbout(wxCommandEvent& event);
50     MyCanvas *CreateCanvas(wxView *view, wxFrame *parent);
51 
52     DECLARE_EVENT_TABLE()
53 };
54 
55 extern MyFrame *GetMainFrame(void);
56 
57 #define DOCVIEW_CUT     1
58 #define DOCVIEW_ABOUT   wxID_ABOUT
59 
60 extern bool singleWindowMode;
61 
62 #endif
63