+
+ void setView (PlotFileView* pView)
+ { m_pView = pView; }
+};
+
+
+class TextFileCanvas;
+class TextFileView: public wxView
+{
+private:
+ DECLARE_DYNAMIC_CLASS(TextFileView)
+
+#if CTSIM_MDI
+ wxDocMDIChildFrame* m_pFrame;
+ wxDocMDIChildFrame* CreateChildFrame(wxDocument *doc, wxView *view);
+#else
+ wxDocChildFrame* m_pFrame;
+ wxDocChildFrame* CreateChildFrame(wxDocument *doc, wxView *view);
+#endif
+ wxMenu* m_pFileMenu;
+ TextFileCanvas *m_pCanvas;
+
+public:
+ TextFileView()
+ : wxView() , m_pFrame(0), m_pCanvas(0)
+ {}
+ ~TextFileView();
+ void canvasClosed()
+ { m_pFrame = NULL; }
+
+ bool OnCreate (wxDocument *doc, long flags);
+ void OnDraw (wxDC *dc);
+ void OnUpdate (wxView *sender, wxObject *hint = (wxObject *) NULL);
+ bool OnClose (bool deleteWindow = TRUE);
+
+ TextFileCanvas* getTextCtrl() { return m_pCanvas; }
+ wxFrame* getFrame() { return m_pFrame; }
+ wxMenu* getFileMenu() { return m_pFileMenu; }
+};
+
+class TextFileCanvas: public wxTextCtrl
+{
+ TextFileView *m_pView;
+
+public:
+ TextFileCanvas (TextFileView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, long style);
+ ~TextFileCanvas ();