X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fviews.h;h=d0dda152754f24ec9dd9942fa98ba589fae9775b;hp=01f8945d0388a9850e6d716eb0b96c2ae1eb1ad3;hb=f7ee98f7d964ed361068179f0e7ea4475ed1abdf;hpb=48b964d879cb0353ab421226e7a282389a1db479 diff --git a/src/views.h b/src/views.h index 01f8945..d0dda15 100644 --- a/src/views.h +++ b/src/views.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: views.h,v 1.55 2001/03/30 21:01:15 kevin Exp $ +** $Id$ ** ** 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 @@ -25,10 +25,6 @@ ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ******************************************************************************/ -#ifdef __GNUG__ -// #pragma interface -#endif - #ifndef __VIEWSH__ #define __VIEWSH__ @@ -46,11 +42,11 @@ class ImageFileView : public wxView { private: DECLARE_DYNAMIC_CLASS(ImageFileView) - + wxMemoryDC m_memoryDC; - wxBitmap m_bitmap; + wxBitmap* m_pBitmap; wxMenu* m_pMenuAnalyze; - + ImageFileCanvas *CreateCanvas (wxFrame* parent); #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; @@ -59,7 +55,7 @@ private: wxDocChildFrame* m_pFrame; wxDocChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); #endif - + ImageFileCanvas *m_pCanvas; wxMenu* m_pFileMenu; wxMenu* m_pFilterMenu; @@ -68,10 +64,10 @@ private: double m_dMinPixel; double m_dMaxPixel; double m_dAutoScaleFactor; - + int m_iDefaultExportFormatID; - wxWindow* getFrameForChild() + wxFrame* getFrameForChild() #if CTSIM_MDI { return theApp->getMainFrame(); } #else @@ -91,16 +87,16 @@ public: void OnDraw(wxDC* dc); void OnUpdate(wxView *sender, wxObject *hint = NULL); bool OnClose (bool deleteWindow = true); - + void OnEditCopy (wxCommandEvent& event); void OnEditCut (wxCommandEvent& event); void OnEditPaste (wxCommandEvent& event); void OnRevert (wxCommandEvent& event); - void OnExport (wxCommandEvent& event); + void OnExport (wxCommandEvent& event); void OnProperties (wxCommandEvent& event); - void OnCompare (wxCommandEvent& event); + void OnCompare (wxCommandEvent& event); void OnScaleSize (wxCommandEvent& event); void OnInvertValues (wxCommandEvent& event); void OnSquare (wxCommandEvent& event); @@ -127,12 +123,12 @@ public: void OnFFTCols (wxCommandEvent& event); void OnIFFTCols (wxCommandEvent& event); #endif - + void OnMagnitude (wxCommandEvent& event); void OnPhase (wxCommandEvent& event); void OnReal (wxCommandEvent& event); void OnImaginary (wxCommandEvent& event); - + void OnScaleAuto (wxCommandEvent& event); void OnScaleMinMax (wxCommandEvent& event); void OnScaleFull (wxCommandEvent& event); @@ -145,18 +141,19 @@ public: void OnPlotHistogram (wxCommandEvent& event); void OnCompareRow (wxCommandEvent& event); void OnCompareCol (wxCommandEvent& event); - + #if CTSIM_MDI wxDocMDIChildFrame* getFrame() { return m_pFrame; } #else wxDocChildFrame* getFrame() { return m_pFrame; } #endif + void setInitialClientSize(); wxMenu* getMenuAnalyze() { return m_pMenuAnalyze; } - ImageFileDocument* GetDocument() + ImageFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } - + DECLARE_EVENT_TABLE() }; @@ -167,7 +164,7 @@ private: int m_xCursor; int m_yCursor; - + public: ImageFileCanvas (ImageFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); virtual ~ImageFileCanvas(); @@ -192,10 +189,10 @@ class ProjectionFileView : public wxView { private: DECLARE_DYNAMIC_CLASS(ProjectionFileView) - + wxMemoryDC m_memoryDC; - wxBitmap m_bitmap; - + wxBitmap* m_pBitmap; + ProjectionFileCanvas *CreateCanvas (wxFrame* parent); #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; @@ -204,9 +201,11 @@ private: wxDocChildFrame* m_pFrame; wxDocChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); #endif - + ProjectionFileCanvas *m_pCanvas; wxMenu* m_pFileMenu; + wxMenu* m_pReconstructMenu; + wxMenu* m_pConvertMenu; int m_iDefaultNX; int m_iDefaultNY; @@ -219,13 +218,13 @@ private: int m_iDefaultInterpParam; int m_iDefaultBackprojector; int m_iDefaultTrace; - + int m_iDefaultPolarNX; int m_iDefaultPolarNY; int m_iDefaultPolarInterpolation; int m_iDefaultPolarZeropad; - wxWindow* getFrameForChild() + wxWindow* getFrameForChild() #if CTSIM_MDI { return theApp->getMainFrame(); } #else @@ -237,7 +236,7 @@ public: virtual ~ProjectionFileView(); void canvasClosed() { m_pCanvas = NULL; m_pFrame = NULL; } - + bool OnCreate(wxDocument *doc, long flags); void OnDraw(wxDC* dc); void OnUpdate(wxView *sender, wxObject *hint = NULL); @@ -262,10 +261,12 @@ public: wxDocChildFrame* getFrame() { return m_pFrame; } #endif ProjectionFileCanvas* getCanvas() { return m_pCanvas; } + void setInitialClientSize(); wxMenu* getFileMenu() { return m_pFileMenu; } + wxMenu* getReconstructMenu() { return m_pReconstructMenu; } - ProjectionFileDocument* GetDocument() + ProjectionFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } DECLARE_EVENT_TABLE() }; @@ -275,7 +276,7 @@ class ProjectionFileCanvas: public wxScrolledWindow private: ProjectionFileView* m_pView; -public: +public: ProjectionFileCanvas (ProjectionFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); virtual ~ProjectionFileCanvas() ; @@ -292,7 +293,7 @@ class PhantomFileView : public wxView private: DECLARE_DYNAMIC_CLASS(PhantomFileView) DECLARE_EVENT_TABLE() - + PhantomCanvas *CreateCanvas (wxFrame* parent); #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; @@ -301,12 +302,13 @@ private: wxDocChildFrame* m_pFrame; wxDocChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); #endif - + PhantomCanvas *m_pCanvas; wxMenu* m_pFileMenu; - + int m_iDefaultNDet; int m_iDefaultNView; + int m_iDefaultOffsetView; int m_iDefaultNSample; int m_iDefaultGeometry; int m_iDefaultTrace; @@ -315,13 +317,13 @@ private: double m_dDefaultCenterDetectorLength; double m_dDefaultViewRatio; double m_dDefaultScanRatio; - + int m_iDefaultRasterNX; int m_iDefaultRasterNY; int m_iDefaultRasterNSamples; double m_dDefaultRasterViewRatio; - wxWindow* getFrameForChild() + wxWindow* getFrameForChild() #if CTSIM_MDI { return theApp->getMainFrame(); } #else @@ -333,7 +335,7 @@ public: virtual ~PhantomFileView(); void canvasClosed() { m_pCanvas = NULL; m_pFrame = NULL; } - + bool OnCreate(wxDocument *doc, long flags); void OnUpdate(wxView *sender, wxObject *hint = NULL); bool OnClose (bool deleteWindow = true); @@ -341,10 +343,10 @@ public: void OnProperties (wxCommandEvent& event); void OnRasterize (wxCommandEvent& event); void OnProjections (wxCommandEvent& event); - - PhantomFileDocument* GetDocument() + + PhantomFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } - + wxMenu* getFileMenu() { return m_pFileMenu; } #if CTSIM_MDI wxDocMDIChildFrame* getFrame() { return m_pFrame; } @@ -358,7 +360,7 @@ class PhantomCanvas: public wxScrolledWindow private: PhantomFileView* m_pView; -public: +public: PhantomCanvas (PhantomFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); virtual ~PhantomCanvas(); @@ -372,7 +374,7 @@ class PlotFileCanvas; class PlotFileView : public wxView { DECLARE_DYNAMIC_CLASS(PlotFileView) - + private: #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; @@ -381,19 +383,19 @@ private: wxDocChildFrame* m_pFrame; wxDocChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); #endif - + PlotFileCanvas *m_pCanvas; EZPlot* m_pEZPlot; wxMenu* m_pFileMenu; - + bool m_bMinSpecified; bool m_bMaxSpecified; double m_dMinPixel; double m_dMaxPixel; double m_dAutoScaleFactor; - + PlotFileCanvas *CreateCanvas (wxFrame* parent); - wxWindow* getFrameForChild() + wxWindow* getFrameForChild() #if CTSIM_MDI { return theApp->getMainFrame(); } #else @@ -405,7 +407,7 @@ public: virtual ~PlotFileView(); void canvasClosed() { m_pCanvas = NULL; m_pFrame = NULL; } - + bool OnCreate(wxDocument *doc, long flags); void OnDraw(wxDC* dc); void OnUpdate(wxView *sender, wxObject *hint = NULL); @@ -415,17 +417,18 @@ public: void OnScaleMinMax (wxCommandEvent& event); void OnScaleAuto (wxCommandEvent& event); void OnScaleFull (wxCommandEvent& event); - + #if CTSIM_MDI wxDocMDIChildFrame* getFrame() { return m_pFrame; } #else wxDocChildFrame* getFrame() { return m_pFrame; } #endif - + + void setInitialClientSize(); wxMenu* getFileMenu() { return m_pFileMenu; } - PlotFileDocument* GetDocument() + PlotFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } - + DECLARE_EVENT_TABLE() }; @@ -433,12 +436,13 @@ class PlotFileCanvas: public wxScrolledWindow { private: PlotFileView* m_pView; - + public: PlotFileCanvas (PlotFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); virtual ~PlotFileCanvas(); - + virtual void OnDraw(wxDC& dc); + virtual wxSize GetBestSize() const; void setView (PlotFileView* pView) { m_pView = pView; } @@ -460,9 +464,9 @@ private: #endif wxMenu* m_pFileMenu; TextFileCanvas *m_pCanvas; - + public: - TextFileView() + TextFileView() : wxView() , m_pFrame(0), m_pCanvas(0) {} ~TextFileView(); @@ -474,9 +478,9 @@ public: void OnUpdate (wxView *sender, wxObject *hint = (wxObject *) NULL); bool OnClose (bool deleteWindow = TRUE); - TextFileDocument* GetDocument() + TextFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } - + TextFileCanvas* getTextCtrl() { return m_pCanvas; } wxMenu* getFileMenu() { return m_pFileMenu; } #if CTSIM_MDI @@ -490,9 +494,10 @@ class TextFileCanvas: public wxTextCtrl { TextFileView *m_pView; -public: +public: TextFileCanvas (TextFileView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, long style); ~TextFileCanvas (); + virtual wxSize GetBestSize() const; };