r427: Changes for MDI support
[ctsim.git] / src / views.h
index 7ca2e62d739fe46d7b9f1c88582b1813ee2a1713..ca998f2bdcb6adc793f9ae529655e382ac28344f 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: views.h,v 1.25 2001/01/04 21:28:41 kevin Exp $
+**  $Id: views.h,v 1.27 2001/01/20 08:10:33 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
@@ -57,7 +57,14 @@ private:
   double m_dAutoScaleFactor;
   
   int m_iDefaultExportFormatID;
-  
+
+  wxFrame* getFrameForChild() 
+#if CTSIM_MDI
+  { return theApp->getMainFrame(); }
+#else
+  { return m_frame; }
+#endif
+
 public:
   ImageFileView(void);
   virtual ~ImageFileView(void);
@@ -90,6 +97,10 @@ public:
 #ifdef HAVE_FFT
   void OnFFT (wxCommandEvent& event);
   void OnIFFT (wxCommandEvent& event);
+  void OnFFTRows (wxCommandEvent& event);
+  void OnIFFTRows (wxCommandEvent& event);
+  void OnFFTCols (wxCommandEvent& event);
+  void OnIFFTCols (wxCommandEvent& event);
 #endif
   
   void OnMagnitude (wxCommandEvent& event);
@@ -100,6 +111,10 @@ public:
   void OnScaleFull (wxCommandEvent& event);
   void OnPlotRow (wxCommandEvent& event);
   void OnPlotCol (wxCommandEvent& event);
+#if HAVE_FFT
+  void OnPlotFFTRow (wxCommandEvent& event);
+  void OnPlotFFTCol (wxCommandEvent& event);
+#endif
   void OnPlotHistogram (wxCommandEvent& event);
   void OnCompareRow (wxCommandEvent& event);
   void OnCompareCol (wxCommandEvent& event);
@@ -119,16 +134,20 @@ private:
   
   int m_xCursor;
   int m_yCursor;
-  
-public:
   ImageFileView* m_pView;
   
+public:
   ImageFileCanvas (ImageFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style);
+  virtual ~ImageFileCanvas()
+  {}
+
   virtual void OnDraw(wxDC& dc);
   void OnMouseEvent(wxMouseEvent& event);
   void DrawRubberBandCursor (wxDC& dc, int x, int y);
   bool GetCurrentCursor (int& x, int& y);
-  
+
+  virtual wxSize GetBestSize() const;
+
   DECLARE_EVENT_TABLE()
 };
 
@@ -165,6 +184,13 @@ private:
   int m_iDefaultPolarInterpolation;
   int m_iDefaultPolarZeropad;
 
+  wxFrame* getFrameForChild() 
+#if CTSIM_MDI
+  { return theApp->getMainFrame(); }
+#else
+  { return m_frame; }
+#endif
+
 public:
   ProjectionFileView(void);
   virtual ~ProjectionFileView(void);
@@ -189,10 +215,16 @@ public:
 
 class ProjectionFileCanvas: public wxScrolledWindow
 {
-public:
+private:
   ProjectionFileView* m_pView;
-  
+
+public:  
   ProjectionFileCanvas (ProjectionFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style);
+  virtual ~ProjectionFileCanvas() 
+  {}
+
+  virtual wxSize GetBestSize() const;
+
   virtual void OnDraw(wxDC& dc);
 };
 
@@ -218,6 +250,17 @@ private:
   double m_dDefaultFocalLength;
   double m_dDefaultFieldOfView;
   
+  int m_iDefaultRasterNX;
+  int m_iDefaultRasterNY;
+  int m_iDefaultRasterNSamples;
+
+  wxFrame* getFrameForChild() 
+#if CTSIM_MDI
+  { return theApp->getMainFrame(); }
+#else
+  { return m_frame; }
+#endif
+
 public:
   PhantomView(void);
   virtual ~PhantomView(void);
@@ -238,10 +281,14 @@ public:
 
 class PhantomCanvas: public wxScrolledWindow
 {
-public:
+private:
   PhantomView* m_pView;
-  
+
+public:  
   PhantomCanvas (PhantomView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style);
+  virtual ~PhantomCanvas()
+  {}
+
   virtual void OnDraw(wxDC& dc);
 };
 
@@ -264,6 +311,13 @@ private:
   double m_dMaxPixel;
   double m_dAutoScaleFactor;
   
+  wxFrame* getFrameForChild() 
+#if CTSIM_MDI
+  { return theApp->getMainFrame(); }
+#else
+  { return m_frame; }
+#endif
+
 public:
   PlotFileView(void);
   virtual ~PlotFileView(void);
@@ -289,10 +343,14 @@ public:
 
 class PlotFileCanvas: public wxScrolledWindow
 {
-public:
+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);
 };