r1856: *** empty log message ***
[ctsim.git] / src / views.cpp
index 7ae2293fc27f2fd062c4953e048c188717f3ff7d..3aca5d4d1ff979ef68a63cb11c6974e2aeaa4292 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
 ** FILE IDENTIFICATION
 **
-**   Name:          view.cpp
+**   Name:          views.cpp
 **   Purpose:       View & Canvas routines for CTSim program
 **   Programmer:    Kevin Rosenberg
 **   Date Started:  July 2000
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.147 2001/09/27 02:11:29 kevin Exp $
+**  $Id: views.cpp,v 1.150 2002/05/01 15:17:36 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
@@ -1027,17 +1027,17 @@ ImageFileView::OnCreate (wxDocument *doc, long WXUNUSED(flags) )
   m_bMaxSpecified = false;
   m_dAutoScaleFactor = 1.;
   
-  int width, height;
-  m_pFrame->GetClientSize (&width, &height);
+  //  int width, height;
+  //  m_pFrame->GetClientSize (&width, &height);
   m_pFrame->SetTitle("ImageFileView");
   m_pCanvas = CreateCanvas (m_pFrame);
   
-  int x, y;  // X requires a forced resize
-  m_pFrame->GetSize(&x, &y);
-  m_pFrame->SetSize(-1, -1, x, y);
+  //  int x, y;  // X requires a forced resize
+  //  m_pFrame->GetSize(&x, &y);
+  //  m_pFrame->SetSize(-1, -1, x, y);
   m_pFrame->SetFocus();
   m_pFrame->Show(true);
-  Activate(true);
+  //  Activate(true);
   
   return true;
 }
@@ -1106,7 +1106,7 @@ ImageFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) )
     int xSize = nx;
     int ySize = ny;
     ySize = clamp (ySize, 0, 800);
-    m_pFrame->SetClientSize (xSize, ySize);
+    //    m_pFrame->SetClientSize (xSize, ySize); // KMR
     m_pCanvas->SetScrollbars(20, 20, nx/20, ny/20);
     m_pCanvas->SetBackgroundColour(*wxWHITE);
   } 
@@ -2225,14 +2225,15 @@ PhantomFileView::OnRasterize (wxCommandEvent& event)
 #endif
   {
     ImageFile* pImageFile = new ImageFile (m_iDefaultRasterNX, m_iDefaultRasterNY);
+
     wxProgressDialog dlgProgress (wxString("Rasterize"), wxString("Rasterization Progress"), 
-      pImageFile->nx() + 1, getFrameForChild(), wxPD_CAN_ABORT );
+                 pImageFile->nx() + 1, getFrameForChild(), wxPD_CAN_ABORT );
     Timer timer;
     for (unsigned int i = 0; i < pImageFile->nx(); i++) {
       rPhantom.convertToImagefile (*pImageFile, m_dDefaultRasterViewRatio, m_iDefaultRasterNSamples, Trace::TRACE_NONE, i, 1, true);
       if (! dlgProgress.Update (i+1)) {
-        delete pImageFile;
-        return;
+       delete pImageFile;
+       return;
       }
     }
     
@@ -2244,16 +2245,17 @@ PhantomFileView::OnRasterize (wxCommandEvent& event)
     pRasterDoc->setImageFile (pImageFile);
     if (theApp->getAskDeleteNewDocs())
       pRasterDoc->Modify (true);
-    pRasterDoc->UpdateAllViews (this);
-    pRasterDoc->getView()->getFrame()->Show(true);
     *theApp->getLog() << os.str().c_str() << "\n";
     pImageFile->labelAdd (os.str().c_str(), timer.timerEnd());
-    ImageFileView* rasterView = pRasterDoc->getView();
-    if (rasterView) {
+
+    if (ImageFileView* rasterView = pRasterDoc->getView()) {
+      rasterView->getFrame()->Show(true);
       rasterView->getFrame()->SetFocus();
       rasterView->OnUpdate (rasterView, NULL);
     }
-    pRasterDoc->Activate();
+    // Causes loss of frame in wxGTK 
+    // pRasterDoc->UpdateAllViews (this); 
+    // pRasterDoc->Activate();
   }
 }
 
@@ -2457,7 +2459,7 @@ EVT_MENU(PJMENU_CONVERT_FFT_POLAR, ProjectionFileView::OnConvertFFTPolar)
 EVT_MENU(PJMENU_CONVERT_PARALLEL, ProjectionFileView::OnConvertParallel)
 EVT_MENU(PJMENU_PLOT_TTHETA_SAMPLING, ProjectionFileView::OnPlotTThetaSampling)
 EVT_MENU(PJMENU_PLOT_HISTOGRAM, ProjectionFileView::OnPlotHistogram)
-EVT_MENU(PJMENU_ARTIFACT_REDUCTION, ProjectionFileView::OnArtifactReduction)
+  // EVT_MENU(PJMENU_ARTIFACT_REDUCTION, ProjectionFileView::OnArtifactReduction)
 END_EVENT_TABLE()
 
 
@@ -2951,16 +2953,19 @@ ProjectionFileView::doReconstructFBP (const Projections& rProj, bool bRebinToPar
   pReconDoc->setImageFile (pImageFile);
   if (theApp->getAskDeleteNewDocs())
     pReconDoc->Modify (true);
-  pReconDoc->UpdateAllViews (this);
-  pReconDoc->Activate();
-  if (ImageFileView* rasterView = pReconDoc->getView()) {
-    rasterView->OnUpdate (rasterView, NULL);
-    rasterView->getFrame()->SetFocus();
-    rasterView->getFrame()->Show(true);
-  }
   *theApp->getLog() << os.str().c_str() << "\n";
   pImageFile->labelAdd (rProj.getLabel());
   pImageFile->labelAdd (os.str().c_str(), timerRecon.timerEnd());    
+
+  //  if (ImageFileView* rasterView = pReconDoc->getView()) {
+  //    rasterView->getFrame()->Show(true);
+  //    rasterView->getFrame()->SetFocus();
+  //    rasterView->OnUpdate (rasterView, NULL);
+  //  }
+  // causes loss of frame in wxGTK
+  pReconDoc->GetFirstView()->GetFrame()->Show(true);
+  pReconDoc->UpdateAllViews ();
+  // pReconDoc->Activate();
 }
 
 
@@ -3033,8 +3038,8 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   convert_menu->AppendSeparator();
   convert_menu->Append (PJMENU_CONVERT_PARALLEL, "&Interpolate to Parallel");
   
-  wxMenu* filter_menu = new wxMenu;
-  filter_menu->Append (PJMENU_ARTIFACT_REDUCTION, "&Artifact Reduction");
+  //  wxMenu* filter_menu = new wxMenu;
+  //  filter_menu->Append (PJMENU_ARTIFACT_REDUCTION, "&Artifact Reduction");
   
   wxMenu* analyze_menu = new wxMenu;
   analyze_menu->Append (PJMENU_PLOT_HISTOGRAM, "&Plot Histogram");
@@ -3043,7 +3048,8 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   wxMenu *reconstruct_menu = new wxMenu;
   reconstruct_menu->Append (PJMENU_RECONSTRUCT_FBP, "&Filtered Backprojection...\tCtrl-R", "Reconstruct image using filtered backprojection");
   reconstruct_menu->Append (PJMENU_RECONSTRUCT_FBP_REBIN, "Filtered &Backprojection (Rebin to Parallel)...\tCtrl-B", "Reconstruct image using filtered backprojection");
-  reconstruct_menu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Fourier...\tCtrl-E", "Reconstruct image using inverse Fourier");
+  // still buggy
+  //   reconstruct_menu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Fourier...\tCtrl-E", "Reconstruct image using inverse Fourier");
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
@@ -3055,7 +3061,7 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   menu_bar->Append (m_pFileMenu, "&File");
   menu_bar->Append (convert_menu, "&Convert");
-  menu_bar->Append (filter_menu, "Fi&lter");
+  //  menu_bar->Append (filter_menu, "Fi&lter");
   menu_bar->Append (analyze_menu, "&Analyze");
   menu_bar->Append (reconstruct_menu, "&Reconstruct");
   menu_bar->Append (help_menu, "&Help");