X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fviews.cpp;h=a2a30f40abd2590dd9fe78b0c5cee84b025a25c2;hb=593439890a507e49b5a2a6fa4d463adca61d42c3;hp=a72ace4a3432104c64fdcbeecc31f8e2c17ccedd;hpb=5f4aaf9a5ecff050f19a405bd274353a1b935163;p=ctsim.git diff --git a/src/views.cpp b/src/views.cpp index a72ace4..a2a30f4 100644 --- a/src/views.cpp +++ b/src/views.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: views.cpp,v 1.87 2001/01/28 22:45:54 kevin Exp $ +** $Id: views.cpp,v 1.88 2001/01/29 23:11:32 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 @@ -387,8 +387,7 @@ ImageFileView::OnCompare (wxCommandEvent& event) << " and " << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str() << ": " << os.str().c_str(); differenceImage.labelAdd (os.str().c_str()); - if (theApp->getSetModifyNewDocs()) - pDifferenceDoc->Modify (true); + pDifferenceDoc->Modify (true); pDifferenceDoc->UpdateAllViews (this); pDifferenceDoc->getView()->OnUpdate (this, NULL); pDifferenceDoc->getView()->getFrame()->Show(true); @@ -404,8 +403,7 @@ ImageFileView::OnInvertValues (wxCommandEvent& event) ImageFile& rIF = GetDocument()->getImageFile(); rIF.invertPixelValues (rIF); rIF.labelAdd ("Invert Pixel Values"); - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -415,8 +413,7 @@ ImageFileView::OnSquare (wxCommandEvent& event) ImageFile& rIF = GetDocument()->getImageFile(); rIF.square (rIF); rIF.labelAdd ("Square Pixel Values"); - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -426,8 +423,7 @@ ImageFileView::OnSquareRoot (wxCommandEvent& event) ImageFile& rIF = GetDocument()->getImageFile(); rIF.sqrt (rIF); rIF.labelAdd ("Square-root Pixel Values"); - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -437,8 +433,7 @@ ImageFileView::OnLog (wxCommandEvent& event) ImageFile& rIF = GetDocument()->getImageFile(); rIF.log (rIF); rIF.labelAdd ("Logrithm base-e Pixel Values"); - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -448,8 +443,7 @@ ImageFileView::OnExp (wxCommandEvent& event) ImageFile& rIF = GetDocument()->getImageFile(); rIF.exp (rIF); rIF.labelAdd ("Exponent base-e Pixel Values"); - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -485,8 +479,7 @@ ImageFileView::OnAdd (wxCommandEvent& event) newImage.labelsCopy (rRHSIF, s.c_str()); newImage.labelAdd (os.str().c_str()); *theApp->getLog() << os.str().c_str() << "\n"; - if (theApp->getSetModifyNewDocs()) - pNewDoc->Modify(TRUE); + pNewDoc->Modify (true); pNewDoc->UpdateAllViews (this); pNewDoc->getView()->OnUpdate (this, NULL); pNewDoc->getView()->getFrame()->Show(true); @@ -526,8 +519,7 @@ ImageFileView::OnSubtract (wxCommandEvent& event) newImage.labelsCopy (rRHSIF, s.c_str()); newImage.labelAdd (os.str().c_str()); *theApp->getLog() << os.str().c_str() << "\n"; - if (theApp->getSetModifyNewDocs()) - pNewDoc->Modify(TRUE); + pNewDoc->Modify (true); pNewDoc->UpdateAllViews (this); pNewDoc->getView()->OnUpdate (this, NULL); pNewDoc->getView()->getFrame()->Show(true); @@ -567,8 +559,7 @@ ImageFileView::OnMultiply (wxCommandEvent& event) newImage.labelsCopy (rRHSIF, s.c_str()); newImage.labelAdd (os.str().c_str()); *theApp->getLog() << os.str().c_str() << "\n"; - if (theApp->getSetModifyNewDocs()) - pNewDoc->Modify(TRUE); + pNewDoc->Modify (true); pNewDoc->UpdateAllViews (this); pNewDoc->getView()->OnUpdate (this, NULL); pNewDoc->getView()->getFrame()->Show(true); @@ -608,8 +599,7 @@ ImageFileView::OnDivide (wxCommandEvent& event) newImage.labelsCopy (rRHSIF, s.c_str()); newImage.labelAdd (os.str().c_str()); *theApp->getLog() << os.str().c_str() << "\n"; - if (theApp->getSetModifyNewDocs()) - pNewDoc->Modify(TRUE); + pNewDoc->Modify (true); pNewDoc->UpdateAllViews (this); pNewDoc->getView()->OnUpdate (this, NULL); pNewDoc->getView()->getFrame()->Show(true); @@ -627,8 +617,7 @@ ImageFileView::OnFFT (wxCommandEvent& event) rIF.labelAdd ("FFT Image"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -640,8 +629,7 @@ ImageFileView::OnIFFT (wxCommandEvent& event) rIF.labelAdd ("IFFT Image"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -653,8 +641,7 @@ ImageFileView::OnFFTRows (wxCommandEvent& event) rIF.labelAdd ("FFT Rows"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -666,8 +653,7 @@ ImageFileView::OnIFFTRows (wxCommandEvent& event) rIF.labelAdd ("IFFT Rows"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -679,8 +665,7 @@ ImageFileView::OnFFTCols (wxCommandEvent& event) rIF.labelAdd ("FFT Columns"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -692,8 +677,7 @@ ImageFileView::OnIFFTCols (wxCommandEvent& event) rIF.labelAdd ("IFFT Columns"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } #endif @@ -707,8 +691,7 @@ ImageFileView::OnFourier (wxCommandEvent& event) rIF.labelAdd ("Fourier Image"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -721,8 +704,7 @@ ImageFileView::OnInverseFourier (wxCommandEvent& event) rIF.labelAdd ("Inverse Fourier Image"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -734,8 +716,7 @@ ImageFileView::OnShuffleNaturalToFourierOrder (wxCommandEvent& event) rIF.labelAdd ("Shuffle Natural To Fourier Order"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -747,8 +728,7 @@ ImageFileView::OnShuffleFourierToNaturalOrder (wxCommandEvent& event) rIF.labelAdd ("Shuffle Fourier To Natural Order"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } @@ -761,8 +741,7 @@ ImageFileView::OnMagnitude (wxCommandEvent& event) rIF.labelAdd ("Magnitude of complex-image"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } } @@ -776,8 +755,7 @@ ImageFileView::OnPhase (wxCommandEvent& event) rIF.labelAdd ("Phase of complex-image"); m_bMinSpecified = false; m_bMaxSpecified = false; - if (theApp->getSetModifyNewDocs()) - GetDocument()->Modify(TRUE); + GetDocument()->Modify (true); GetDocument()->UpdateAllViews (this); } } @@ -1017,15 +995,16 @@ ImageFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) ) bool ImageFileView::OnClose (bool deleteWindow) { + GetDocumentManager()->ActivateView (this, false, true); if (! GetDocument() || ! GetDocument()->Close()) return false; if (m_pCanvas) { - m_pCanvas->Show(false); + //m_pCanvas->Show(false); m_pCanvas->setView(NULL); m_pCanvas = NULL; } - m_pFrame->Show(false); + //m_pFrame->Show(false); wxString s(theApp->GetAppName()); if (m_pFrame) m_pFrame->SetTitle(s); @@ -1034,9 +1013,11 @@ ImageFileView::OnClose (bool deleteWindow) Activate(false); if (deleteWindow) { + //delete m_pFrame; m_pFrame->Destroy(); m_pFrame = NULL; } + return true; } @@ -1109,8 +1090,7 @@ ImageFileView::OnScaleSize (wxCommandEvent& event) rScaledIF.labelAdd (os.str().c_str()); rIF.scaleImage (rScaledIF); *theApp->getLog() << os.str().c_str() << "\n"; - if (theApp->getSetModifyNewDocs()) - pScaledDoc->Modify(TRUE); + pScaledDoc->Modify (true); pScaledDoc->UpdateAllViews (this); pScaledDoc->getView()->OnUpdate (this, NULL); pScaledDoc->getView()->getFrame()->Show(true); @@ -1195,8 +1175,7 @@ ImageFileView::OnPlotRow (wxCommandEvent& event) delete pYImag; delete pYMag; } - if (theApp->getSetModifyNewDocs()) - pPlotDoc->Modify(true); + pPlotDoc->Modify (true); pPlotDoc->UpdateAllViews (); pPlotDoc->getView()->OnUpdate (this, NULL); pPlotDoc->getView()->getFrame()->Show(true); @@ -1281,8 +1260,7 @@ ImageFileView::OnPlotCol (wxCommandEvent& event) delete pYImag; delete pYMag; } - if (theApp->getSetModifyNewDocs()) - pPlotDoc->Modify(true); + pPlotDoc->Modify (true); pPlotDoc->UpdateAllViews (); pPlotDoc->getView()->OnUpdate (this, NULL); pPlotDoc->getView()->getFrame()->Show(true); @@ -1376,8 +1354,7 @@ ImageFileView::OnPlotFFTRow (wxCommandEvent& event) delete pYMag; delete [] pcIn; - if (theApp->getSetModifyNewDocs()) - pPlotDoc->Modify(true); + pPlotDoc->Modify (true); pPlotDoc->UpdateAllViews (); pPlotDoc->getView()->OnUpdate (this, NULL); pPlotDoc->getView()->getFrame()->Show(true); @@ -1477,8 +1454,7 @@ ImageFileView::OnPlotFFTCol (wxCommandEvent& event) delete pdTemp; delete [] pcIn; - if (theApp->getSetModifyNewDocs()) - pPlotDoc->Modify(true); + pPlotDoc->Modify (true); pPlotDoc->UpdateAllViews (); pPlotDoc->getView()->OnUpdate (this, NULL); pPlotDoc->getView()->getFrame()->Show(true); @@ -1568,8 +1544,7 @@ ImageFileView::OnCompareCol (wxCommandEvent& event) delete pX; delete pY1; delete pY2; - if (theApp->getSetModifyNewDocs()) - pPlotDoc->Modify(true); + pPlotDoc->Modify (true); pPlotDoc->UpdateAllViews (); pPlotDoc->getView()->OnUpdate (this, NULL); pPlotDoc->getView()->getFrame()->Show(true); @@ -1660,8 +1635,7 @@ ImageFileView::OnCompareRow (wxCommandEvent& event) delete pX; delete pY1; delete pY2; - if (theApp->getSetModifyNewDocs()) - pPlotDoc->Modify(true); + pPlotDoc->Modify (true); pPlotDoc->UpdateAllViews (); pPlotDoc->getView()->OnUpdate (this, NULL); pPlotDoc->getView()->getFrame()->Show(true); @@ -1727,8 +1701,7 @@ ImageFileView::OnPlotHistogram (wxCommandEvent& event) rPlotFile.addDescription (os.str().c_str()); delete pX; delete pY; - if (theApp->getSetModifyNewDocs()) - pPlotDoc->Modify(true); + pPlotDoc->Modify (true); pPlotDoc->UpdateAllViews (); pPlotDoc->getView()->OnUpdate (this, NULL); pPlotDoc->getView()->getFrame()->Show(true); @@ -1908,8 +1881,7 @@ PhantomFileView::OnProjections (wxCommandEvent& event) GetDocumentManager()->ActivateView (projView, true, false); } ::wxYield(); - if (theApp->getSetModifyNewDocs()) - pProjectionDoc->Modify(true); + pProjectionDoc-> Modify(true); pProjectionDoc->UpdateAllViews (this); } } @@ -1951,8 +1923,7 @@ PhantomFileView::OnRasterize (wxCommandEvent& event) return; } } - if (theApp->getSetModifyNewDocs()) - pRasterDoc->Modify(true); + pRasterDoc->Modify (true); pRasterDoc->UpdateAllViews (this); pRasterDoc->getView()->getFrame()->Show(true); std::ostringstream os; @@ -2089,6 +2060,7 @@ PhantomFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) ) bool PhantomFileView::OnClose (bool deleteWindow) { + GetDocumentManager()->ActivateView (this, false, true); if (! GetDocument() || ! GetDocument()->Close()) return false; @@ -2106,9 +2078,11 @@ PhantomFileView::OnClose (bool deleteWindow) Activate(false); if (deleteWindow) { + //delete m_pFrame; m_pFrame->Destroy(); m_pFrame = NULL; } +// ::wxYield(); return true; } @@ -2245,8 +2219,7 @@ ProjectionFileView::OnConvertPolar (wxCommandEvent& event) << strInterpolation.c_str(); *theApp->getLog() << os.str().c_str() << "\n"; rIF.labelAdd (os.str().c_str()); - if (theApp->getSetModifyNewDocs()) - pPolarDoc->Modify(true); + pPolarDoc->Modify (true); pPolarDoc->UpdateAllViews (); pPolarDoc->getView()->OnUpdate (this, NULL); pPolarDoc->getView()->getFrame()->Show(true); @@ -2280,8 +2253,7 @@ ProjectionFileView::OnConvertFFTPolar (wxCommandEvent& event) << strInterpolation.c_str() << ", zeropad=" << m_iDefaultPolarZeropad; *theApp->getLog() << os.str().c_str() << "\n"; rIF.labelAdd (os.str().c_str()); - if (theApp->getSetModifyNewDocs()) - pPolarDoc->Modify(true); + pPolarDoc->Modify (true); pPolarDoc->UpdateAllViews (); pPolarDoc->getView()->OnUpdate (this, NULL); pPolarDoc->getView()->getFrame()->Show(true); @@ -2366,8 +2338,7 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event) } } delete pReconstruct; - if (theApp->getSetModifyNewDocs()) - pReconDoc->Modify(true); + pReconDoc->Modify (true); pReconDoc->UpdateAllViews (this); if (ImageFileView* rasterView = pReconDoc->getView()) { rasterView->OnUpdate (rasterView, NULL); @@ -2569,6 +2540,7 @@ ProjectionFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) bool ProjectionFileView::OnClose (bool deleteWindow) { + GetDocumentManager()->ActivateView (this, false, true); if (! GetDocument() || ! GetDocument()->Close()) return false; @@ -2586,9 +2558,11 @@ ProjectionFileView::OnClose (bool deleteWindow) Activate(false); if (deleteWindow) { +// delete m_pFrame; m_pFrame->Destroy(); m_pFrame = NULL; } + return true; } @@ -2897,15 +2871,16 @@ PlotFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) ) bool PlotFileView::OnClose (bool deleteWindow) { + GetDocumentManager()->ActivateView (this, false, true); if (! GetDocument() || ! GetDocument()->Close()) return false; if (m_pCanvas) { - m_pCanvas->Show(false); + //m_pCanvas->Show(false); m_pCanvas->setView (NULL); m_pCanvas = NULL; } - m_pFrame->Show(false); + //m_pFrame->Show(false); wxString s(wxTheApp->GetAppName()); if (m_pFrame) m_pFrame->SetTitle(s); @@ -2915,9 +2890,11 @@ PlotFileView::OnClose (bool deleteWindow) m_pFrame->SetView(NULL); SetFrame(NULL); if (deleteWindow) { + //delete m_pFrame; m_pFrame->Destroy(); m_pFrame = NULL; } + return true; } @@ -2972,20 +2949,23 @@ TextFileView::OnClose (bool deleteWindow) // if (m_pFrame && m_pFrame->GetTitle() == "Log") return false; + GetDocumentManager()->ActivateView (this, false, true); if (! GetDocument() || ! GetDocument()->Close()) return false; - m_pCanvas->Show(false); - m_pFrame->Show(false); + //m_pCanvas->Show(false); + //m_pFrame->Show(false); Activate(false); SetFrame(NULL); m_pFrame->SetView(NULL); if (deleteWindow) { + //delete m_pFrame; m_pFrame->Destroy(); m_pFrame = NULL; } + return TRUE; }