X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fviews.h;h=0dc47c91f55f241147f44285c4a708df006a3a15;hb=6b2163676582e4d32020dc765b74cff3a1705d3c;hp=9b5d44fccd18a08a296974db843840192f92315d;hpb=0730f9f3adbf326b9d4bac754634399ad688efd1;p=ctsim.git diff --git a/src/views.h b/src/views.h index 9b5d44f..0dc47c9 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.46 2001/02/22 11:05:38 kevin Exp $ +** $Id: views.h,v 1.61 2003/03/15 10:27:30 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 @@ -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__ @@ -48,7 +44,7 @@ private: DECLARE_DYNAMIC_CLASS(ImageFileView) wxMemoryDC m_memoryDC; - wxBitmap m_bitmap; + wxBitmap* m_pBitmap; wxMenu* m_pMenuAnalyze; ImageFileCanvas *CreateCanvas (wxFrame* parent); @@ -62,6 +58,7 @@ private: ImageFileCanvas *m_pCanvas; wxMenu* m_pFileMenu; + wxMenu* m_pFilterMenu; bool m_bMinSpecified; bool m_bMaxSpecified; double m_dMinPixel; @@ -91,6 +88,10 @@ public: 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 OnProperties (wxCommandEvent& event); @@ -125,6 +126,8 @@ public: void OnMagnitude (wxCommandEvent& event); void OnPhase (wxCommandEvent& event); + void OnReal (wxCommandEvent& event); + void OnImaginary (wxCommandEvent& event); void OnScaleAuto (wxCommandEvent& event); void OnScaleMinMax (wxCommandEvent& event); @@ -144,6 +147,7 @@ public: #else wxDocChildFrame* getFrame() { return m_pFrame; } #endif + void setInitialClientSize(); wxMenu* getMenuAnalyze() { return m_pMenuAnalyze; } @@ -187,7 +191,7 @@ private: DECLARE_DYNAMIC_CLASS(ProjectionFileView) wxMemoryDC m_memoryDC; - wxBitmap m_bitmap; + wxBitmap* m_pBitmap; ProjectionFileCanvas *CreateCanvas (wxFrame* parent); #if CTSIM_MDI @@ -200,6 +204,8 @@ private: ProjectionFileCanvas *m_pCanvas; wxMenu* m_pFileMenu; + wxMenu* m_pReconstructMenu; + wxMenu* m_pConvertMenu; int m_iDefaultNX; int m_iDefaultNY; @@ -237,18 +243,28 @@ public: bool OnClose (bool deleteWindow = true); void OnProperties (wxCommandEvent& event); void OnReconstructFBP (wxCommandEvent& event); + void OnReconstructFBPRebin (wxCommandEvent& event); void OnReconstructFourier (wxCommandEvent& event); + void OnConvertRectangular (wxCommandEvent& event); void OnConvertPolar (wxCommandEvent& event); void OnConvertFFTPolar (wxCommandEvent& event); - + void OnPlotTThetaSampling (wxCommandEvent& event); + void OnPlotHistogram (wxCommandEvent& event); + void OnConvertParallel (wxCommandEvent& event); + void OnArtifactReduction (wxCommandEvent& event); + + void doReconstructFBP (const Projections& rProj, bool bRebinToParallel); + #if CTSIM_MDI wxDocMDIChildFrame* getFrame() { return m_pFrame; } #else 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() { return dynamic_cast(wxView::GetDocument()); } @@ -292,11 +308,13 @@ private: int m_iDefaultNDet; int m_iDefaultNView; + int m_iDefaultOffsetView; int m_iDefaultNSample; int m_iDefaultGeometry; int m_iDefaultTrace; double m_dDefaultRotation; double m_dDefaultFocalLength; + double m_dDefaultCenterDetectorLength; double m_dDefaultViewRatio; double m_dDefaultScanRatio; @@ -406,6 +424,7 @@ public: wxDocChildFrame* getFrame() { return m_pFrame; } #endif + void setInitialClientSize(); wxMenu* getFileMenu() { return m_pFileMenu; } PlotFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } @@ -423,6 +442,7 @@ public: virtual ~PlotFileCanvas(); virtual void OnDraw(wxDC& dc); + virtual wxSize GetBestSize() const; void setView (PlotFileView* pView) { m_pView = pView; } @@ -477,6 +497,7 @@ class TextFileCanvas: public wxTextCtrl public: TextFileCanvas (TextFileView *v, wxFrame *frame, const wxPoint& pos, const wxSize& size, long style); ~TextFileCanvas (); + virtual wxSize GetBestSize() const; };