X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fviews.cpp;h=8ec1df2bff80bf1e17529210fd503e4bdf1e312b;hb=711cae0ee02e046370fdb4d6c6f440596ff71980;hp=affcb6f72c7740461a57d83d1fc914986538a502;hpb=27a474e0622ebb7229fd5705552021f63d8f932d;p=ctsim.git diff --git a/src/views.cpp b/src/views.cpp index affcb6f..8ec1df2 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.7 2000/07/20 11:17:31 kevin Exp $ +** $Id: views.cpp,v 1.9 2000/07/28 08:28:08 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 @@ -341,7 +341,7 @@ ImageFileView::OnClose (bool deleteWindow) // PhantomCanvas PhantomCanvas::PhantomCanvas (PhantomView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style) - : wxPanel(frame, -1, pos, size, style) + : wxScrolledWindow(frame, -1, pos, size, style) { m_pView = v; } @@ -353,6 +353,7 @@ PhantomCanvas::OnDraw(wxDC& dc) m_pView->OnDraw(& dc); } + // PhantomView IMPLEMENT_DYNAMIC_CLASS(PhantomView, wxView) @@ -375,10 +376,10 @@ PhantomView::~PhantomView(void) void PhantomView::OnProperties (wxCommandEvent& event) { - const Phantom::PhantomID idPhantom = GetDocument()->getPhantomID(); + const int idPhantom = GetDocument()->getPhantomID(); const string& namePhantom = GetDocument()->getPhantomName(); ostringstream os; - os << "Phantom " << namePhantom << " (" << static_cast(idPhantom) << ")\n"; + os << "Phantom " << namePhantom << " (" << idPhantom << ")\n"; *theApp->getLog() << os.str().c_str(); #if DEBUG const Phantom& rPhantom = GetDocument()->getPhantom(); @@ -390,7 +391,7 @@ PhantomView::OnProperties (wxCommandEvent& event) void PhantomView::OnProjections (wxCommandEvent& event) { - DialogGetProjectionParameters dialogProjection (m_frame, 367, 320, 1, 1., Scanner::GEOMETRY_PARALLEL_STR); + DialogGetProjectionParameters dialogProjection (m_frame, 367, 320, 1, 1., Scanner::GEOMETRY_PARALLEL); int retVal = dialogProjection.ShowModal(); if (retVal == wxID_OK) { int nDet = dialogProjection.getNDet(); @@ -518,15 +519,8 @@ PhantomView::OnCreate(wxDocument *doc, long WXUNUSED(flags) ) m_frame->Show(true); Activate(true); - - return true; -} -void -PhantomView::OnDraw (wxDC* dc) -{ - // if (m_bitmap.Ok()) - // dc->DrawBitmap (m_bitmap, 0, 0, false); + return true; } @@ -560,6 +554,16 @@ PhantomView::OnClose (bool deleteWindow) return true; } +void +PhantomView::OnDraw (wxDC* dc) +{ + int xsize, ysize; + m_canvas->GetClientSize (&xsize, &ysize); + SGPDriver driver (dc, "", xsize, ysize); + SGP sgp (driver); + const Phantom& rPhantom = GetDocument()->getPhantom(); + rPhantom.draw (sgp); +} // ProjectionCanvas @@ -607,7 +611,7 @@ ProjectionFileView::OnProperties (wxCommandEvent& event) void ProjectionFileView::OnReconstruct (wxCommandEvent& event) { - DialogGetReconstructionParameters dialogReconstruction (m_frame, 256, 256, SignalFilter::FILTER_ABS_BANDLIMIT_STR, 1., SignalFilter::FILTER_METHOD_CONVOLUTION_STR, 3, Backprojector::INTERP_LINEAR_STR, 1, Backprojector::BPROJ_IDIFF3_STR); + DialogGetReconstructionParameters dialogReconstruction (m_frame, 256, 256, SignalFilter::FILTER_ABS_BANDLIMIT, 1., SignalFilter::FILTER_METHOD_CONVOLUTION, 3, Backprojector::INTERP_LINEAR, 1, Backprojector::BPROJ_IDIFF3); int retVal = dialogReconstruction.ShowModal(); if (retVal == wxID_OK) { int xSize = dialogReconstruction.getXSize(); @@ -618,7 +622,7 @@ ProjectionFileView::OnReconstruct (wxCommandEvent& event) int optZeropad = dialogReconstruction.getZeropad(); wxString optInterpName = dialogReconstruction.getInterpName(); int optInterpParam = dialogReconstruction.getInterpParam(); - wxString optBackprojectName = dialogReconstruction.getBackprojName(); + wxString optBackprojectName = dialogReconstruction.getBackprojectName(); if (xSize > 0 && ySize > 0) { ImageFileDocument* pReconDoc = dynamic_cast(theApp->getDocManager()->CreateDocument("untitled.if", wxDOC_SILENT)); ImageFile& imageFile = pReconDoc->getImageFile();