///////////////////////////////////////////////////////////////////////////// // Name: view.h // Purpose: View classes // Author: Julian Smart // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// #ifndef __VIEW_H__ #define __VIEW_H__ #include "wx/docview.h" class DrawingView; class MyCanvas : public wxScrolledWindow { public: DrawingView* m_view; MyCanvas(DrawingView*, wxFrame*, const wxPoint& pos, const wxSize& size, const long style); virtual void OnDraw(wxDC& dc); protected: void OnMouseEvent(wxMouseEvent& event); DECLARE_EVENT_TABLE() }; class MyTextWindow: public wxTextCtrl { public: wxView* m_view; MyTextWindow(wxView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); }; class DrawingView : public wxView { public: wxFrame* 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); private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(DrawingView) }; class TextEditView : public wxView { public: wxFrame* m_frame; MyTextWindow* m_textsw; TextEditView(): wxView() { m_frame = NULL; m_textsw = NULL; } virtual ~TextEditView() {} 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); 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