X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fdlgprojections.cpp;h=9921cbe1804bd380cd831aab0f23341e292e8992;hp=f630b62d5beb1ce5e26d7c69d8fa1b6c8b3ec620;hb=f7ee98f7d964ed361068179f0e7ea4475ed1abdf;hpb=58319f51aa5804c90fe5edd8e5f0386b7a297827 diff --git a/src/dlgprojections.cpp b/src/dlgprojections.cpp index f630b62..9921cbe 100644 --- a/src/dlgprojections.cpp +++ b/src/dlgprojections.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** - ** $Id: dlgprojections.cpp,v 1.27 2003/01/23 23:35:58 kevin Exp $ + ** $Id$ ** ** 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 @@ -59,7 +59,7 @@ BEGIN_EVENT_TABLE(ProjectionsDialog, wxDialog) ProjectionsDialog::ProjectionsDialog (Scanner& rScanner, Projections& rProj, const Phantom& rPhantom, const int iTrace, wxWindow *parent) - : wxDialog(parent, -1, "Collect Projections", wxDefaultPosition), m_rScanner(rScanner), m_rProjections(rProj), m_rPhantom(rPhantom), +: wxDialog(parent, -1, _T("Collect Projections"), wxDefaultPosition), m_rScanner(rScanner), m_rProjections(rProj), m_rPhantom(rPhantom), m_pSGPDriver(NULL), m_pSGP(NULL), m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0) { m_state = Continue; @@ -67,37 +67,37 @@ BEGIN_EVENT_TABLE(ProjectionsDialog, wxDialog) m_parentTop = parent; while ( m_parentTop && m_parentTop->GetParent() ) m_parentTop = m_parentTop->GetParent(); - + m_btnAbort = new wxButton(this, wxID_CANCEL, _("Cancel")); wxLayoutConstraints* c = new wxLayoutConstraints; c->right.SameAs(this, wxRight, 2*LAYOUT_X_MARGIN); c->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN); - + wxSize sizeBtn = wxButton::GetDefaultSize(); c->width.Absolute(sizeBtn.x); c->height.Absolute(sizeBtn.y); - + m_btnAbort->SetConstraints(c); - - m_btnPause = new wxButton (this, ID_BTN_PAUSE, wxString("Pause")); + + m_btnPause = new wxButton (this, ID_BTN_PAUSE, _T("Pause")); wxLayoutConstraints* cPause = new wxLayoutConstraints; cPause->right.SameAs(this, wxRight, 3*LAYOUT_X_MARGIN + sizeBtn.x); cPause->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN); cPause->width.Absolute(sizeBtn.x); cPause->height.Absolute(sizeBtn.y); m_btnPause->SetConstraints(cPause); - - m_btnStep = new wxButton (this, ID_BTN_STEP, wxString("Step")); + + m_btnStep = new wxButton (this, ID_BTN_STEP, _T("Step")); wxLayoutConstraints* cStep = new wxLayoutConstraints; cStep->right.SameAs(this, wxRight, 5*LAYOUT_X_MARGIN + sizeBtn.x * 2); cStep->bottom.SameAs(this, wxBottom, 2*LAYOUT_Y_MARGIN); cStep->width.Absolute(sizeBtn.x); cStep->height.Absolute(sizeBtn.y); m_btnStep->SetConstraints(cStep); - + SetAutoLayout(TRUE); Layout(); - + wxSize sizeDlg (500,500); if (sizeDlg.x != sizeDlg.y) { sizeDlg.x = imax(sizeDlg.x,sizeDlg.y); @@ -105,28 +105,28 @@ BEGIN_EVENT_TABLE(ProjectionsDialog, wxDialog) } if (m_iTrace >= Trace::TRACE_PLOT) sizeDlg.x += 250; - + m_iClientX = sizeDlg.x; m_iClientY = sizeDlg.y; SetClientSize(sizeDlg); - + Centre(wxCENTER_FRAME | wxBOTH); - + if ( m_parentTop ) m_parentTop->Enable(FALSE); - + Show(TRUE); Enable(TRUE); // enable this window - + m_bitmap.Create (m_iClientX, m_iClientY); // save a copy of screen m_pDC = dynamic_cast (new wxClientDC (this)); int x, y; this->GetClientSize(&x, &y); m_pSGPDriver = new SGPDriver (m_pDC, x, y); m_pSGP = new SGP (*m_pSGPDriver); - + wxYield(); // Update the display - + m_pSGP->setTextPointSize(10); #ifdef __WXMAC__ MacUpdateImmediately(); @@ -154,7 +154,7 @@ ProjectionsDialog::showView (int iViewNumber) const DetectorValue* detValues = detArray.detValues(); double* detPos = new double [detArray.nDet()]; for (int i = 0; i < detArray.nDet(); i++) - detPos[i] = i; + detPos[i] = i; EZPlot ezplot; ezplot.ezset ("grid"); ezplot.ezset ("box"); @@ -182,22 +182,22 @@ ProjectionsDialog::projectView (int iViewNumber) { if (iViewNumber <= m_iLastView) // already done this view return true; - + if (iViewNumber < m_rProjections.nView()) { showView (iViewNumber); wxYield(); // update the display if (m_iTrace >= Trace::TRACE_PLOT) { - ::wxUsleep(500); + ::wxMilliSleep(500); } } else { - m_state = Finished; // so that we return TRUE below and + m_state = Finished; // so that we return TRUE below and // that [Cancel] handler knew what to do } - + #ifdef __WXMAC__ MacUpdateImmediately(); #endif - + return m_state != Cancelled; } @@ -214,7 +214,7 @@ void ProjectionsDialog::OnCancel (wxCommandEvent& event) // request to cancel was received, the next time Update() is called we // will handle it m_state = Cancelled; - + // update the button state immediately so that the user knows that the // request has been noticed m_btnAbort->Disable(); @@ -222,7 +222,7 @@ void ProjectionsDialog::OnCancel (wxCommandEvent& event) } -void +void ProjectionsDialog::OnPause (wxCommandEvent& event) { if ( m_state == Finished ) { @@ -232,16 +232,16 @@ ProjectionsDialog::OnPause (wxCommandEvent& event) m_pSGP->setDC (&m_memoryDC); showView (m_iLastView); m_state = Paused; - m_btnPause->SetLabel (wxString("Resume")); + m_btnPause->SetLabel (_T("Resume")); m_pSGP->setDC (m_pDC); m_memoryDC.SelectObject(wxNullBitmap); } else if (m_state == Paused) { m_state = Continue; - m_btnPause->SetLabel (wxString("Pause")); + m_btnPause->SetLabel (_T("Pause")); } } -void +void ProjectionsDialog::OnStep (wxCommandEvent& event) { if ( m_state == Finished ) { @@ -252,7 +252,7 @@ ProjectionsDialog::OnStep (wxCommandEvent& event) showView (m_iLastView); // m_rScanner.collectProjections (m_rProjections, m_rPhantom, m_iLastView, 1, true, m_iTrace, m_pSGP); m_state = Paused; - m_btnPause->SetLabel (wxString("Resume")); + m_btnPause->SetLabel (_T("Resume")); m_pSGP->setDC (m_pDC); m_memoryDC.SelectObject(wxNullBitmap); Refresh(); @@ -293,7 +293,7 @@ ProjectionsDialog::~ProjectionsDialog() { if ( m_parentTop ) m_parentTop->Enable(TRUE); - + delete m_pSGP; delete m_pSGPDriver; delete m_pDC;