// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-// #pragma interface
-#endif
-
-#ifndef __VIEWSAMPLEH__
-#define __VIEWSAMPLEH__
+#ifndef __VIEW_H__
+#define __VIEW_H__
#include "wx/docview.h"
-class MyCanvas: public wxScrolledWindow
+class DrawingView;
+class MyCanvas : public wxScrolledWindow
{
- public:
- wxView *view;
-
- MyCanvas(wxView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, long style);
- virtual void OnDraw(wxDC& dc);
- void OnMouseEvent(wxMouseEvent& event);
-
-DECLARE_EVENT_TABLE()
+public:
+ DrawingView* m_view;
+
+ MyCanvas(DrawingView*, wxMDIChildFrame*, const wxPoint&, const wxSize&, long style);
+ virtual void OnDraw(wxDC&);
+protected:
+ void OnMouseEvent(wxMouseEvent&);
+ DECLARE_EVENT_TABLE()
};
class MyTextWindow: public wxTextCtrl
{
- public:
- wxView *view;
-
- MyTextWindow(wxView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, long style);
+public:
+ wxView* m_view;
+
+ MyTextWindow(wxView*, wxMDIChildFrame*, const wxPoint&, const wxSize&, long style);
};
-class DrawingView: public wxView
+class DrawingDocument;
+class DrawingView : public wxView
{
- DECLARE_DYNAMIC_CLASS(DrawingView)
- private:
- public:
- wxFrame *frame;
- MyCanvas *canvas;
-
- DrawingView(void) { canvas = (MyCanvas *) NULL; frame = (wxFrame *) NULL; };
- ~DrawingView(void) {};
-
- bool OnCreate(wxDocument *doc, long flags);
- void OnDraw(wxDC *dc);
- void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
- bool OnClose(bool deleteWindow = TRUE);
-
- void OnCut(wxCommandEvent& event);
-
-DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(DrawingView)
+public:
+ wxMDIChildFrame* m_frame;
+ MyCanvas* m_canvas;
+
+ DrawingView() { m_canvas = NULL; m_frame = NULL; }
+ virtual ~DrawingView() {}
+
+ virtual bool OnCreate(wxDocument *doc, long flags);
+ virtual void OnDraw(wxDC *dc);
+ virtual void OnUpdate(wxView *sender, wxObject *hint = NULL);
+ virtual bool OnClose(bool deleteWindow = true);
+
+ DrawingDocument* GetDocument();
+
+protected:
+ void OnCut(wxCommandEvent& event);
+ DECLARE_EVENT_TABLE()
};
class TextEditView: public wxView
{
- DECLARE_DYNAMIC_CLASS(TextEditView)
- private:
- public:
- wxFrame *frame;
- MyTextWindow *textsw;
-
- TextEditView(wxDocument *doc = (wxDocument *) NULL): wxView(doc) { frame = (wxFrame *) NULL; textsw = (MyTextWindow *) NULL; }
- ~TextEditView(void) {}
-
- bool OnCreate(wxDocument *doc, long flags);
- void OnDraw(wxDC *dc);
- void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
- bool OnClose(bool deleteWindow = TRUE);
+public:
+ wxMDIChildFrame* m_frame;
+ MyTextWindow* m_textsw;
+
+ TextEditView() : wxView() { m_frame = NULL; m_textsw = NULL; }
+ virtual ~TextEditView() {}
+
+ virtual bool OnCreate(wxDocument*, long flags);
+ virtual void OnDraw(wxDC* dc);
+ virtual void OnUpdate(wxView *sender, wxObject *hint = NULL);
+ virtual bool OnClose(bool deleteWindow = true);
+ virtual bool ProcessEvent(wxEvent&);
+
+private:
+ void OnCopy(wxCommandEvent& WXUNUSED(event)) { m_textsw->Copy(); }
+ void OnPaste(wxCommandEvent& WXUNUSED(event)) { m_textsw->Paste(); }
+ void OnSelectAll(wxCommandEvent& WXUNUSED(event)) { m_textsw->SelectAll(); }
+
+ DECLARE_EVENT_TABLE()
+ DECLARE_DYNAMIC_CLASS(TextEditView)
};
#endif