Applied initial patches for wx2.8 compatibility
[ctsim.git] / src / views.h
index 058cb8bb7fbe94e25b08d0456135d139aced41b4..d0dda152754f24ec9dd9942fa98ba589fae9775b 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: views.h,v 1.54 2001/03/30 19:31:17 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
 **  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);
@@ -115,7 +111,7 @@ public:
   void OnInverseFourier (wxCommandEvent& event);
   void OnShuffleNaturalToFourierOrder (wxCommandEvent& event);
   void OnShuffleFourierToNaturalOrder (wxCommandEvent& event);
-#ifdef wxUSE_GLCANVAS
+#if wxUSE_GLCANVAS
   void OnConvert3d (wxCommandEvent& event);
 #endif
 
@@ -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<ImageFileDocument*>(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<ProjectionFileDocument*>(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<PhantomFileDocument*>(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<PlotFileDocument*>(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<TextFileDocument*>(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;
 };