r458: no message
[ctsim.git] / src / views.cpp
index ec75fccf4410be59f6537d10e5faacdfa8b5e885..315474d0371250f93e6bf083b0aea45061a274b0 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.81 2001/01/27 22:31:57 kevin Exp $
+**  $Id: views.cpp,v 1.82 2001/01/28 03:48:55 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
@@ -231,7 +231,8 @@ ImageFileView::ImageFileView()
 
 ImageFileView::~ImageFileView()
 {
-  theApp->getDocManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->ActivateView(this, FALSE, TRUE);
 }
 
 void
@@ -818,8 +819,8 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
 #endif
-  theApp->getDocManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
-  theApp->getDocManager()->FileHistoryUseMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
   
   wxMenu *view_menu = new wxMenu;
   view_menu->Append(IFMENU_VIEW_SCALE_MINMAX, "Display Scale S&et...\tCtrl-E");
@@ -911,7 +912,7 @@ bool
 ImageFileView::OnCreate (wxDocument *doc, long WXUNUSED(flags) )
 {
   m_pFrame = CreateChildFrame(doc, this);
-  SetFrame (m_pFrame);
+     (m_pFrame);
   
   m_bMinSpecified = false;
   m_bMaxSpecified = false;
@@ -999,22 +1000,23 @@ ImageFileView::OnClose (bool deleteWindow)
     return false;
   
   if (m_pCanvas) {
-    m_pCanvas->Clear();
-    m_pCanvas->Show(false);
+//    m_pCanvas->Show(false);
+//    m_pCanvas->Clear();
     m_pCanvas->setView(NULL);
     m_pCanvas = NULL;
   }
   wxString s(theApp->GetAppName());
   if (m_pFrame)
     m_pFrame->SetTitle(s);
-  SetFrame(NULL);
   
+  SetFrame(NULL);
   Activate(false);
-  
+
   if (deleteWindow) {
-    //m_pFrame->Show(false);
+    m_pFrame->Show(false);
+    //m_pFrame->Close(true);
     m_pFrame->Destroy();
-    //   delete m_pFrame;
+  //     delete m_pFrame;
     m_pFrame = NULL;
   }
   return true;
@@ -1736,8 +1738,13 @@ END_EVENT_TABLE()
 PhantomFileView::PhantomFileView() 
 : wxView(), m_pFrame(NULL), m_pCanvas(NULL), m_pFileMenu(0)
 {
+#if defined(DEBUG) || defined(_DEBUG)
+  m_iDefaultNDet = 165;
+  m_iDefaultNView = 180;
+#else
   m_iDefaultNDet = 367;
   m_iDefaultNView = 320;
+#endif
   m_iDefaultNSample = 1;
   m_dDefaultRotation = 1;
   m_dDefaultFocalLength = 2;
@@ -1745,14 +1752,21 @@ PhantomFileView::PhantomFileView()
   m_iDefaultGeometry = Scanner::GEOMETRY_PARALLEL;
   m_iDefaultTrace = Trace::TRACE_NONE;
   
+#ifdef DEBUG 
+  m_iDefaultRasterNX = 115;
+  m_iDefaultRasterNY = 115;
+  m_iDefaultRasterNSamples = 1;
+#else
   m_iDefaultRasterNX = 256;
   m_iDefaultRasterNY = 256;
   m_iDefaultRasterNSamples = 2;
+#endif
 }
 
 PhantomFileView::~PhantomFileView()
 {
-  theApp->getDocManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->ActivateView(this, FALSE, TRUE);
 }
 
 void
@@ -1848,7 +1862,7 @@ PhantomFileView::OnProjections (wxCommandEvent& event)
           pFrame->SetFocus();
           pFrame->Raise();
         }
-        theApp->getDocManager()->ActivateView (pView, true, false);
+        GetDocumentManager()->ActivateView (pView, true, false);
       }
       ::wxYield();
       if (theApp->getSetModifyNewDocs())
@@ -1959,8 +1973,8 @@ PhantomFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
 #endif
-  theApp->getDocManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
-  theApp->getDocManager()->FileHistoryUseMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
   
   wxMenu *process_menu = new wxMenu;
   process_menu->Append(PHMMENU_PROCESS_RASTERIZE, "&Rasterize...\tCtrl-R");
@@ -2033,22 +2047,23 @@ PhantomFileView::OnClose (bool deleteWindow)
     return false;
   
   if (m_pCanvas) {
-    m_pCanvas->Clear();
+    //m_pCanvas->Show(false);
+    //m_pCanvas->Clear();
     m_pCanvas->setView(NULL);
-    m_pCanvas->Show(false);
     m_pCanvas = NULL;
   }
   wxString s(wxTheApp->GetAppName());
   if (m_pFrame)
     m_pFrame->SetTitle(s);
-  SetFrame(NULL);
   
+  SetFrame(NULL);
   Activate(false);
   
   if (deleteWindow) {
-  //  m_pFrame->Show(false);
-    m_pFrame->Destroy();
-    //    delete m_pFrame;
+    m_pFrame->Show(false);
+     m_pFrame->Destroy();
+    //GetDocumentManager()->ActivateView(this, FALSE, TRUE);
+     //  delete m_pFrame;
     m_pFrame = NULL;
   }
   
@@ -2114,8 +2129,14 @@ END_EVENT_TABLE()
 ProjectionFileView::ProjectionFileView() 
 : wxView(), m_pCanvas(NULL), m_pFrame(NULL), m_pFileMenu(0)
 {
+#ifdef DEBUG
+  m_iDefaultNX = 115;
+  m_iDefaultNY = 115;
+#else
   m_iDefaultNX = 256;
   m_iDefaultNY = 256;
+#endif
+
   m_iDefaultFilter = SignalFilter::FILTER_ABS_BANDLIMIT;
   m_dDefaultFilterParam = 1.;
 #if HAVE_FFTW
@@ -2139,7 +2160,8 @@ ProjectionFileView::ProjectionFileView()
 
 ProjectionFileView::~ProjectionFileView()
 {
-  theApp->getDocManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->ActivateView(this, FALSE, TRUE);;
 }
 
 void
@@ -2365,8 +2387,8 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
 #endif
-  theApp->getDocManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
-  theApp->getDocManager()->FileHistoryUseMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
   
   wxMenu *convert_menu = new wxMenu;
   convert_menu->Append (PJMENU_CONVERT_POLAR, "&Polar Image...\tCtrl-L");
@@ -2503,22 +2525,23 @@ ProjectionFileView::OnClose (bool deleteWindow)
     return false;
   
   if (m_pCanvas) {
-    m_pCanvas->Clear();
+    //m_pCanvas->Show(false);
+    //m_pCanvas->Clear();
     m_pCanvas->setView(NULL);
-    m_pCanvas->Show(false);
     m_pCanvas = NULL;
   }
   wxString s(wxTheApp->GetAppName());
   if (m_pFrame)
     m_pFrame->SetTitle(s);
-  //  SetFrame(NULL);
   
+  SetFrame(NULL);
   Activate(false);
   
   if (deleteWindow) {
-    //m_pFrame->Show(false);
+    m_pFrame->Show(false);
     m_pFrame->Destroy();
-    //   delete m_pFrame;
+    // delete m_pFrame;
+    //m_pFrame->Close(true);
     m_pFrame = NULL;
   }
   return true;
@@ -2567,7 +2590,7 @@ PlotFileView::~PlotFileView()
   if (m_pEZPlot)
     delete m_pEZPlot;
   
-  theApp->getDocManager()->FileHistoryRemoveMenu (m_pFileMenu);  
+  GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);  
 }
 
 void
@@ -2694,8 +2717,8 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
 #endif
-  theApp->getDocManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
-  theApp->getDocManager()->FileHistoryUseMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
   
   wxMenu *view_menu = new wxMenu;
   view_menu->Append(PLOTMENU_VIEW_SCALE_MINMAX, "Display Scale &Set...\tCtrl-E");
@@ -2833,21 +2856,24 @@ PlotFileView::OnClose (bool deleteWindow)
     return false;
   
   if (m_pCanvas) {
-    m_pCanvas->Clear();
+//    m_pCanvas->Show(false);
+//    m_pCanvas->Clear();
     m_pCanvas->setView (NULL);
-    m_pCanvas->Show(false);
     m_pCanvas = NULL;
   }
   wxString s(wxTheApp->GetAppName());
   if (m_pFrame)
     m_pFrame->SetTitle(s);
-  SetFrame(NULL);
   
   Activate(false);
   
+  m_pFrame->SetView(NULL);
+   SetFrame(NULL);
   if (deleteWindow) {
-    //m_pFrame->Show(false);
-    m_pFrame->Destroy();
+    m_pFrame->Show(false);
+     m_pFrame->Destroy();
+    //m_pFrame->Close(true);
+    //GetDocumentManager()->ActivateView(this, FALSE, TRUE);
     //   delete m_pFrame;
     m_pFrame = NULL;
   }
@@ -2862,7 +2888,8 @@ IMPLEMENT_DYNAMIC_CLASS(TextFileView, wxView)
 
 TextFileView::~TextFileView() 
 {
-  theApp->getDocManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->FileHistoryRemoveMenu (m_pFileMenu);
+  GetDocumentManager()->ActivateView(this, FALSE, TRUE);;
 }
 
 bool TextFileView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
@@ -2901,7 +2928,7 @@ void TextFileView::OnUpdate(wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) )
 bool 
 TextFileView::OnClose (bool deleteWindow)
 {
-  if (m_pFrame && m_pFrame->GetTitle() == "Log")
// if (m_pFrame && m_pFrame->GetTitle() == "Log")
     return false;
   
   if (! GetDocument() || ! GetDocument()->Close())
@@ -2909,10 +2936,14 @@ TextFileView::OnClose (bool deleteWindow)
   
   m_pCanvas->Show(false);
   Activate(false);
-  
+
+  SetFrame(NULL);
+  m_pFrame->SetView(NULL);
   if (deleteWindow) {
-    //m_pFrame->Show(false);
-    m_pFrame->Destroy();
+    m_pFrame->Show(false);
+     m_pFrame->Destroy();
+    //m_pFrame->Close(true);
+    //GetDocumentManager()->ActivateView(this, FALSE, TRUE);
     //   delete m_pFrame;
     m_pFrame = NULL;
     
@@ -2951,8 +2982,8 @@ TextFileView::CreateChildFrame (wxDocument *doc, wxView *view)
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append(MAINMENU_FILE_EXIT, "E&xit");
 #endif
-  theApp->getDocManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
-  theApp->getDocManager()->FileHistoryUseMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryAddFilesToMenu(m_pFileMenu);
+  GetDocumentManager()->FileHistoryUseMenu(m_pFileMenu);
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");