** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: views.h,v 1.6 2000/07/28 08:28:08 kevin Exp $
+** $Id: views.h,v 1.21 2001/01/02 05:34:57 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
bool m_bMaxSpecified;
double m_dMinPixel;
double m_dMaxPixel;
+ double m_dAutoScaleFactor;
+\r
+ int m_iDefaultExportFormatID;\r
public:
ImageFileView(void);
bool OnCreate(wxDocument *doc, long flags);
void OnDraw(wxDC* dc);
void OnUpdate(wxView *sender, wxObject *hint = NULL);
- bool OnClose (bool deleteWindow = true);
+ bool OnClose (bool deleteWindow = true);\r
+\r
+ void OnScaleSize (wxCommandEvent& event);
+ void OnExport (wxCommandEvent& event);\r
void OnProperties (wxCommandEvent& event);
- void OnWindowAuto (wxCommandEvent& event);
- void OnWindowMinMax (wxCommandEvent& event);
+ void OnCompare (wxCommandEvent& event);\r
+ void OnInvertValues (wxCommandEvent& event);\r
+ void OnSquare (wxCommandEvent& event);\r
+ void OnSquareRoot (wxCommandEvent& event);\r
+ void OnLog (wxCommandEvent& event);\r
+ void OnExp (wxCommandEvent& event);\r
+ void OnAdd (wxCommandEvent& event);\r
+ void OnSubtract (wxCommandEvent& event);\r
+ void OnMultiply (wxCommandEvent& event);\r
+ void OnDivide (wxCommandEvent& event);\r
+ void OnFourier (wxCommandEvent& event);\r
+ void OnInverseFourier (wxCommandEvent& event);\r
+ void OnShuffleNaturalToFourierOrder (wxCommandEvent& event);\r
+ void OnShuffleFourierToNaturalOrder (wxCommandEvent& event);\r
+#ifdef HAVE_FFTW\r
+ void OnFFT (wxCommandEvent& event);\r
+ void OnIFFT (wxCommandEvent& event);\r
+#endif\r
+ void OnMagnitude (wxCommandEvent& event);\r
+ void OnPhase (wxCommandEvent& event);\r
+ void OnScaleAuto (wxCommandEvent& event);
+ void OnScaleMinMax (wxCommandEvent& event);
+ void OnPlotRow (wxCommandEvent& event);\r
+ void OnPlotCol (wxCommandEvent& event);\r
+ void OnCompareRow (wxCommandEvent& event);\r
+ void OnCompareCol (wxCommandEvent& event);\r
+\r
+ wxFrame* getFrame()\r
+ { return m_frame; }\r
ImageFileDocument* GetDocument(void)
{ return dynamic_cast<ImageFileDocument*>(wxView::GetDocument()); }
class ImageFileCanvas: public wxScrolledWindow
{
+private:\r
+ int m_xCursor;\r
+ int m_yCursor;\r
+\r
public:
ImageFileView* m_pView;
ImageFileCanvas (ImageFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style);
virtual void OnDraw(wxDC& dc);
void OnMouseEvent(wxMouseEvent& event);
+\r
+ void DrawRubberBandCursor (wxDC& dc, int x, int y);\r
+ bool GetCurrentCursor (int& x, int& y);\r
DECLARE_EVENT_TABLE()
};
ProjectionFileCanvas *m_canvas;
wxFrame *m_frame;
+ int m_iDefaultNX;
+ int m_iDefaultNY;
+ int m_iDefaultFilter;
+ int m_iDefaultFilterMethod;
+ double m_dDefaultFilterParam;
+ int m_iDefaultFilterGeneration;
+ int m_iDefaultZeropad;
+ int m_iDefaultInterpolation;
+ int m_iDefaultInterpParam;
+ int m_iDefaultBackprojector;
+ int m_iDefaultTrace;
+
public:
ProjectionFileView(void);
virtual ~ProjectionFileView(void);
bool OnClose (bool deleteWindow = true);
void OnProperties (wxCommandEvent& event);
void OnReconstruct (wxCommandEvent& event);
+\r
+ wxFrame* getFrame ()\r
+ { return m_frame; }\r
ProjectionFileDocument* GetDocument(void)
{ return dynamic_cast<ProjectionFileDocument*>(wxView::GetDocument()); }
PhantomCanvas *m_canvas;
wxFrame *m_frame;
+ int m_iDefaultNDet;
+ int m_iDefaultNView;
+ int m_iDefaultNSample;
+ int m_iDefaultGeometry;
+ int m_iDefaultTrace;
+ double m_dDefaultRotation;
+ double m_dDefaultFocalLength;
+ double m_dDefaultFieldOfView;
+
public:
PhantomView(void);
virtual ~PhantomView(void);
};
+class PlotFileCanvas;
+class PlotFileView : public wxView
+{
+ DECLARE_DYNAMIC_CLASS(PlotFileView)
+
+private:
+ PlotFileCanvas *CreateCanvas(wxView *view, wxFrame *parent);
+ wxFrame *CreateChildFrame(wxDocument *doc, wxView *view);
+
+ PlotFileCanvas *m_canvas;
+ wxFrame *m_frame;
+ EZPlot* m_pEZPlot;\r
+ bool m_bMinSpecified;\r
+ bool m_bMaxSpecified;\r
+ double m_dMinPixel;\r
+ double m_dMaxPixel;\r
+ double m_dAutoScaleFactor;\r
+
+public:
+ PlotFileView(void);
+ virtual ~PlotFileView(void);
+
+ bool OnCreate(wxDocument *doc, long flags);
+ void OnDraw(wxDC* dc);
+ void OnUpdate(wxView *sender, wxObject *hint = NULL);
+ bool OnClose (bool deleteWindow = true);
+ void OnProperties (wxCommandEvent& event);
+ void OnScaleAuto (wxCommandEvent& event);\r
+ void OnScaleMinMax (wxCommandEvent& event);\r
+
+ wxFrame* getFrame ()
+ { return m_frame; }
+
+ PlotFileDocument* GetDocument(void)
+ { return dynamic_cast<PlotFileDocument*>(wxView::GetDocument()); }
+
+ DECLARE_EVENT_TABLE()
+};
+
+class PlotFileCanvas: public wxScrolledWindow
+{
+public:
+ PlotFileView* m_pView;
+
+ PlotFileCanvas (PlotFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style);
+ virtual void OnDraw(wxDC& dc);
+};
+
+
#endif