]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/docview/view.h
fix crash which happened if you called SetAttr(NULL) followed by SetAttr(attr) (...
[wxWidgets.git] / samples / docview / view.h
index 2826393da119165ce826b5190c901c97350cb39c..3c3fd2c240dac00595de46fc746655e33fe6182e 100644 (file)
@@ -5,75 +5,82 @@
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
+// 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, const long style);
+    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 *view;
-    
+    wxView* m_view;
+
     MyTextWindow(wxView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style);
 };
 
-class DrawingView: public wxView
+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);
-    
+    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
+class TextEditView : public wxView
 {
-    DECLARE_DYNAMIC_CLASS(TextEditView)
-private:
 public:
-    wxFrame *frame;
-    MyTextWindow *textsw;
-    
-    TextEditView(): wxView() { 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);
+    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