r633: no message
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 11 Mar 2001 18:52:03 +0000 (18:52 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 11 Mar 2001 18:52:03 +0000 (18:52 +0000)
libctgraphics/sgp.cpp
libctsim/ctndicom.cpp
libctsim/projections.cpp
msvc/ctsim/ctsim.plg
src/docs.cpp
src/docs.h
src/views.cpp

index ee325e1d0b314451a33491edcd963623d6c3cc6e..1a305901c530a773dfef48994971d91416a4e110 100644 (file)
@@ -7,7 +7,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: sgp.cpp,v 1.31 2001/03/11 15:27:30 kevin Exp $
+**  $Id: sgp.cpp,v 1.32 2001/03/11 18:52:03 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
@@ -784,7 +784,8 @@ SGP::drawArc (const double r, double start, double stop)
   double cosTheta = cos (thetaIncrement);
   double sinTheta = sin (thetaIncrement);
 
-  for (double angle = start; angle < stop; angle += thetaIncrement) {
+  double angle;
+  for (angle = start; angle < stop; angle += thetaIncrement) {
     double xp = cosTheta * x - sinTheta * y; // translate point by thetaIncrement
     double yp = sinTheta * x + cosTheta * y;
     lineAbs (xCent + xp, yCent + yp);
index f9a311bb2175364e1b9d752973192fc13885022d..d37f3cc398a6dcd40bb37799af6d809377de8659 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctndicom.cpp,v 1.9 2001/03/07 17:33:38 kevin Exp $
+**  $Id: ctndicom.cpp,v 1.10 2001/03/11 18:52:03 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
@@ -37,7 +37,7 @@
 
 
 DicomImporter::DicomImporter (const char* const pszFile)
-  : m_strFilename(pszFile), m_bFail(false), m_iContents(DICOM_CONTENTS_INVALID), 
+  : m_pFile(NULL), m_strFilename(pszFile), m_bFail(false), m_iContents(DICOM_CONTENTS_INVALID), 
   m_pImageFile(NULL), m_pProjections(NULL)
 {
   unsigned long lOptions = DCM_ORDERLITTLEENDIAN;
index 27d5b69ffa7516d5435ce0406068b61fd94bbeea..2d2592e62f8d9382d121d332c29b2cfaa9e42089 100644 (file)
@@ -8,7 +8,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: projections.cpp,v 1.60 2001/03/11 17:55:29 kevin Exp $
+**  $Id: projections.cpp,v 1.61 2001/03/11 18:52:03 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
@@ -705,10 +705,10 @@ Projections::convertPolar (ImageFile& rIF, int iInterpolationID)
   for (iView = 0; iView < m_nView; iView++) {
     ppcDetValue[iView] = new std::complex<double> [m_nDet];
     for (unsigned int iDet = 0; iDet < m_nDet; iDet++)
-      ppcDetValue[iView][iDet] = std::complex<double>(getDetectorArray (iView).detValues()[iDet], 0);
+      ppcDetValue[iView][iDet] = std::complex<double>(pProj->getDetectorArray (iView).detValues()[iDet], 0);
   }
 
-  pProj->interpolatePolar (v, vImag, nx, ny, ppcDetValue, ppdView, ppdDet, m_nView, m_nDet, iInterpolationID);
+  pProj->interpolatePolar (v, vImag, nx, ny, ppcDetValue, ppdView, ppdDet, pProj->m_nView, pProj->m_nDet, iInterpolationID);
 
   for (iView = 0; iView < m_nView; iView++)
     delete [] ppcDetValue[iView];
index 34c4d9df4a6f25fe9875c193207bc08e2b40ef54..82d8477150a0f761fe6e068246e4e6be6eb3929f 100644 (file)
@@ -3,16 +3,61 @@
 <pre>
 <h1>Build Log</h1>
 <h3>
---------------------Configuration: ctsim - Win32 Debug--------------------
+--------------------Configuration: libctsim - Win32 Debug--------------------
 </h3>
 <h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP4EA.tmp" with contents
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1A7C.tmp" with contents
+[
+/nologo /G6 /MTd /W3 /Gm /Gi /GR /GX /Zi /Od /Gy /I "..\..\..\wx2.2.5\src\png" /I "..\..\..\wx2.2.5\src\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2.2.5\include" /I "\dicom\ctn\include" /D "_DEBUG" /D "HAVE_WXWIN" /D "HAVE_STRING_H" /D "HAVE_GETOPT_H" /D "WIN32" /D "_MBCS" /D "_LIB" /D "MSVC" /D "HAVE_FFTW" /D "HAVE_PNG" /D "HAVE_SGP" /D "HAVE_WXWINDOWS" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "HAVE_CTN_DICOM" /D VERSION=\"3.1.0\" /FR"Debug/" /Fp"Debug/libctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c 
+"D:\ctsim\libctsim\ctndicom.cpp"
+]
+Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1A7C.tmp" 
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1A7D.tmp" with contents
 [
-/nologo /G6 /MTd /W3 /Gm /Gi /GR /GX /Zi /Od /Gy /I "\wx2.2.5\include" /I "..\..\..\fftw-2.1.3\fftw" /I "\wx2.2.5\src\png" /I "\wx2.2.5\src\zlib" /I "..\..\include" /I "..\..\getopt" /I "..\..\..\fftw-2.1.3\rfftw" /I "\dicom\ctn\include" /D VERSION=\"3.0.0beta1\" /D "_DEBUG" /D "__WXMSW__" /D "HAVE_SGP" /D "HAVE_PNG" /D "HAVE_WXWINDOWS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_STRING_H" /D "HAVE_FFTW" /D "HAVE_RFFTW" /D "HAVE_GETOPT_H" /D "MSVC" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D CTSIMVERSION=\"3.1.0\" /D "HAVE_CTN_DICOM" /D CTSIMVERSION=\"3.0.0alpha5\" /FR"Debug/" /Fp"Debug/ctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c 
-"C:\ctsim\src\views.cpp"
+/nologo /out:"Debug\libctsim.lib" 
+.\Debug\array2dfile.obj
+.\Debug\backprojectors.obj
+.\Debug\clip.obj
+.\Debug\consoleio.obj
+.\Debug\ctndicom.obj
+.\Debug\dlgezplot.obj
+.\Debug\ezplot.obj
+.\Debug\ezset.obj
+.\Debug\ezsupport.obj
+.\Debug\filter.obj
+.\Debug\fnetorderstream.obj
+.\Debug\fourier.obj
+.\Debug\getopt.obj
+.\Debug\getopt1.obj
+.\Debug\globalvars.obj
+.\Debug\hashtable.obj
+.\Debug\imagefile.obj
+.\Debug\interpolator.obj
+.\Debug\mathfuncs.obj
+.\Debug\phantom.obj
+.\Debug\plotfile.obj
+.\Debug\pol.obj
+.\Debug\procsignal.obj
+.\Debug\projections.obj
+.\Debug\reconstruct.obj
+.\Debug\scanner.obj
+.\Debug\sgp.obj
+.\Debug\strfuncs.obj
+.\Debug\syserror.obj
+.\Debug\trace.obj
+.\Debug\transformmatrix.obj
+.\Debug\xform.obj
 ]
-Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP4EA.tmp" 
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP4EB.tmp" with contents
+Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1A7D.tmp"
+<h3>Output Window</h3>
+Compiling...
+ctndicom.cpp
+Creating library...
+<h3>
+--------------------Configuration: ctsim - Win32 Debug--------------------
+</h3>
+<h3>Command Lines</h3>
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1A7E.tmp" with contents
 [
 winmm.lib rpcrt4.lib ws2_32.lib ../libctsim/Debug/libctsim.lib libcmtd.lib ..\..\..\fftw-2.1.3\Win32\FFTW2st\Debug\FFTW2st.lib ..\..\..\fftw-2.1.3\Win32\RFFTW2st\Debug\RFFTW2st.lib wxd.lib xpmd.lib tiffd.lib zlibd.lib pngd.lib comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib htmlhelp.lib ctn_lib.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/ctsim.pdb" /debug /machine:I386 /out:"Debug/ctsim.exe" /pdbtype:sept /libpath:"\wx2.2.5\lib" /libpath:"\dicom\ctn\winctn\ctn_lib\Debug" 
 .\Debug\backgroundmgr.obj
@@ -39,10 +84,8 @@ winmm.lib rpcrt4.lib ws2_32.lib ../libctsim/Debug/libctsim.lib libcmtd.lib ..\..
 \wx2.2.5\lib\zlibd.lib
 \wx2.2.5\lib\tiffd.lib
 ]
-Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP4EB.tmp"
+Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1A7E.tmp"
 <h3>Output Window</h3>
-Compiling...
-views.cpp
 Linking...
 
 
index aa70dbfb4bb72c563fd38cdb5019ff8e0f557857..fa46a9101415b1d5298727f6d27aa2ba3ae4f5a8 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: docs.cpp,v 1.34 2001/03/11 17:55:29 kevin Exp $
+**  $Id: docs.cpp,v 1.35 2001/03/11 18:52:03 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
@@ -104,14 +104,6 @@ ImageFileDocument::getView() const
   return dynamic_cast<ImageFileView*>(GetFirstView()); 
 }
 
-void
-ImageFileDocument::Activate()
-{
-#if CTSIM_MDI
-  getView()->getFrame()->Activate();
-#endif
-};
-
 bool
 ImageFileDocument::Revert ()
 {
@@ -133,6 +125,14 @@ ImageFileDocument::Revert ()
   return true;
 }
 
+void
+ImageFileDocument::Activate()
+{
+#if CTSIM_MDI
+  getView()->getFrame()->Activate();
+#endif
+};
+
 // BackgroundProcessingDocument - Base Class
 
 IMPLEMENT_DYNAMIC_CLASS(BackgroundProcessingDocument, wxDocument)
@@ -251,6 +251,14 @@ ProjectionFileDocument::getView() const
   return dynamic_cast<ProjectionFileView*>(GetFirstView()); 
 }
 
+void
+ProjectionFileDocument::Activate()
+{
+#if CTSIM_MDI
+  getView()->getFrame()->Activate();
+#endif
+};
+
 // PhantomFileDocument
 
 IMPLEMENT_DYNAMIC_CLASS(PhantomFileDocument, BackgroundProcessingTask)
@@ -323,6 +331,14 @@ PhantomFileDocument::getView() const
   return dynamic_cast<PhantomFileView*>(GetFirstView()); 
 }
 
+void
+PhantomFileDocument::Activate()
+{
+#if CTSIM_MDI
+  getView()->getFrame()->Activate();
+#endif
+};
+
 // PlotFileDocument
 
 IMPLEMENT_DYNAMIC_CLASS(PlotFileDocument, wxDocument)
@@ -383,6 +399,14 @@ PlotFileDocument::getView() const
   return dynamic_cast<PlotFileView*>(GetFirstView()); 
 }
 
+void
+PlotFileDocument::Activate()
+{
+#if CTSIM_MDI
+  getView()->getFrame()->Activate();
+#endif
+};
+
 //////////////////////////////////////////////////////////////////////////
 //
 // TextFileDocument
@@ -509,4 +533,13 @@ Graph3dFileDocument::createFromImageFile (const ImageFile& rImageFile)
   return true;
 }
 
+void
+Graph3dFileDocument::Activate()
+{
+#if CTSIM_MDI
+  getView()->getFrame()->Activate();
+#endif
+};
+
+
 #endif // wxUSE_GLCANVAS
index ab2902672079792c935c632980b6279f0f080101..e2c7d1f0accc1c729259adf20e38b947667d2d2d 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: docs.h,v 1.29 2001/03/11 17:55:29 kevin Exp $
+**  $Id: docs.h,v 1.30 2001/03/11 18:52:03 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
@@ -144,6 +144,7 @@ public:
     ProjectionFileView* getView() const;
     bool getBadFileOpen() const { return m_bBadFileOpen; }
     void setBadFileOpen() { m_bBadFileOpen = true; }
+    void Activate();
 };
 
 
@@ -178,6 +179,7 @@ public:
     PhantomFileView* getView() const;
     bool getBadFileOpen() const { return m_bBadFileOpen; }
     void setBadFileOpen() { m_bBadFileOpen = true; }
+    void Activate();
 };
 
 
@@ -213,6 +215,7 @@ public:
     PlotFileView* getView() const;
     bool getBadFileOpen() const { return m_bBadFileOpen; }
     void setBadFileOpen() { m_bBadFileOpen = true; }
+    void Activate();
 };
 
 
@@ -278,6 +281,7 @@ class Graph3dFileDocument: public wxDocument
   int ny() const { return m_ny; }
   ImageFileArray getArray() { return m_array; }
   ImageFileArrayConst getArray() const { return m_array; }
+  void Activate();
 };
 #endif // wxUSE_GLCANVAS
 
index 41e4367fe44b675239a522f329577619f8674e76..6b3553fd8166c495d3d65e5ee4e9e137a97d6b56 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.134 2001/03/11 17:55:29 kevin Exp $
+**  $Id: views.cpp,v 1.135 2001/03/11 18:52:03 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
@@ -653,6 +653,7 @@ ImageFileView::OnFFT (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -666,6 +667,7 @@ ImageFileView::OnIFFT (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -679,6 +681,7 @@ ImageFileView::OnFFTRows (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -692,6 +695,7 @@ ImageFileView::OnIFFTRows (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -705,6 +709,7 @@ ImageFileView::OnFFTCols (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -718,6 +723,7 @@ ImageFileView::OnIFFTCols (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 #endif
 
@@ -733,6 +739,7 @@ ImageFileView::OnFourier (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -747,6 +754,7 @@ ImageFileView::OnInverseFourier (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -760,6 +768,7 @@ ImageFileView::OnShuffleNaturalToFourierOrder (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -773,6 +782,7 @@ ImageFileView::OnShuffleFourierToNaturalOrder (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     GetDocument()->Modify (true);
   GetDocument()->UpdateAllViews (this);
+  GetDocument()->Activate();
 }
 
 void
@@ -788,6 +798,7 @@ ImageFileView::OnMagnitude (wxCommandEvent& event)
       GetDocument()->Modify (true);
     GetDocument()->UpdateAllViews (this);
   }
+  GetDocument()->Activate();
 }
 
 void
@@ -803,6 +814,7 @@ ImageFileView::OnPhase (wxCommandEvent& event)
       GetDocument()->Modify (true);
     GetDocument()->UpdateAllViews (this);
   }
+  GetDocument()->Activate();
 }
 
 
@@ -1233,8 +1245,8 @@ ImageFileView::OnScaleSize (wxCommandEvent& event)
     if (theApp->getAskDeleteNewDocs())
       pScaledDoc->Modify (true);
     pScaledDoc->UpdateAllViews (this);
-    pScaledDoc->getView()->OnUpdate (this, NULL);
     pScaledDoc->getView()->getFrame()->Show(true);
+       pScaledDoc->Activate();
   }
 }
 
@@ -1253,6 +1265,7 @@ ImageFileView::OnConvert3d (wxCommandEvent& event)
   GetDocumentManager()->ActivateView (pGraph3d->getView(), true, false);
   ::wxYield();
   pGraph3d->getView()->getCanvas()->SetFocus();
+  pGraph3d->Activate();
 }
 #endif
 
@@ -1336,9 +1349,9 @@ ImageFileView::OnPlotRow (wxCommandEvent& event)
     }
     if (theApp->getAskDeleteNewDocs())
       pPlotDoc->Modify (true);
-    pPlotDoc->UpdateAllViews ();
-    pPlotDoc->getView()->OnUpdate (this, NULL);
     pPlotDoc->getView()->getFrame()->Show(true);
+    pPlotDoc->UpdateAllViews ();
+       pPlotDoc->Activate();
   }
 }
 
@@ -1422,9 +1435,9 @@ ImageFileView::OnPlotCol (wxCommandEvent& event)
     }
     if (theApp->getAskDeleteNewDocs())
       pPlotDoc->Modify (true);
-    pPlotDoc->UpdateAllViews ();
-    pPlotDoc->getView()->OnUpdate (this, NULL);
     pPlotDoc->getView()->getFrame()->Show(true);
+    pPlotDoc->UpdateAllViews ();
+       pPlotDoc->Activate();
   }
 }
 
@@ -1517,9 +1530,9 @@ ImageFileView::OnPlotFFTRow (wxCommandEvent& event)
     
     if (theApp->getAskDeleteNewDocs())
       pPlotDoc->Modify (true);
-    pPlotDoc->UpdateAllViews ();
-    pPlotDoc->getView()->OnUpdate (this, NULL);
     pPlotDoc->getView()->getFrame()->Show(true);
+    pPlotDoc->UpdateAllViews ();
+       pPlotDoc->Activate();
   }
 }
 
@@ -1618,9 +1631,9 @@ ImageFileView::OnPlotFFTCol (wxCommandEvent& event)
     
     if (theApp->getAskDeleteNewDocs())
       pPlotDoc->Modify (true);
-    pPlotDoc->UpdateAllViews ();
-    pPlotDoc->getView()->OnUpdate (this, NULL);
     pPlotDoc->getView()->getFrame()->Show(true);
+    pPlotDoc->UpdateAllViews ();
+       pPlotDoc->Activate();
   }
 }
 #endif
@@ -1709,9 +1722,9 @@ ImageFileView::OnCompareCol (wxCommandEvent& event)
       delete pY2;
       if (theApp->getAskDeleteNewDocs())
         pPlotDoc->Modify (true);
-      pPlotDoc->UpdateAllViews ();
-      pPlotDoc->getView()->OnUpdate (this, NULL);
       pPlotDoc->getView()->getFrame()->Show(true);
+      pPlotDoc->UpdateAllViews ();
+      pPlotDoc->Activate();
     }
   }
 }
@@ -1801,9 +1814,9 @@ ImageFileView::OnCompareRow (wxCommandEvent& event)
       delete pY2;
       if (theApp->getAskDeleteNewDocs())
         pPlotDoc->Modify (true);
-      pPlotDoc->UpdateAllViews ();
-      pPlotDoc->getView()->OnUpdate (this, NULL);
       pPlotDoc->getView()->getFrame()->Show(true);
+      pPlotDoc->UpdateAllViews ();
+      pPlotDoc->Activate();
     }
   }
 }
@@ -1868,9 +1881,9 @@ ImageFileView::OnPlotHistogram (wxCommandEvent& event)
       delete pY;
       if (theApp->getAskDeleteNewDocs())
         pPlotDoc->Modify (true);
-      pPlotDoc->UpdateAllViews ();
-      pPlotDoc->getView()->OnUpdate (this, NULL);
       pPlotDoc->getView()->getFrame()->Show(true);
+      pPlotDoc->UpdateAllViews ();
+      pPlotDoc->Activate();
   }
 }
 
@@ -1972,6 +1985,7 @@ PhantomFileView::OnProperties (wxCommandEvent& event)
 #endif
   *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<\n";
   wxMessageBox (os.str().c_str(), "Phantom Properties");
+  GetDocument()->Activate();
 }
 
 
@@ -2097,6 +2111,7 @@ PhantomFileView::OnProjections (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     pProjectionDoc-> Modify(true);
   pProjectionDoc->UpdateAllViews (this);
+  pProjectionDoc->Activate();
 }
 
 
@@ -2168,6 +2183,7 @@ PhantomFileView::OnRasterize (wxCommandEvent& event)
       rasterView->getFrame()->SetFocus();
       rasterView->OnUpdate (rasterView, NULL);
     }
+       pRasterDoc->Activate();
   }
 }
 
@@ -2419,6 +2435,7 @@ ProjectionFileView::OnProperties (wxCommandEvent& event)
   *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<\n";
   wxMessageDialog dialogMsg (getFrameForChild(), os.str().c_str(), "Projection File Properties", wxOK | wxICON_INFORMATION);
   dialogMsg.ShowModal();
+  GetDocument()->Activate();
 }
 
 
@@ -2458,9 +2475,9 @@ ProjectionFileView::OnConvertPolar (wxCommandEvent& event)
     pIF->labelAdd (os.str().c_str());
     if (theApp->getAskDeleteNewDocs())
       pPolarDoc->Modify (true);
-    pPolarDoc->UpdateAllViews ();
-    pPolarDoc->getView()->OnUpdate (this, NULL);
     pPolarDoc->getView()->getFrame()->Show(true);
+    pPolarDoc->UpdateAllViews ();
+       pPolarDoc->Activate();
   }
 }
 
@@ -2499,9 +2516,9 @@ ProjectionFileView::OnConvertFFTPolar (wxCommandEvent& event)
     pIF->labelAdd (os.str().c_str());
     if (theApp->getAskDeleteNewDocs())
       pPolarDoc->Modify (true);
-    pPolarDoc->UpdateAllViews ();
-    pPolarDoc->getView()->OnUpdate (this, NULL);
     pPolarDoc->getView()->getFrame()->Show(true);
+    pPolarDoc->UpdateAllViews ();
+       pPolarDoc->Activate();
   }
 }
 
@@ -2536,9 +2553,9 @@ ProjectionFileView::OnPlotTThetaSampling (wxCommandEvent& event)
     delete pdTheta;
     if (theApp->getAskDeleteNewDocs())
       pPlotDoc->Modify (true);
-    pPlotDoc->UpdateAllViews ();
-    pPlotDoc->getView()->OnUpdate (this, NULL);
     pPlotDoc->getView()->getFrame()->Show(true);
+    pPlotDoc->UpdateAllViews ();
+       pPlotDoc->Activate();
     return;
 }
 
@@ -2569,6 +2586,7 @@ ProjectionFileView::OnConvertParallel (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     pProjDocNew-> Modify(true);
   pProjDocNew->UpdateAllViews (this);
+  pProjDocNew->Activate();
 }
 
 void
@@ -2690,6 +2708,7 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event)
   if (theApp->getAskDeleteNewDocs())
     pReconDoc->Modify (true);
   pReconDoc->UpdateAllViews (this);
+  pReconDoc->Activate();
   if (ImageFileView* rasterView = pReconDoc->getView()) {
     rasterView->OnUpdate (rasterView, NULL);
     rasterView->getFrame()->SetFocus();
@@ -2986,6 +3005,7 @@ PlotFileView::OnProperties (wxCommandEvent& event)
   *theApp->getLog() << ">>>>\n" << os.str().c_str() << "<<<<<\n";
   wxMessageDialog dialogMsg (getFrameForChild(), os.str().c_str(), "Plot File Properties", wxOK | wxICON_INFORMATION);
   dialogMsg.ShowModal();
+  GetDocument()->Activate();
 }
 
 
@@ -3008,6 +3028,7 @@ PlotFileView::OnScaleAuto (wxCommandEvent& event)
       OnUpdate (this, NULL);
     }
   }
+  GetDocument()->Activate();
 }
 
 void 
@@ -3038,6 +3059,7 @@ PlotFileView::OnScaleMinMax (wxCommandEvent& event)
     m_dMaxPixel = dialogMinMax.getMaximum();
     OnUpdate (this, NULL);
   }
+  GetDocument()->Activate();
 }
 
 void 
@@ -3048,6 +3070,7 @@ PlotFileView::OnScaleFull (wxCommandEvent& event)
     m_bMaxSpecified = false;
     OnUpdate (this, NULL);
   }
+  GetDocument()->Activate();
 }