X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fviews.cpp;h=203636ef324d08640bcb702f9232c0da066e39a7;hb=71faaba5bf4be59ef81fff71f2f3403a41c90b0f;hp=cf8497bd9b894b7237275c67a5b89c36dbd02071;hpb=e96390a84a8df18305c63263466c522fbc680055;p=ctsim.git diff --git a/src/views.cpp b/src/views.cpp index cf8497b..203636e 100644 --- a/src/views.cpp +++ b/src/views.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: views.cpp,v 1.54 2001/01/07 23:18:13 kevin Exp $ +** $Id: views.cpp,v 1.65 2001/01/17 13:03:24 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 @@ -765,11 +765,12 @@ wxFrame* ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view) { #if CTSIM_MDI - wxMDIChildFrame *subframe = new wxMDIChildFrame(theApp->getMainFrame(), -1, "ImageFile Frame", wxPoint(-1, -1), wxSize(0, 0), wxDEFAULT_FRAME_STYLE); + wxMDIChildFrame *subframe = new wxMDIChildFrame (theApp->getMainFrame(), -1, "ImageFile Frame", wxPoint(-1, -1), wxSize(0, 0), wxDEFAULT_FRAME_STYLE); #else - wxDocChildFrame *subframe = new wxDocChildFrame(doc, view, theApp->getMainFrame(), -1, "ImageFile Frame", wxPoint(-1, -1), wxSize(0, 0), wxDEFAULT_FRAME_STYLE); + wxDocChildFrame *subframe = new wxDocChildFrame (doc, view, theApp->getMainFrame(), -1, "ImageFile Frame", wxPoint(-1, -1), wxSize(0, 0), wxDEFAULT_FRAME_STYLE); #endif - + theApp->setIconForFrame (subframe); + wxMenu *file_menu = new wxMenu; file_menu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom..."); @@ -839,6 +840,8 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view) analyze_menu->Append (IFMENU_COMPARE_COL, "Compare &Column"); wxMenu *help_menu = new wxMenu; + help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents"); + help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics"); help_menu->Append(MAINMENU_HELP_ABOUT, "&About"); wxMenuBar *menu_bar = new wxMenuBar; @@ -1056,7 +1059,8 @@ ImageFileView::OnPlotRow (wxCommandEvent& event) if (v != NULL && yCursor < ny) { double* pX = new double [nx]; double* pYReal = new double [nx]; - double *pYImag, *pYMag; + double *pYImag = NULL; + double *pYMag = NULL; if (rIF.isComplex()) { pYImag = new double [nx]; pYMag = new double [nx]; @@ -1103,7 +1107,7 @@ ImageFileView::OnPlotRow (wxCommandEvent& event) rPlotFile.addColumn (2, pYImag); rPlotFile.addColumn (3, pYMag); } - for (int iL = 0; iL < rIF.nLabels(); iL++) + for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; @@ -1139,7 +1143,8 @@ ImageFileView::OnPlotCol (wxCommandEvent& event) if (v != NULL && xCursor < nx) { double* pX = new double [ny]; double* pYReal = new double [ny]; - double *pYImag, *pYMag; + double* pYImag = NULL; + double* pYMag = NULL; if (rIF.isComplex()) { pYImag = new double [ny]; pYMag = new double [ny]; @@ -1186,7 +1191,7 @@ ImageFileView::OnPlotCol (wxCommandEvent& event) rPlotFile.addColumn (2, pYImag); rPlotFile.addColumn (3, pYMag); } - for (int iL = 0; iL < rIF.nLabels(); iL++) + for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str()); os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; @@ -1460,19 +1465,19 @@ ImageFileView::OnCompareCol (wxCommandEvent& event) unsigned int iL; for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + for (iL = 0; iL < rCompareIF.nLabels(); iL++) { + std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rCompareIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle() << " and " - << pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and " + << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; rPlotFile.addDescription (os.str().c_str()); } @@ -1550,19 +1555,19 @@ ImageFileView::OnCompareRow (wxCommandEvent& event) rPlotFile.addColumn (2, pY2); unsigned int iL; for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - for (iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + for (iL = 0; iL < rCompareIF.nLabels(); iL++) { + std::string s = pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rCompareIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle() << " and " - << pCompareDoc->GetFirstView()->GetFrame()->GetTitle(); + os << " Between " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str() << " and " + << pCompareDoc->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; rPlotFile.addDescription (os.str().c_str()); } @@ -1624,12 +1629,12 @@ ImageFileView::OnPlotHistogram (wxCommandEvent& event) rPlotFile.addColumn (0, pX); rPlotFile.addColumn (1, pY); for (unsigned int iL = 0; iL < rIF.nLabels(); iL++) { - std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + std::string s = GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); s += ": "; s += rIF.labelGet(iL).getLabelString(); rPlotFile.addDescription (s.c_str()); } - os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle(); + os << " Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str(); *theApp->getLog() << os.str().c_str() << "\n"; rPlotFile.addDescription (os.str().c_str()); delete pX; @@ -1866,6 +1871,7 @@ PhantomView::CreateChildFrame(wxDocument *doc, wxView *view) #else wxDocChildFrame *subframe = new wxDocChildFrame(doc, view, theApp->getMainFrame(), -1, "Phantom Frame", wxPoint(10, 10), wxSize(256, 256), wxDEFAULT_FRAME_STYLE); #endif + theApp->setIconForFrame (subframe); wxMenu *file_menu = new wxMenu; @@ -1889,6 +1895,7 @@ PhantomView::CreateChildFrame(wxDocument *doc, wxView *view) wxMenu *help_menu = new wxMenu; help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents"); + help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics"); help_menu->Append(MAINMENU_HELP_ABOUT, "&About"); wxMenuBar *menu_bar = new wxMenuBar; @@ -2145,11 +2152,6 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event) const Projections& rProj = GetDocument()->getProjections(); imageFile.setArraySize (m_iDefaultNX, m_iDefaultNY); - if (m_iDefaultFilterMethod != ProcessSignal::FILTER_METHOD_CONVOLUTION && m_iDefaultFilterGeneration == ProcessSignal::FILTER_GENERATION_DIRECT && rProj.geometry() != Scanner::GEOMETRY_PARALLEL) { - wxMessageBox ("Sorry!\nCurrently, frequency-based filtering with direct filter generation is not support for geometries other than parallel.\nAborting command.", "Not Supported", wxOK | wxICON_WARNING, m_frame); - return; - } - Reconstructor* pReconstruct = new Reconstructor (rProj, imageFile, optFilterName.c_str(), m_dDefaultFilterParam, optFilterMethodName.c_str(), m_iDefaultZeropad, optFilterGenerationName.c_str(), optInterpName.c_str(), m_iDefaultInterpParam, optBackprojectName.c_str(), m_iDefaultTrace); Timer timerRecon; @@ -2226,6 +2228,7 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view) #else wxDocChildFrame *subframe = new wxDocChildFrame(doc, view, theApp->getMainFrame(), -1, "Projection Frame", wxPoint(10, 10), wxSize(0, 0), wxDEFAULT_FRAME_STYLE); #endif + theApp->setIconForFrame (subframe); wxMenu *file_menu = new wxMenu; @@ -2254,7 +2257,7 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view) wxMenu *help_menu = new wxMenu; help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents"); - help_menu->AppendSeparator(); + help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics"); help_menu->Append(MAINMENU_HELP_ABOUT, "&About"); wxMenuBar *menu_bar = new wxMenuBar; @@ -2514,6 +2517,7 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view) #else wxDocChildFrame *subframe = new wxDocChildFrame(doc, view, theApp->getMainFrame(), -1, "Plot Frame", wxPoint(10, 10), wxSize(500, 300), wxDEFAULT_FRAME_STYLE); #endif + theApp->setIconForFrame (subframe); wxMenu *file_menu = new wxMenu; @@ -2539,7 +2543,7 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view) wxMenu *help_menu = new wxMenu; help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents"); - help_menu->AppendSeparator(); + help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics"); help_menu->Append(MAINMENU_HELP_ABOUT, "&About"); wxMenuBar *menu_bar = new wxMenuBar;