r592: Added PPM & PNG File importing
[ctsim.git] / src / dialogs.h
index 0bb051043e71e45e96e2d748ab7ddbc960a94362..5f6fb0649794ea9622415d4cb7892614ab5a673e 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: dialogs.h,v 1.26 2001/02/14 18:39:47 kevin Exp $
+**  $Id: dialogs.h,v 1.33 2001/03/01 20:02:18 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 "projections.h"
 
 
+class CTSimHelpButton : public wxButton
+{
+public:
+  CTSimHelpButton (wxWindow* parent, int id)
+    : wxButton (parent, id, "Help")
+  {}
+};
+
+
 // CLASS StringValueAndTitleListBox
 //
 // A superclass of wxListBox that can handle string values and titles
 class StringValueAndTitleListBox : public wxListBox
 {
  public:
-  StringValueAndTitleListBox (wxDialog* pParent, int nChoices, const char* aszTitle[], const char* aszValue[]);
+  StringValueAndTitleListBox (wxDialog* pParent, int nChoices, const char* const aszTitle[], const char* const aszValue[]);
 
     const char* getSelectionStringValue () const;
 
  private:
-    const char** m_ppszValues;
+    const char* const* m_ppszValues;
 };
 
 
 class StringValueAndTitleRadioBox : public wxRadioBox
 {
  public:
-  StringValueAndTitleRadioBox (wxDialog* pParent, const wxString& strTitle, int nChoices, const char* aszTitle[], const char* aszValue[]);
+  StringValueAndTitleRadioBox (wxDialog* pParent, const wxString& strTitle, int nChoices, const char* const aszTitle[], const char* const aszValue[]);
 
   const char* getSelectionStringValue () const;
 
  private:
-  const char** m_ppszValues;
+  const char* const* m_ppszValues;
 };
 
 
@@ -103,15 +112,22 @@ class DialogGetComparisonImage : public wxDialog
 class DialogPreferences : public wxDialog
 {
  public:
-    DialogPreferences (wxWindow* pParent, const char* const pszTitle, bool bAdvanced, bool bAskNewDocs);
+    DialogPreferences (wxWindow* pParent, const char* const pszTitle, bool bAdvanced, bool bAskNewDocs,
+      bool bVerboseLogging, bool bStartupTips, bool bUseBackgroundTasks);
     virtual ~DialogPreferences ();
 
     bool getAdvancedOptions ();
     bool getAskDeleteNewDocs ();
+    bool getVerboseLogging ();
+    bool getStartupTips ();
+    bool getUseBackgroundTasks();
 
  private:
     wxCheckBox* m_pCBAdvancedOptions;
     wxCheckBox* m_pCBAskDeleteNewDocs;
+    wxCheckBox* m_pCBVerboseLogging;
+    wxCheckBox* m_pCBStartupTips;
+    wxCheckBox* m_pCBUseBackgroundTasks;
 };
 
 
@@ -164,7 +180,7 @@ class DialogGetProjectionParameters : public wxDialog
  public:
     DialogGetProjectionParameters (wxWindow* pParent, int iDefaultNDet = 0, 
       int iDefaultNView = 0, int iDefaultNSamples = 1, double dDefaultRotAngle = 1., 
-      double dDefaultFocalLength = 1, double dDefaultViewRatio = 1., 
+      double dDefaultFocalLength = 1, double dDefaultCenterDetectorLength = 1, double dDefaultViewRatio = 1., 
       double dDefaultScanRatio = 1., int iDefaultGeometry = Scanner::GEOMETRY_PARALLEL, int iDefaultTrace = Trace::TRACE_NONE);
     ~DialogGetProjectionParameters ();
 
@@ -177,6 +193,7 @@ class DialogGetProjectionParameters : public wxDialog
     double getViewRatio ();
     double getScanRatio ();
     double getFocalLengthRatio ();
+    double getCenterDetectorLengthRatio ();
     const char* getGeometry();
 
  private:
@@ -185,6 +202,7 @@ class DialogGetProjectionParameters : public wxDialog
     wxTextCtrl* m_pTextCtrlNSamples;
     wxTextCtrl* m_pTextCtrlRotAngle;
     wxTextCtrl* m_pTextCtrlFocalLength;
+    wxTextCtrl* m_pTextCtrlCenterDetectorLength;
     wxTextCtrl* m_pTextCtrlViewRatio;
     wxTextCtrl* m_pTextCtrlScanRatio;
     StringValueAndTitleRadioBox* m_pRadioBoxGeometry;
@@ -197,6 +215,7 @@ class DialogGetProjectionParameters : public wxDialog
     int m_iDefaultGeometry;
     double m_dDefaultRotAngle;
     double m_dDefaultFocalLength;
+    double m_dDefaultCenterDetectorLength;
     double m_dDefaultViewRatio;
     double m_dDefaultScanRatio;
 };
@@ -297,6 +316,18 @@ class DialogExportParameters : public wxDialog
     StringValueAndTitleRadioBox* m_pRadioBoxFormat;
 };
 
+class DialogImportParameters : public wxDialog
+{
+ public:
+    DialogImportParameters (wxWindow* pParent, int iDefaultFormatID);
+    virtual ~DialogImportParameters () {}
+
+    const char* getFormatName();
+
+ private:
+    StringValueAndTitleRadioBox* m_pRadioBoxFormat;
+};
+
 class DialogAutoScaleParameters : public wxDialog
 {
  public: