X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdlgprojections.cpp;h=690d003d0a3686b90879e45c09942f1b0dc01156;hb=c149735f56364c224ec6847d0f32ba06af86dc5b;hp=4f793342a37e3e2ad031cb284247a79242077dda;hpb=a05f3cb550877e94aa118cc04b361c0c8fdb3dc3;p=ctsim.git diff --git a/src/dlgprojections.cpp b/src/dlgprojections.cpp index 4f79334..690d003 100644 --- a/src/dlgprojections.cpp +++ b/src/dlgprojections.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: dlgprojections.cpp,v 1.2 2000/08/31 08:38:58 kevin Exp $ +** $Id: dlgprojections.cpp,v 1.4 2000/09/02 16:40:36 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 @@ -58,8 +58,8 @@ static const int LAYOUT_Y_MARGIN = 4; BEGIN_EVENT_TABLE(ProjectionsDialog, wxDialog) EVT_BUTTON(wxID_CANCEL, ProjectionsDialog::OnCancel) - EVT_BUTTON(ID_BTN_PAUSE, ProjectionsDialog::OnPause) - EVT_BUTTON(ID_BTN_STEP, ProjectionsDialog::OnStep) + EVT_BUTTON(ProjectionsDialog::ID_BTN_PAUSE, ProjectionsDialog::OnPause) + EVT_BUTTON(ProjectionsDialog::ID_BTN_STEP, ProjectionsDialog::OnStep) EVT_CLOSE(ProjectionsDialog::OnClose) EVT_PAINT(ProjectionsDialog::OnPaint) END_EVENT_TABLE() @@ -106,13 +106,13 @@ ProjectionsDialog::ProjectionsDialog (Scanner& rScanner, Projections& rProj, con SetAutoLayout(TRUE); Layout(); - wxSize sizeDlg (600,600); + wxSize sizeDlg (500,500); if (sizeDlg.x != sizeDlg.y) { sizeDlg.x = max(sizeDlg.x,sizeDlg.y); sizeDlg.y = max(sizeDlg.x,sizeDlg.y); } if (m_iTrace >= Trace::TRACE_PLOT) - sizeDlg.x += 200; + sizeDlg.x += 250; m_iClientX = sizeDlg.x; m_iClientY = sizeDlg.y; @@ -145,11 +145,13 @@ void ProjectionsDialog::showView (int iViewNumber) { if ( iViewNumber < m_rProjections.nView() ) { - wxYield(); // update the display + ::wxYield(); // update the display m_iLastView = iViewNumber; if (m_iTrace >= Trace::TRACE_PLOT) - m_pSGP->setViewport (0, 0, 0.75, 1); + m_pSGP->setViewport (0, 0, 0.66, 1); + ::wxYield(); // update the display m_rScanner.collectProjections (m_rProjections, m_rPhantom, iViewNumber, 1, true, m_iTrace, m_pSGP); + ::wxYield(); // update the display if (m_iTrace >= Trace::TRACE_PLOT) { const DetectorArray& detArray = m_rProjections.getDetectorArray (iViewNumber); const DetectorValue* detValues = detArray.detValues(); @@ -157,9 +159,9 @@ ProjectionsDialog::showView (int iViewNumber) for (int i = 0; i < detArray.nDet(); i++) detPos[i] = i; EZPlot ezplot (*m_pSGP); - ezplot.ezset("xporigin 0.75"); + ezplot.ezset("xporigin 0.66"); ezplot.ezset("yporigin 0.10"); - ezplot.ezset("xlength 0.25"); + ezplot.ezset("xlength 0.34"); ezplot.ezset("ylength 0.90"); ezplot.ezset("grid"); ezplot.ezset("box"); @@ -172,26 +174,28 @@ ProjectionsDialog::showView (int iViewNumber) bool ProjectionsDialog::projectView (int iViewNumber) { - showView (iViewNumber); - wxYield(); // update the display - if (m_iTrace >= Trace::TRACE_PLOT) + if (iViewNumber < m_rProjections.nView()) { + showView (iViewNumber); + wxYield(); // update the display + if (m_iTrace >= Trace::TRACE_PLOT) { sleep(1); - else { - m_state = Finished; // so that we return TRUE below and - // that [Cancel] handler knew what to do + } + } else { + m_state = Finished; // so that we return TRUE below and + // that [Cancel] handler knew what to do #if 0 - if ( m_btnAbort ) - m_btnAbort->SetLabel(_("Close")); // tell the user what he should do... - wxYield(); - - (void)ShowModal(); + if ( m_btnAbort ) + m_btnAbort->SetLabel(_("Close")); // tell the user what he should do... + wxYield(); + + (void)ShowModal(); #endif } #ifdef __WXMAC__ MacUpdateImmediately(); #endif - + return m_state != Cancelled; }