X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fviews.h;h=834bdfeb3468d45898647982f18879c2fcda97bc;hp=ca998f2bdcb6adc793f9ae529655e382ac28344f;hb=a5d437cb4228b07f8c005eaca497c317b8c19d14;hpb=01ed72399d433ce45a0195f8acaea349a421461e diff --git a/src/views.h b/src/views.h index ca998f2..834bdfe 100644 --- a/src/views.h +++ b/src/views.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: views.h,v 1.27 2001/01/20 08:10:33 kevin Exp $ +** $Id: views.h,v 1.28 2001/01/20 17:43:41 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -39,14 +39,15 @@ class ImageFileCanvas; class ImageFileView : public wxView { +private: DECLARE_DYNAMIC_CLASS(ImageFileView) - wxMemoryDC m_memoryDC; + wxMemoryDC m_memoryDC; wxBitmap m_bitmap; -private: ImageFileCanvas *CreateCanvas(wxView *view, wxFrame *parent); wxFrame *CreateChildFrame(wxDocument *doc, wxView *view); + wxMenu* m_pFileMenu; ImageFileCanvas *m_canvas; wxFrame *m_frame; @@ -58,9 +59,9 @@ private: int m_iDefaultExportFormatID; - wxFrame* getFrameForChild() + wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame(); } + { return theApp->getMainFrame()->GetClientWindow(); } #else { return m_frame; } #endif @@ -68,7 +69,10 @@ private: public: ImageFileView(void); virtual ~ImageFileView(void); - + + wxMenu* getFileMenu() + { return m_pFileMenu; } + bool OnCreate(wxDocument *doc, long flags); void OnDraw(wxDC* dc); void OnUpdate(wxView *sender, wxObject *hint = NULL); @@ -138,8 +142,7 @@ private: public: ImageFileCanvas (ImageFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); - virtual ~ImageFileCanvas() - {} + virtual ~ImageFileCanvas(); virtual void OnDraw(wxDC& dc); void OnMouseEvent(wxMouseEvent& event); @@ -147,6 +150,9 @@ public: bool GetCurrentCursor (int& x, int& y); virtual wxSize GetBestSize() const; + void setView(ImageFileView* pView) + { m_pView = pView; } + DECLARE_EVENT_TABLE() }; @@ -166,6 +172,7 @@ private: ProjectionFileCanvas *m_canvas; wxFrame *m_frame; + wxMenu* m_pFileMenu; int m_iDefaultNX; int m_iDefaultNY; @@ -184,9 +191,9 @@ private: int m_iDefaultPolarInterpolation; int m_iDefaultPolarZeropad; - wxFrame* getFrameForChild() + wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame(); } + { return theApp->getMainFrame()->GetClientWindow(); } #else { return m_frame; } #endif @@ -205,9 +212,10 @@ public: void OnConvertPolar (wxCommandEvent& event); void OnConvertFFTPolar (wxCommandEvent& event); - wxFrame* getFrame () - { return m_frame; } + wxFrame* getFrame () { return m_frame; } + wxMenu* getFileMenu() { return m_pFileMenu; } + ProjectionFileDocument* GetDocument(void) { return dynamic_cast(wxView::GetDocument()); } DECLARE_EVENT_TABLE() @@ -220,26 +228,28 @@ private: public: ProjectionFileCanvas (ProjectionFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); - virtual ~ProjectionFileCanvas() - {} + virtual ~ProjectionFileCanvas() ; virtual wxSize GetBestSize() const; - virtual void OnDraw(wxDC& dc); + void setView(ProjectionFileView* pView) + { m_pView = pView; } }; class PhantomCanvas; class PhantomView : public wxView { +private: DECLARE_DYNAMIC_CLASS(PhantomView) + DECLARE_EVENT_TABLE() -private: PhantomCanvas *CreateCanvas(wxView *view, wxFrame *parent); wxFrame *CreateChildFrame(wxDocument *doc, wxView *view); PhantomCanvas *m_canvas; wxFrame *m_frame; + wxMenu* m_pFileMenu; int m_iDefaultNDet; int m_iDefaultNView; @@ -254,9 +264,9 @@ private: int m_iDefaultRasterNY; int m_iDefaultRasterNSamples; - wxFrame* getFrameForChild() + wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame(); } + { return theApp->getMainFrame()->GetClientWindow(); } #else { return m_frame; } #endif @@ -276,7 +286,7 @@ public: PhantomDocument* GetDocument(void) { return dynamic_cast(wxView::GetDocument()); } - DECLARE_EVENT_TABLE() + wxMenu* getFileMenu() { return m_pFileMenu; } }; class PhantomCanvas: public wxScrolledWindow @@ -286,9 +296,10 @@ private: public: PhantomCanvas (PhantomView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); - virtual ~PhantomCanvas() - {} + virtual ~PhantomCanvas(); + void setView(PhantomView* pView) + { m_pView = pView; } virtual void OnDraw(wxDC& dc); }; @@ -303,6 +314,7 @@ private: PlotFileCanvas *m_canvas; wxFrame *m_frame; + wxMenu* m_pFileMenu; EZPlot* m_pEZPlot; bool m_bMinSpecified; @@ -311,9 +323,9 @@ private: double m_dMaxPixel; double m_dAutoScaleFactor; - wxFrame* getFrameForChild() + wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame(); } + { return theApp->getMainFrame()->GetClientWindow(); } #else { return m_frame; } #endif @@ -335,6 +347,7 @@ public: wxFrame* getFrame () { return m_frame; } + wxMenu* getFileMenu() { return m_pFileMenu; } PlotFileDocument* GetDocument(void) { return dynamic_cast(wxView::GetDocument()); } @@ -348,10 +361,50 @@ private: public: PlotFileCanvas (PlotFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); - virtual ~PlotFileCanvas() - {} - + virtual ~PlotFileCanvas(); + virtual void OnDraw(wxDC& dc); + + void setView (PlotFileView* pView) + { m_pView = pView; } +}; + + +class TextEditCanvas; +class TextEditView: public wxView +{ +private: + DECLARE_DYNAMIC_CLASS(TextEditView) + + wxFrame *m_pFrame; + wxMenu* m_pFileMenu; + TextEditCanvas *m_pCanvas; + +public: + TextEditView() + : wxView() , m_pFrame(0), m_pCanvas(0) + {} + ~TextEditView(); + + wxFrame *CreateChildFrame(wxDocument *doc, wxView *view); + + bool OnCreate (wxDocument *doc, long flags); + void OnDraw (wxDC *dc); + void OnUpdate (wxView *sender, wxObject *hint = (wxObject *) NULL); + bool OnClose (bool deleteWindow = TRUE); + + TextEditCanvas* getTextCtrl() { return m_pCanvas; } + + wxMenu* getFileMenu() { return m_pFileMenu; } +}; + +class TextEditCanvas: public wxTextCtrl +{ + TextEditView *m_pView; + +public: + TextEditCanvas (TextEditView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, long style); + ~TextEditCanvas (); };