X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fviews.cpp;h=5f0d4d4a3d7cbf88b74909d68630d2ee94ef4c48;hp=72ba35a88e8035dff3cb91044566a11ab9224a49;hb=dcc87ab716636e2464e104e6d79d031b2ec6b925;hpb=f7ee98f7d964ed361068179f0e7ea4475ed1abdf diff --git a/src/views.cpp b/src/views.cpp index 72ba35a..5f0d4d4 100644 --- a/src/views.cpp +++ b/src/views.cpp @@ -7,9 +7,7 @@ ** Date Started: July 2000 ** ** This is part of the CTSim program -** Copyright (c) 1983-2001 Kevin Rosenberg -** -** $Id$ +** Copyright (c) 1983-2009 Kevin Rosenberg ** ** 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 @@ -1065,7 +1063,7 @@ ImageFileView::OnCreate (wxDocument *doc, long WXUNUSED(flags) ) m_pCanvas = CreateCanvas (m_pFrame); m_pFrame->SetClientSize (m_pCanvas->GetBestSize()); m_pCanvas->SetClientSize (m_pCanvas->GetBestSize()); - m_pFrame->SetTitle(_T("ImageFileView")); + m_pFrame->SetTitle(doc->GetFilename()); m_pFrame->Show(true); Activate(true); @@ -1445,7 +1443,7 @@ ImageFileView::OnPlotRow (wxCommandEvent& event) } for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); - os << " Plot of " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str(); + os << ": plot of " << wxConvUTF8.cWX2MB(dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str()); *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n"); rPlotFile.addDescription (os.str().c_str()); } @@ -1479,8 +1477,8 @@ ImageFileView::OnPlotCol (wxCommandEvent& event) int ny = rIF.ny(); if (v != NULL && xCursor < nx) { - double* pX = new double [ny]; - double* pYReal = new double [ny]; + double* const pX = new double [ny]; + double* const pYReal = new double [ny]; double* pYImag = NULL; double* pYMag = NULL; if (rIF.isComplex()) { @@ -1531,7 +1529,7 @@ ImageFileView::OnPlotCol (wxCommandEvent& event) } for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); - os << " Plot of " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str(); + os << " : plot of " << wxConvUTF8.cWX2MB(dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str()); *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n"); rPlotFile.addDescription (os.str().c_str()); } @@ -1626,7 +1624,7 @@ ImageFileView::OnPlotFFTRow (wxCommandEvent& event) rPlotFile.addColumn (3, pYMag); for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); - os << " FFT Plot of " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str(); + os << ": FFT plot of " << wxConvUTF8.cWX2MB(dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str()); *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n"); rPlotFile.addDescription (os.str().c_str()); } @@ -1726,7 +1724,7 @@ ImageFileView::OnPlotFFTCol (wxCommandEvent& event) rPlotFile.addColumn (3, pYMag); for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); - os << " FFT Plot of " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str(); + os << ": FFT plot of " << wxConvUTF8.cWX2MB(dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str()); *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n"); rPlotFile.addDescription (os.str().c_str()); } @@ -1788,7 +1786,7 @@ ImageFileView::OnCompareCol (wxCommandEvent& event) } else { PlotFile& rPlotFile = pPlotDoc->getPlotFile(); std::ostringstream os; - os << "Column " << xCursor << " Comparison"; + os << "Column " << xCursor << ": Comparison"; std::string title("title "); title += os.str(); rPlotFile.addEzsetCommand (title.c_str()); @@ -1810,7 +1808,7 @@ ImageFileView::OnCompareCol (wxCommandEvent& event) unsigned int iL; for (iL = 0; iL < rIF.nLabels(); iL++) { std::ostringstream os; - os << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8); + os << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str(); os << ": " << rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (os.str().c_str()); } @@ -1821,8 +1819,8 @@ ImageFileView::OnCompareCol (wxCommandEvent& event) os << rCompareIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (os.str().c_str()); } - os << " Between " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str() << " and " - << dynamic_cast(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().c_str(); + os << " between " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8) << " and " + << dynamic_cast(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8); *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n"); rPlotFile.addDescription (os.str().c_str()); } @@ -1882,7 +1880,7 @@ ImageFileView::OnCompareRow (wxCommandEvent& event) } else { PlotFile& rPlotFile = pPlotDoc->getPlotFile(); std::ostringstream os; - os << "Row " << yCursor << " Comparison"; + os << "Row " << yCursor << ": Comparison"; std::string title("title "); title += os.str(); rPlotFile.addEzsetCommand (title.c_str()); @@ -1914,8 +1912,8 @@ ImageFileView::OnCompareRow (wxCommandEvent& event) << rCompareIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (os.str().c_str()); } - os << " Between " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8) << " and " - << dynamic_cast(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().c_str(); + os << " between " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8) << " and " + << dynamic_cast(pCompareDoc->GetFirstView()->GetFrame())->GetTitle().mb_str(wxConvUTF8); *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n"); rPlotFile.addDescription (os.str().c_str()); } @@ -1984,7 +1982,7 @@ ImageFileView::OnPlotHistogram (wxCommandEvent& event) os << ": " << rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (os.str().c_str()); } - os << " plot of " << dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str(); + os << " plot of " << wxConvUTF8.cWX2MB(dynamic_cast(GetDocument()->GetFirstView()->GetFrame())->GetTitle().c_str()); *theApp->getLog() << wxConvUTF8.cMB2WX(os.str().c_str()) << _T("\n"); rPlotFile.addDescription (os.str().c_str()); delete pX; @@ -2145,18 +2143,18 @@ PhantomFileView::OnProjections (wxCommandEvent& event) } std::ostringstream os; - os << "Projections for " << rPhantom.name() - << ": nDet=" << m_iDefaultNDet - << ", nView=" << m_iDefaultNView - << ", gantry offset=" << m_iDefaultOffsetView - << ", nSamples=" << m_iDefaultNSample - << ", RotAngle=" << m_dDefaultRotation - << ", FocalLengthRatio=" << m_dDefaultFocalLength - << ", CenterDetectorLengthRatio=" << m_dDefaultCenterDetectorLength - << ", ViewRatio=" << m_dDefaultViewRatio - << ", ScanRatio=" << m_dDefaultScanRatio - << ", Geometry=" << sGeometry.c_str() - << ", FanBeamAngle=" << convertRadiansToDegrees (theScanner.fanBeamAngle()); + os << "Projections for " << rPhantom.name().c_str() + << ": nDet=" << m_iDefaultNDet + << ", nView=" << m_iDefaultNView + << ", gantry offset=" << m_iDefaultOffsetView + << ", nSamples=" << m_iDefaultNSample + << ", RotAngle=" << m_dDefaultRotation + << ", FocalLengthRatio=" << m_dDefaultFocalLength + << ", CenterDetectorLengthRatio=" << m_dDefaultCenterDetectorLength + << ", ViewRatio=" << m_dDefaultViewRatio + << ", ScanRatio=" << m_dDefaultScanRatio + << ", Geometry=" << sGeometry.mb_str(wxConvUTF8) + << ", FanBeamAngle=" << convertRadiansToDegrees (theScanner.fanBeamAngle()); Timer timer; Projections* pProj = NULL; @@ -2309,11 +2307,11 @@ PhantomFileView::OnRasterize (wxCommandEvent& event) PhantomCanvas* PhantomFileView::CreateCanvas (wxFrame *parent) { - PhantomCanvas* pCanvas = new PhantomCanvas (this, parent, wxPoint(-1,-1), - wxSize(-1,-1), 0); + PhantomCanvas* pCanvas = + new PhantomCanvas (this, parent, wxPoint(-1,-1), + wxSize(-1,-1), wxFULL_REPAINT_ON_RESIZE); pCanvas->SetBackgroundColour(*wxWHITE); pCanvas->ClearBackground(); - return pCanvas; } @@ -2392,7 +2390,7 @@ PhantomFileView::OnCreate(wxDocument *doc, long WXUNUSED(flags) ) m_pCanvas = CreateCanvas (m_pFrame); m_pFrame->SetClientSize (m_pCanvas->GetBestSize()); m_pCanvas->SetClientSize (m_pCanvas->GetBestSize()); - m_pFrame->SetTitle (_T("PhantomFileView")); + m_pFrame->SetTitle (doc->GetFilename()); m_pFrame->Show(true); Activate(true); @@ -3135,7 +3133,7 @@ ProjectionFileView::OnCreate(wxDocument *doc, long WXUNUSED(flags) ) m_pCanvas = CreateCanvas (m_pFrame); m_pFrame->SetClientSize (m_pCanvas->GetBestSize()); m_pCanvas->SetClientSize (m_pCanvas->GetBestSize()); - m_pFrame->SetTitle (_T("ProjectionFileView")); + m_pFrame->SetTitle (doc->GetFilename()); m_pFrame->Show(true); Activate(true); @@ -3256,7 +3254,9 @@ ProjectionFileView::OnClose (bool deleteWindow) // PlotFileCanvas -PlotFileCanvas::PlotFileCanvas (PlotFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style) +PlotFileCanvas::PlotFileCanvas (PlotFileView* v, wxFrame *frame, + const wxPoint& pos, const wxSize& size, + const long style) : wxScrolledWindow(frame, -1, pos, size, style), m_pView(v) { } @@ -3347,8 +3347,7 @@ void PlotFileView::OnScaleMinMax (wxCommandEvent& event) { const PlotFile& rPlotFile = GetDocument()->getPlotFile(); - double min; - double max; + double min, max; if (! m_bMinSpecified || ! m_bMaxSpecified) { if (! rPlotFile.getMinMax (1, min, max)) { @@ -3377,11 +3376,9 @@ PlotFileView::OnScaleMinMax (wxCommandEvent& event) void PlotFileView::OnScaleFull (wxCommandEvent& event) { - if (m_bMinSpecified || m_bMaxSpecified) { - m_bMinSpecified = false; - m_bMaxSpecified = false; - OnUpdate (this, NULL); - } + m_bMinSpecified = false; + m_bMaxSpecified = false; + OnUpdate (this, NULL); GetDocument()->Activate(); } @@ -3391,7 +3388,8 @@ PlotFileView::CreateCanvas (wxFrame* parent) { PlotFileCanvas* pCanvas; - pCanvas = new PlotFileCanvas (this, parent, wxPoint(-1,-1), wxSize(-1,-1), 0); + pCanvas = new PlotFileCanvas (this, parent, wxPoint(-1,-1), wxSize(-1,-1), + wxFULL_REPAINT_ON_RESIZE); pCanvas->SetBackgroundColour(*wxWHITE); pCanvas->ClearBackground(); @@ -3480,7 +3478,10 @@ PlotFileView::OnCreate (wxDocument *doc, long WXUNUSED(flags) ) m_pCanvas = CreateCanvas (m_pFrame); m_pFrame->SetClientSize (m_pCanvas->GetBestSize()); m_pCanvas->SetClientSize (m_pCanvas->GetBestSize()); - m_pFrame->SetTitle (_T("Plot File")); + m_pFrame->SetTitle (_T("test")); + *theApp->getLog() << _T("Plot doc name: ") << doc->GetDocumentName() << _T("\n"); + *theApp->getLog() << _T("Plot file name: ") << doc->GetFilename() << _T("\n"); + m_pFrame->SetTitle (doc->GetFilename()); m_pFrame->Show(true); Activate(true); @@ -3568,8 +3569,9 @@ PlotFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) ) delete pdY; } - if (m_pCanvas) + if (m_pCanvas) { m_pCanvas->Refresh(); + } } bool @@ -3617,9 +3619,8 @@ bool TextFileView::OnCreate(wxDocument *doc, long WXUNUSED(flags) ) int width, height; m_pFrame->GetClientSize(&width, &height); - m_pFrame->SetTitle(_T("TextFile")); + m_pFrame->SetTitle(doc->GetFilename()); m_pCanvas = new TextFileCanvas (this, m_pFrame, wxPoint(-1,-1), wxSize(width, height), wxTE_MULTILINE | wxTE_READONLY); - m_pFrame->SetTitle(_T("Log")); m_pFrame->Show (true); Activate (true);