r318: *** empty log message ***
[ctsim.git] / src / dlgprojections.cpp
index cc5b246f85c2e39972518b8f0e626b190c9cfc54..489d912b99097fb16eaddef99bac7057f52b3dfb 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: dlgprojections.cpp,v 1.10 2000/12/18 05:40:30 kevin Exp $
+**  $Id: dlgprojections.cpp,v 1.14 2000/12/29 15:45:06 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
@@ -147,8 +147,10 @@ ProjectionsDialog::showView (int iViewNumber)
     if ( iViewNumber < m_rProjections.nView() ) {
                m_iLastView = iViewNumber;\r
                ::wxYield();        // update the display\r
-               m_pSGP->eraseWindow();\r
-               Refresh();\r
+               m_pSGP->eraseWindow();
+               m_btnPause->Refresh();
+               m_btnStep->Refresh();
+               m_btnAbort->Refresh();
 
                if (m_iTrace >= Trace::TRACE_PLOT)
                        m_pSGP->setViewport (0, 0, 0.66, 1);
@@ -161,12 +163,13 @@ ProjectionsDialog::showView (int iViewNumber)
                        double* detPos = new double [detArray.nDet()];
                        for (int i = 0; i < detArray.nDet(); i++)
                                detPos[i] = i;
-                       EZPlot ezplot (*m_pSGP);
-                       ezplot.ezset("grid");
-                       ezplot.ezset("box");
+                       EZPlot ezplot;
+                       ezplot.ezset ("grid");
+                       ezplot.ezset ("box");\r
+                       ezplot.ezset ("yticks left");
                        ezplot.addCurve (detValues, detPos, detArray.nDet());\r
                        m_pSGP->setViewport (0.67, 0.1, 1., 1.);
-                       ezplot.plot();\r
+                       ezplot.plot (m_pSGP);\r
                        delete detPos;
                }
     }
@@ -221,8 +224,6 @@ void
 ProjectionsDialog::OnPause (wxCommandEvent& event)
 {
        if ( m_state == Finished ) {
-               // this means that the count down is already finished and we're being
-               // shown as a modal dialog - so just let the default handler do the job
                event.Skip();
        } else if (m_state == Continue) {
                m_memoryDC.SelectObject (m_bitmap);       // in memoryDC
@@ -231,9 +232,9 @@ ProjectionsDialog::OnPause (wxCommandEvent& event)
                showView (m_iLastView);
                m_state = Paused;
                m_btnPause->SetLabel (wxString("Resume"));
-       } else if (m_state == Paused) {
                m_pSGP->setDC (m_pDC);\r
                m_memoryDC.SelectObject(wxNullBitmap);\r
+       } else if (m_state == Paused) {
                m_state = Continue;
                m_btnPause->SetLabel (wxString("Pause"));
        }
@@ -243,20 +244,26 @@ void
 ProjectionsDialog::OnStep (wxCommandEvent& event)
 {
        if ( m_state == Finished ) {
-               // this means that the count down is already finished and we're being
-               // shown as a modal dialog - so just let the default handler do the job
                event.Skip();
        } else if (m_state == Continue) {
                m_memoryDC.SelectObject (m_bitmap);       // in memoryDC
                m_pSGP->setDC (&m_memoryDC);
-               m_memoryDC.SetFont (*wxSWISS_FONT);
-               m_rScanner.collectProjections (m_rProjections, m_rPhantom, m_iLastView, 1, true, m_iTrace, m_pSGP);
+               m_memoryDC.SetFont (*wxSWISS_FONT);\r
+               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"));
-       } else if (m_state == Paused) {
                m_pSGP->setDC (m_pDC);\r
                m_memoryDC.SelectObject(wxNullBitmap);\r
+               Refresh();\r
+       } else if (m_state == Paused) {
+               m_memoryDC.SelectObject (m_bitmap);       // in memoryDC\r
+               m_pSGP->setDC (&m_memoryDC);\r
+               m_memoryDC.SetFont (*wxSWISS_FONT);\r
                projectView (m_iLastView + 1);
+               m_pSGP->setDC (m_pDC);\r
+               m_memoryDC.SelectObject(wxNullBitmap);\r
+               Refresh();\r
        }
 }
 
@@ -275,7 +282,7 @@ ProjectionsDialog::OnPaint (wxPaintEvent& event)
 {
        wxPaintDC paintDC (this);\r
        if (m_state == Paused) {
-               paintDC.DrawBitmap(m_bitmap, 0, 0, false);
+               paintDC.DrawBitmap (m_bitmap, 0, 0, false);
        }
 }