X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fdialogs.cpp;h=a3e2bb077d2b45c32b2a1db09a7cfc4da044bc41;hp=df9354dee2bfe0fed68a96a93f8b41dba1b21083;hb=1a050c98763fbbc0662731b0b76953acede6f5d7;hpb=c8b19dfaffba9f06d8b6c40cb1bb83a8964867f7 diff --git a/src/dialogs.cpp b/src/dialogs.cpp index df9354d..a3e2bb0 100644 --- a/src/dialogs.cpp +++ b/src/dialogs.cpp @@ -63,9 +63,9 @@ StringValueAndTitleListBox::StringValueAndTitleListBox (wxDialog* pParent, int n wxString* psTitle = new wxString [nChoices]; for (int i = 0; i < nChoices; i++) psTitle[i] = aszTitle[i]; - + Create (pParent, -1, wxDefaultPosition, wxSize(-1,-1), nChoices, psTitle, wxLB_SINGLE | wxLB_NEEDED_SB); - + m_ppszValues = aszValue; delete [] psTitle; }; @@ -82,9 +82,9 @@ StringValueAndTitleRadioBox::StringValueAndTitleRadioBox (wxDialog* pParent, con wxString* psTitle = new wxString [nChoices]; for (int i = 0; i < nChoices; i++) psTitle[i] = aszTitle[i]; - + Create (pParent, -1, strTitle, wxDefaultPosition, wxDefaultSize, nChoices, psTitle, 1, wxRA_SPECIFY_COLS); - + m_ppszValues = aszValue; delete [] psTitle; }; @@ -104,17 +104,17 @@ DialogGetPhantom::DialogGetPhantom (wxWindow* pParent, int iDefaultPhantom) : wxDialog (pParent, -1, _T("Select Phantom"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, "Select Phantom"), 0, wxCENTER | wxALL, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + m_pRadioBoxPhantom = new StringValueAndTitleRadioBox (this, _T("Phantom"), Phantom::getPhantomCount(), Phantom::getPhantomTitleArray(), Phantom::getPhantomNameArray()); m_pRadioBoxPhantom->SetSelection (iDefaultPhantom); pTopSizer->Add (m_pRadioBoxPhantom, 0, wxALL | wxALIGN_CENTER); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -125,7 +125,7 @@ DialogGetPhantom::DialogGetPhantom (wxWindow* pParent, int iDefaultPhantom) pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -148,13 +148,13 @@ DialogGetThetaRange::DialogGetThetaRange (wxWindow* pParent, int iDefaultThetaRa : wxDialog (pParent, -1, _T("Select Phantom"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, "Select Theta Range"), 0, wxCENTER | wxALL, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxString asTitle[] = {"Unconstrained", "Normalized to 2pi", "Fold to pi"}; - + m_pRadioBoxThetaRange = new wxRadioBox (this, -1, _T("Theta Range"), wxDefaultPosition, wxDefaultSize, 3, asTitle, 1, wxRA_SPECIFY_COLS); if (iDefaultThetaRange == ParallelRaysums::THETA_RANGE_UNCONSTRAINED) m_pRadioBoxThetaRange->SetSelection (0); @@ -164,9 +164,9 @@ DialogGetThetaRange::DialogGetThetaRange (wxWindow* pParent, int iDefaultThetaRa m_pRadioBoxThetaRange->SetSelection (2); pTopSizer->Add (m_pRadioBoxThetaRange, 0, wxALL | wxALIGN_CENTER); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -177,7 +177,7 @@ DialogGetThetaRange::DialogGetThetaRange (wxWindow* pParent, int iDefaultThetaRa pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -206,11 +206,11 @@ DialogGetComparisonImage::DialogGetComparisonImage (wxWindow* pParent, const cha : wxDialog (pParent, -1, pszTitle, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION), m_rVecIF(rVecIF) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxALL, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxALL, 5); - + int iNImages = m_rVecIF.size(); wxString* pstrImages = new wxString [iNImages]; for (int i = 0; i < iNImages; i++) { @@ -224,7 +224,7 @@ DialogGetComparisonImage::DialogGetComparisonImage (wxWindow* pParent, const cha m_pListBoxImageChoices->SetSelection (0); pTopSizer->Add (m_pListBoxImageChoices, 0, wxALL | wxALIGN_CENTER | wxEXPAND); - + if (bShowMakeDifference) { m_pMakeDifferenceImage = new wxCheckBox (this, -1, "Make Difference Image"); m_pMakeDifferenceImage->SetValue (FALSE); @@ -233,7 +233,7 @@ DialogGetComparisonImage::DialogGetComparisonImage (wxWindow* pParent, const cha m_pMakeDifferenceImage = NULL; pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -241,10 +241,10 @@ DialogGetComparisonImage::DialogGetComparisonImage (wxWindow* pParent, const cha pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_COMPARISON); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -271,14 +271,14 @@ DialogGetComparisonImage::getMakeDifferenceImage() // CLASS DiaglogPreferences Implementation ///////////////////////////////////////////////////////////////////// -DialogPreferences::DialogPreferences (wxWindow* pParent, const char* const pszTitle, +DialogPreferences::DialogPreferences (wxWindow* pParent, const char* const pszTitle, bool bAdvancedOptions, bool bAskDeleteNewDocs, bool bVerboseLogging, bool bStartupTips, bool bUseBackgroundTasks) : wxDialog (pParent, -1, _T(pszTitle), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); m_pCBAdvancedOptions = new wxCheckBox (this, -1, "Advanced Options", wxDefaultPosition, wxSize(250, 25), 0); @@ -304,7 +304,7 @@ DialogPreferences::DialogPreferences (wxWindow* pParent, const char* const pszTi #endif pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -312,10 +312,10 @@ DialogPreferences::DialogPreferences (wxWindow* pParent, const char* const pszTi pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_PREFERENCES); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -369,27 +369,27 @@ DialogGetMinMax::DialogGetMinMax (wxWindow* pParent, const char* const pszTitle, : wxDialog (pParent, -1, _T(pszTitle), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + std::ostringstream os; os << dDefaultMin; m_pTextCtrlMin = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); std::ostringstream osMax; osMax << dDefaultMax; m_pTextCtrlMax = new wxTextCtrl (this, -1, osMax.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); - + wxFlexGridSizer *pGridSizer = new wxFlexGridSizer (2); pGridSizer->Add (new wxStaticText (this, -1, "Minimum"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pGridSizer->Add (m_pTextCtrlMin, 0, wxALIGN_CENTER_VERTICAL); pGridSizer->Add (new wxStaticText (this, -1, "Maximum"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pGridSizer->Add (m_pTextCtrlMax, 0, wxALIGN_CENTER_VERTICAL); pTopSizer->Add (pGridSizer, 1, wxALL, 10); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -397,10 +397,10 @@ DialogGetMinMax::DialogGetMinMax (wxWindow* pParent, const char* const pszTitle, pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_MINMAX); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -442,17 +442,17 @@ DialogAutoScaleParameters::DialogAutoScaleParameters (wxWindow *pParent, double : wxDialog (pParent, -1, _T("Auto Scale Parameters"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION), m_dMean(mean), m_dMode(mode), m_dMedian(median), m_dStdDev(stddev) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, "Auto Scale Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxString asTitle[] = {"Mode", "Median", "Mean"}; - + m_pRadioBoxCenter = new wxRadioBox (this, -1, _T("Center"), wxDefaultPosition, wxDefaultSize, 3, asTitle, 1, wxRA_SPECIFY_COLS); m_pRadioBoxCenter->SetSelection (0); pTopSizer->Add (m_pRadioBoxCenter, 0, wxALL | wxALIGN_CENTER); - + wxGridSizer *pGridSizer = new wxGridSizer (2); pGridSizer->Add (new wxStaticText (this, -1, "Standard Deviation Factor"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); std::ostringstream osDefaultFactor; @@ -460,9 +460,9 @@ DialogAutoScaleParameters::DialogAutoScaleParameters (wxWindow *pParent, double m_pTextCtrlStdDevFactor = new wxTextCtrl (this, -1, osDefaultFactor.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); pGridSizer->Add (m_pTextCtrlStdDevFactor, 0, wxALIGN_CENTER_VERTICAL); pTopSizer->Add (pGridSizer, 1, wxALL, 10); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -470,10 +470,10 @@ DialogAutoScaleParameters::DialogAutoScaleParameters (wxWindow *pParent, double pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_AUTOSCALE); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -489,7 +489,7 @@ DialogAutoScaleParameters::getMinMax (double* pMin, double* pMax) dCenter = m_dMedian; else if (iCenter == 2) dCenter = m_dMean; - + wxString sStddevFactor = m_pTextCtrlStdDevFactor->GetValue(); double dValue; if (! sStddevFactor.ToDouble (&dValue)) { @@ -500,7 +500,7 @@ DialogAutoScaleParameters::getMinMax (double* pMin, double* pMax) *pMin = dCenter - dHalfWidth; *pMax = dCenter + dHalfWidth; *theApp->getLog() << "Setting minimum to " << *pMin << " and maximum to " << *pMax << "\n"; - + return true; } @@ -512,7 +512,7 @@ DialogAutoScaleParameters::getAutoScaleFactor () if (! sStddevFactor.ToDouble (&dValue)) { *theApp->getLog() << "Error: Non-numeric Standard Deviation Factor of " << sStddevFactor << "\n"; } - + return dValue; } @@ -524,16 +524,16 @@ DialogAutoScaleParameters::getAutoScaleFactor () // DialogGetRasterParameters ///////////////////////////////////////////////////////////////////// -DialogGetRasterParameters::DialogGetRasterParameters +DialogGetRasterParameters::DialogGetRasterParameters (wxWindow* pParent, int iDefaultXSize, int iDefaultYSize, int iDefaultNSamples, double dDefaultViewRatio) : wxDialog (pParent, -1, _T("Rasterization Parameters"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, "Rasterization Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxFlexGridSizer *pGridSizer = new wxFlexGridSizer (2); std::ostringstream os; os << iDefaultXSize; @@ -557,9 +557,9 @@ DialogGetRasterParameters::DialogGetRasterParameters pGridSizer->Add (m_pTextCtrlNSamples, 0, wxALIGN_CENTER_VERTICAL); pTopSizer->Add (pGridSizer, 1, wxALL, 10); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -570,7 +570,7 @@ DialogGetRasterParameters::DialogGetRasterParameters pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -634,14 +634,14 @@ DialogGetRasterParameters::getViewRatio () ///////////////////////////////////////////////////////////////////// -DialogGetProjectionParameters::DialogGetProjectionParameters - (wxWindow* pParent, int iDefaultNDet, int iDefaultNView, int iDefaultOffsetView, int iDefaultNSamples, +DialogGetProjectionParameters::DialogGetProjectionParameters + (wxWindow* pParent, int iDefaultNDet, int iDefaultNView, int iDefaultOffsetView, int iDefaultNSamples, double dDefaultRotAngle, double dDefaultFocalLength, double dDefaultCenterDetectorLength, double dDefaultViewRatio, double dDefaultScanRatio, int iDefaultGeometry, int iDefaultTrace) : wxDialog (pParent, -1, _T("Projection Parameters"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + m_dDefaultRotAngle = dDefaultRotAngle; m_dDefaultFocalLength = dDefaultFocalLength; m_dDefaultCenterDetectorLength = dDefaultCenterDetectorLength; @@ -652,22 +652,22 @@ DialogGetProjectionParameters::DialogGetProjectionParameters m_iDefaultNDet = iDefaultNDet; m_iDefaultTrace = iDefaultTrace; m_iDefaultGeometry = iDefaultGeometry; - + pTopSizer->Add (new wxStaticText (this, -1, "Projection Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxFlexGridSizer* pGridSizer = new wxFlexGridSizer (2); m_pRadioBoxGeometry = new StringValueAndTitleRadioBox (this, _T("Geometry"), Scanner::getGeometryCount(), Scanner::getGeometryTitleArray(), Scanner::getGeometryNameArray()); m_pRadioBoxGeometry->SetSelection (iDefaultGeometry); - + pGridSizer->Add (m_pRadioBoxGeometry, 0, wxALL | wxALIGN_CENTER | wxEXPAND); - + m_pRadioBoxTrace = new StringValueAndTitleRadioBox (this, _T("Trace Level"), Trace::getTraceCount(), Trace::getTraceTitleArray(), Trace::getTraceNameArray()); m_pRadioBoxTrace->SetSelection (iDefaultTrace); pGridSizer->Add (m_pRadioBoxTrace, 0, wxALL | wxALIGN_CENTER | wxEXPAND); - wxFlexGridSizer* pText1Sizer = new wxFlexGridSizer(2); + wxFlexGridSizer* pText1Sizer = new wxFlexGridSizer(2); std::ostringstream os; os << iDefaultNDet; m_pTextCtrlNDet = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); @@ -715,7 +715,7 @@ DialogGetProjectionParameters::DialogGetProjectionParameters m_pTextCtrlRotAngle = new wxTextCtrl (this, -1, osRotAngle.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); pText2Sizer->Add (new wxStaticText (this, -1, "Rotation Angle (Fraction of circle)"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pText2Sizer->Add (m_pTextCtrlRotAngle, 0, wxALIGN_CENTER_VERTICAL); - + std::ostringstream osOffsetView; osOffsetView << iDefaultOffsetView; m_pTextCtrlOffsetView = new wxTextCtrl (this, -1, osOffsetView.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); @@ -726,9 +726,9 @@ DialogGetProjectionParameters::DialogGetProjectionParameters pGridSizer->Add (pText2Sizer); pTopSizer->Add (pGridSizer, 1, wxALL, 10); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -736,10 +736,10 @@ DialogGetProjectionParameters::DialogGetProjectionParameters pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_PROJECTIONS); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Fit (this); @@ -779,12 +779,12 @@ unsigned int DialogGetProjectionParameters::getOffsetView () { if (theApp->getAdvancedOptions()) { - wxString strCtrl = m_pTextCtrlOffsetView->GetValue(); - unsigned long lValue; - if (strCtrl.ToULong (&lValue)) - return lValue; - else - return (m_iDefaultOffsetView); + wxString strCtrl = m_pTextCtrlOffsetView->GetValue(); + unsigned long lValue; + if (strCtrl.ToULong (&lValue)) + return lValue; + else + return (m_iDefaultOffsetView); } else return 0; @@ -812,7 +812,7 @@ DialogGetProjectionParameters::getRotAngle () else return (m_dDefaultRotAngle); } else { - if (Scanner::convertGeometryNameToID (m_pRadioBoxGeometry->getSelectionStringValue()) == + if (Scanner::convertGeometryNameToID (m_pRadioBoxGeometry->getSelectionStringValue()) == Scanner::GEOMETRY_PARALLEL) return (PI); else @@ -888,15 +888,15 @@ DialogGetProjectionParameters::getTrace () ///////////////////////////////////////////////////////////////////// -DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* pParent, int iDefaultXSize, - int iDefaultYSize, int iDefaultFilterID, double dDefaultHammingParam, - int iDefaultFilterMethodID, int iDefaultFilterGenerationID, int iDefaultZeropad, +DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* pParent, int iDefaultXSize, + int iDefaultYSize, int iDefaultFilterID, double dDefaultHammingParam, + int iDefaultFilterMethodID, int iDefaultFilterGenerationID, int iDefaultZeropad, int iDefaultInterpID, int iDefaultInterpParam, int iDefaultBackprojectID, int iTrace, ReconstructionROI* pDefaultROI) : wxDialog (pParent, -1, _T("Reconstruction Parameters"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + m_iDefaultXSize = iDefaultXSize; m_iDefaultYSize = iDefaultYSize; m_dDefaultFilterParam = dDefaultHammingParam; @@ -909,7 +909,7 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* pTopSizer->Add (new wxStaticText (this, -1, "Filtered Backprojection Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxFlexGridSizer* pGridSizer = NULL; if (theApp->getAdvancedOptions()) pGridSizer = new wxFlexGridSizer (4); @@ -922,7 +922,7 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* m_pRadioBoxFilter = new StringValueAndTitleRadioBox (this, _T("Filter"), SignalFilter::getReconstructFilterCount(), SignalFilter::getFilterTitleArray(), SignalFilter::getFilterNameArray()); m_pRadioBoxFilter->SetSelection (iDefaultFilterID); pGridSizer->Add (m_pRadioBoxFilter, 0, wxALL | wxALIGN_LEFT | wxEXPAND); - + if (theApp->getAdvancedOptions()) { m_pRadioBoxFilterMethod = new StringValueAndTitleRadioBox (this, _T("Filter Method"), ProcessSignal::getFilterMethodCount(), ProcessSignal::getFilterMethodTitleArray(), ProcessSignal::getFilterMethodNameArray()); m_pRadioBoxFilterMethod->SetSelection (iDefaultFilterMethodID); @@ -948,7 +948,7 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* m_pRadioBoxFilterGeneration = new StringValueAndTitleRadioBox (this, _T("Filter Generation"), ProcessSignal::getFilterGenerationCount(), ProcessSignal::getFilterGenerationTitleArray(), ProcessSignal::getFilterGenerationNameArray()); m_pRadioBoxFilterGeneration->SetSelection (iDefaultFilterGenerationID); pGridSizer->Add (m_pRadioBoxFilterGeneration, 0, wxALL | wxALIGN_LEFT | wxEXPAND); - + m_pRadioBoxBackproject = new StringValueAndTitleRadioBox (this, _T("Backprojection"), Backprojector::getBackprojectCount(), Backprojector::getBackprojectTitleArray(), Backprojector::getBackprojectNameArray()); m_pRadioBoxBackproject->SetSelection (iDefaultBackprojectID); pGridSizer->Add (m_pRadioBoxBackproject, 0, wxALL | wxALIGN_RIGHT | wxEXPAND); @@ -957,7 +957,7 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* m_pRadioBoxInterp = new StringValueAndTitleRadioBox (this, _T("Interpolation"), Backprojector::getInterpCount(), Backprojector::getInterpTitleArray(), Backprojector::getInterpNameArray()); m_pRadioBoxInterp->SetSelection (iDefaultInterpID); pGridSizer->Add (m_pRadioBoxInterp, 0, wxALL | wxALIGN_RIGHT | wxEXPAND); - + static const char* aszTraceTitle[] = {"None", "Full"}; static const char* aszTraceName[] = {"none", "full"}; m_pRadioBoxTrace = new StringValueAndTitleRadioBox (this, _T("Trace Level"), 2, aszTraceTitle, aszTraceName); @@ -998,7 +998,7 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* m_pTextCtrlInterpParam = new wxTextCtrl (this, -1, osInterpParam.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); pGridSizer->Add (new wxStaticText (this, -1, "Interpolation Parameter"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pGridSizer->Add (m_pTextCtrlInterpParam, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); -#endif +#endif if (theApp->getAdvancedOptions()) { wxFlexGridSizer* pROIGridSizer = new wxFlexGridSizer (2); @@ -1027,9 +1027,9 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* } pTopSizer->Add (pGridSizer, 1, wxALL, 3); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -1037,10 +1037,10 @@ DialogGetReconstructionParameters::DialogGetReconstructionParameters (wxWindow* pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_RECONSTRUCTION); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); - + SetAutoLayout (true); SetSizer (pTopSizer); pTopSizer->Layout(); @@ -1210,20 +1210,20 @@ DialogGetFilterParameters::DialogGetFilterParameters (wxWindow* pParent, int iDe : wxDialog (pParent, -1, _T("Filter Parameters"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - - pTopSizer->Add (new wxStaticText (this, -1, "Filter Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); + + pTopSizer->Add (new wxStaticText (this, -1, "Filter Parameters"), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxFlexGridSizer* pGridSizer = new wxFlexGridSizer (2); m_pRadioBoxFilter = new StringValueAndTitleRadioBox (this, _T("Filter"), SignalFilter::getFilterCount(), SignalFilter::getFilterTitleArray(), SignalFilter::getFilterNameArray()); m_pRadioBoxFilter->SetSelection (iDefaultFilterID); pGridSizer->Add (m_pRadioBoxFilter, 0, wxALL | wxALIGN_LEFT | wxEXPAND); - + m_pRadioBoxDomain = new StringValueAndTitleRadioBox (this, _T("Domain"), SignalFilter::getDomainCount(), SignalFilter::getDomainTitleArray(), SignalFilter::getDomainNameArray()); m_pRadioBoxDomain->SetSelection (iDefaultDomainID); pGridSizer->Add (m_pRadioBoxDomain, 0, wxALL | wxALIGN_LEFT | wxEXPAND); - + std::ostringstream os; os << iDefaultXSize; m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); @@ -1259,11 +1259,11 @@ DialogGetFilterParameters::DialogGetFilterParameters (wxWindow* pParent, int iDe m_pTextCtrlOutputScale = new wxTextCtrl (this, -1, osOutputScale.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); pGridSizer->Add (new wxStaticText (this, -1, "Filter Output Scale"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pGridSizer->Add (m_pTextCtrlOutputScale, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); - + pTopSizer->Add (pGridSizer, 1, wxALL, 3); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -1271,7 +1271,7 @@ DialogGetFilterParameters::DialogGetFilterParameters (wxWindow* pParent, int iDe pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_FILTER); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); @@ -1375,18 +1375,18 @@ DialogExportParameters::DialogExportParameters (wxWindow* pParent, int iDefaultF : wxDialog (pParent, -1, _T("Select ExportParameters"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, "Select Export Format"), 0, wxALIGN_CENTER | wxALL, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxALL, 5); - - m_pRadioBoxFormat = new StringValueAndTitleRadioBox (this, _T("File Type"), + + m_pRadioBoxFormat = new StringValueAndTitleRadioBox (this, _T("File Type"), ImageFile::getExportFormatCount(), ImageFile::getExportFormatTitleArray(), ImageFile::getExportFormatNameArray()); m_pRadioBoxFormat->SetSelection (iDefaultFormatID); pTopSizer->Add (m_pRadioBoxFormat, 0, wxALL | wxALIGN_CENTER); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -1394,7 +1394,7 @@ DialogExportParameters::DialogExportParameters (wxWindow* pParent, int iDefaultF pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_EXPORT); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); @@ -1420,18 +1420,18 @@ DialogImportParameters::DialogImportParameters (wxWindow* pParent, int iDefaultF : wxDialog (pParent, -1, _T("Select Import Parameters"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, "Select Import Format"), 0, wxALIGN_CENTER | wxALL, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxALL, 5); - - m_pRadioBoxFormat = new StringValueAndTitleRadioBox (this, _T("File Type"), + + m_pRadioBoxFormat = new StringValueAndTitleRadioBox (this, _T("File Type"), ImageFile::getImportFormatCount(), ImageFile::getImportFormatTitleArray(), ImageFile::getImportFormatNameArray()); m_pRadioBoxFormat->SetSelection (iDefaultFormatID); pTopSizer->Add (m_pRadioBoxFormat, 0, wxALL | wxALIGN_CENTER); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -1439,7 +1439,7 @@ DialogImportParameters::DialogImportParameters (wxWindow* pParent, int iDefaultF pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, IDH_DLG_IMPORT); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); @@ -1467,33 +1467,33 @@ DialogGetXYSize::DialogGetXYSize (wxWindow* pParent, const char* const pszTitle, m_iDefaultYSize = iDefaultYSize; wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - + pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + std::ostringstream os; os << iDefaultXSize; m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); std::ostringstream osYSize; osYSize << iDefaultYSize; m_pTextCtrlYSize = new wxTextCtrl (this, -1, osYSize.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); - + wxFlexGridSizer *pGridSizer = new wxFlexGridSizer (2); pGridSizer->Add (new wxStaticText (this, -1, "X Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pGridSizer->Add (m_pTextCtrlXSize, 0, wxALIGN_CENTER_VERTICAL); pGridSizer->Add (new wxStaticText (this, -1, "Y Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pGridSizer->Add (m_pTextCtrlYSize, 0, wxALIGN_CENTER_VERTICAL); pTopSizer->Add (pGridSizer, 1, wxALL, 10); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); wxButton* pButtonCancel = new wxButton (this, wxID_CANCEL, "Cancel"); pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); @@ -1537,7 +1537,7 @@ DialogGetXYSize::getYSize () // DialogGetConvertPolarParameters ///////////////////////////////////////////////////////////////////// -DialogGetConvertPolarParameters::DialogGetConvertPolarParameters (wxWindow* pParent, const char* const pszTitle, +DialogGetConvertPolarParameters::DialogGetConvertPolarParameters (wxWindow* pParent, const char* const pszTitle, int iDefaultXSize, int iDefaultYSize, int iDefaultInterpolationID, int iDefaultZeropad, int iHelpID) : wxDialog (pParent, -1, _T(pszTitle), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxCAPTION) { @@ -1546,20 +1546,20 @@ DialogGetConvertPolarParameters::DialogGetConvertPolarParameters (wxWindow* pPar m_iDefaultZeropad = iDefaultZeropad; wxBoxSizer* pTopSizer = new wxBoxSizer (wxVERTICAL); - - pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); + + pTopSizer->Add (new wxStaticText (this, -1, pszTitle), 0, wxALIGN_CENTER | wxTOP | wxLEFT | wxRIGHT, 5); pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxFlexGridSizer* pGridSizer = new wxFlexGridSizer (1); - + m_pRadioBoxInterpolation = new StringValueAndTitleRadioBox (this, _T("Interpolation"), Projections::getInterpCount(), Projections::getInterpTitleArray(), Projections::getInterpNameArray()); m_pRadioBoxInterpolation->SetSelection (iDefaultInterpolationID); pGridSizer->Add (m_pRadioBoxInterpolation, 0, wxALL | wxALIGN_CENTER); - + wxFlexGridSizer* pTextGridSizer = new wxFlexGridSizer (2); std::ostringstream os; os << iDefaultXSize; - m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); + m_pTextCtrlXSize = new wxTextCtrl (this, -1, os.str().c_str(), wxDefaultPosition, wxSize(100, 25), 0); pTextGridSizer->Add (new wxStaticText (this, -1, "X Size"), 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); pTextGridSizer->Add (m_pTextCtrlXSize, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); std::ostringstream osYSize; @@ -1578,9 +1578,9 @@ DialogGetConvertPolarParameters::DialogGetConvertPolarParameters (wxWindow* pPar pGridSizer->Add (pTextGridSizer, 0, wxALIGN_CENTER | wxALL); pTopSizer->Add (pGridSizer, 1, wxALL | wxALIGN_CENTER, 3); - + pTopSizer->Add (new wxStaticLine (this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), 0, wxEXPAND | wxALL, 5); - + wxBoxSizer* pButtonSizer = new wxBoxSizer (wxHORIZONTAL); wxButton* pButtonOk = new wxButton (this, wxID_OK, "Okay"); pButtonSizer->Add (pButtonOk, 0, wxEXPAND | wxALL, 10); @@ -1588,7 +1588,7 @@ DialogGetConvertPolarParameters::DialogGetConvertPolarParameters (wxWindow* pPar pButtonSizer->Add (pButtonCancel, 0, wxEXPAND | wxALL, 10); CTSimHelpButton* pButtonHelp = new CTSimHelpButton (this, iHelpID); pButtonSizer->Add (pButtonHelp, 0, wxEXPAND | wxALL, 10); - + pTopSizer->Add (pButtonSizer, 0, wxALIGN_CENTER); pButtonOk->SetDefault(); SetAutoLayout (true);