r156: *** empty log message ***
[ctsim.git] / src / dialogs.h
index 03582ac6771320be3ab467db733a82fa90d59c71..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.1 2000/07/18 03:14:35 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
 #define __DIALOGSH__
 
 #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);
 
  private:
-    wxBoxSizer* m_pTopSizer;
     wxTextCtrl* m_pTextCtrlMin;
     wxTextCtrl* m_pTextCtrlMax;
-    wxBoxSizer* m_pButtonSizer;
-    wxButton* m_pButtonOk;
-    wxButton* m_pButtonCancel;
 
     double m_dDefaultMin;
     double m_dDefaultMax;
 };
 
+
+class DialogGetRasterParameters : public wxDialog
+{
+ public:
+    DialogGetRasterParameters (wxFrame* pParent, int iDefaultXSize = 0, int iDefaultYSize = 0, int iDefaultNSamples = 1);
+    virtual ~DialogGetRasterParameters (void);
+
+    unsigned int getXSize (void);
+    unsigned int getYSize (void);
+    unsigned int getNSamples (void);
+
+ private:
+    wxTextCtrl* m_pTextCtrlXSize;
+    wxTextCtrl* m_pTextCtrlYSize;
+    wxTextCtrl* m_pTextCtrlNSamples;
+
+    int m_iDefaultXSize;
+    int m_iDefaultYSize;
+    int m_iDefaultNSamples;
+};
+
+
+class DialogGetProjectionParameters : public wxDialog
+{
+ public:
+    DialogGetProjectionParameters (wxFrame* pParent, int iDefaultNDet = 0, int iDefaultNView = 0, int iDefaultNSamples = 1, double dDefaultRotAngle = 1., const char* szDefaultGeometry = NULL);
+    ~DialogGetProjectionParameters (void);
+
+    unsigned int getNDet (void);
+    unsigned int getNView (void);
+    unsigned int getNSamples (void);
+    double getRotAngle (void);
+    const wxString& getGeometry(void);
+
+ private:
+    wxTextCtrl* m_pTextCtrlNDet;
+    wxTextCtrl* m_pTextCtrlNView;
+    wxTextCtrl* m_pTextCtrlNSamples;
+    wxTextCtrl* m_pTextCtrlRotAngle;
+    wxListBox* m_pListBoxGeometry;
+
+    int m_iDefaultNDet;
+    int m_iDefaultNView;
+    int m_iDefaultNSamples;
+    double m_dDefaultRotAngle;
+    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