r156: *** empty log message ***
[ctsim.git] / src / dialogs.h
index 6c5c727a63164aa9f09928dcab771a48fcfd2daf..159294727122dc01326171551b7145d628f81e1d 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: dialogs.h,v 1.2 2000/07/18 14:51:06 kevin Exp $
+**  $Id: dialogs.h,v 1.5 2000/07/20 11:17:31 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
 #include "wx/wx.h"
 #include <string>
 
+
+class DialogGetPhantom : public wxDialog
+{
+ public:
+    DialogGetPhantom (wxFrame* pParent, const char* szDefaultPhantom);
+    virtual ~DialogGetPhantom (void) {}
+
+    const wxString& getPhantom (void);
+
+ private:
+    wxListBox* m_pListBoxPhantom;
+    wxString m_sDefaultPhantom;
+
+    static const wxString s_asPhantom[];
+    static const wxString s_asPhantomTitle[];
+    static const unsigned int s_iNumPhantom;
+};
+
+
 class ImageFile;
 class DialogGetImageMinMax : public wxDialog
 {
  public:
     DialogGetImageMinMax (wxFrame* pParent, const ImageFile& rImagefile, double dDefaultMin = 0., double dDefaultMax = 0.);
-    ~DialogGetImageMinMax (void);
+    virtual ~DialogGetImageMinMax (void);
 
     double getMinimum (void);
     double getMaximum (void);
@@ -55,7 +74,7 @@ class DialogGetRasterParameters : public wxDialog
 {
  public:
     DialogGetRasterParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultNSamples = 1);
-    ~DialogGetRasterParameters (void);
+    virtual ~DialogGetRasterParameters (void);
 
     unsigned int getXSize (void);
     unsigned int getYSize (void);
@@ -82,20 +101,80 @@ class DialogGetProjectionParameters : public wxDialog
     unsigned int getNView (void);
     unsigned int getNSamples (void);
     double getRotAngle (void);
-    const string& getGeometry(void);
+    const wxString& getGeometry(void);
 
  private:
     wxTextCtrl* m_pTextCtrlNDet;
     wxTextCtrl* m_pTextCtrlNView;
     wxTextCtrl* m_pTextCtrlNSamples;
     wxTextCtrl* m_pTextCtrlRotAngle;
-    wxTextCtrl* m_pTextCtrlGeometry;
+    wxListBox* m_pListBoxGeometry;
 
     int m_iDefaultNDet;
     int m_iDefaultNView;
     int m_iDefaultNSamples;
     double m_dDefaultRotAngle;
-    string m_sDefaultGeometry;
+    wxString m_sDefaultGeometry;
+
+    static const wxString s_asGeometry[];
+    static const wxString s_asGeometryTitle[];
+    static const unsigned int s_iNumGeometry;
+};
+
+
+class DialogGetReconstructionParameters : public wxDialog
+{
+ public:
+    DialogGetReconstructionParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, const char* szDefaultFilterName = NULL, double dDefaultFilterParam = 1., const char* szDefaultFilterMethodName = NULL, int iDefaultZeropad = 3, const char* szDefaultInterpName = NULL, int iDefaultInterpParam = 1, const char* szDefaultBackprojName = NULL);
+    virtual ~DialogGetReconstructionParameters (void);
+
+    unsigned int getXSize(void);
+    unsigned int getYSize(void);
+    const wxString& getFilterName(void);
+    double getFilterParam(void);
+    const wxString& getFilterMethodName(void);
+    unsigned int getZeropad(void);
+    const wxString& getInterpName(void);
+    unsigned int getInterpParam(void);
+    const wxString& getBackprojName(void);
+
+ private:
+    wxTextCtrl* m_pTextCtrlXSize;
+    wxTextCtrl* m_pTextCtrlYSize;
+    wxTextCtrl* m_pTextCtrlZeropad;
+    wxTextCtrl* m_pTextCtrlFilterParam;
+    wxTextCtrl* m_pTextCtrlInterpParam;
+
+    wxListBox* m_pListBoxFilter;
+    wxListBox* m_pListBoxFilterMethod;
+    wxListBox* m_pListBoxInterp;
+    wxListBox* m_pListBoxBackproj;
+
+    int m_iDefaultXSize;
+    int m_iDefaultYSize;
+    double m_dDefaultFilterParam;
+    int m_iDefaultZeropad;
+    int m_iDefaultInterpParam;
+    wxString m_sDefaultFilterName;
+    wxString m_sDefaultFilterMethodName;
+    wxString m_sDefaultInterpName;
+    wxString m_sDefaultBackprojName;
+
+    static const wxString s_asFilter[];
+    static const wxString s_asFilterTitle[];
+    static const unsigned int s_iNumFilter;
+
+    static const wxString s_asFilterMethod[];
+    static const wxString s_asFilterMethodTitle[];
+    static const unsigned int s_iNumFilterMethod;
+
+    static const wxString s_asInterp[];
+    static const wxString s_asInterpTitle[];
+    static const unsigned int s_iNumInterp;
+
+    static const wxString s_asBackproj[];
+    static const wxString s_asBackprojTitle[];
+    static const unsigned int s_iNumBackproj;
 };
 
 #endif