r435: *** empty log message ***
[ctsim.git] / src / views.cpp
index 167c76e011ee0e04a6cb72d8cddb28b901bf493c..65ab9f6d744797083b2121f84652ebaf1708f546 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.69 2001/01/20 17:43:41 kevin Exp $
+**  $Id: views.cpp,v 1.70 2001/01/26 00:45: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
@@ -81,6 +81,8 @@ ImageFileCanvas::~ImageFileCanvas()
   if (m_pView) {
     wxMenu* pMenu = m_pView->getFileMenu();
     theApp->getDocManager()->FileHistoryRemoveMenu (pMenu);
+    m_pView->canvasClosed();
+    m_pView = NULL;
   }
 }
 
@@ -996,10 +998,10 @@ ImageFileView::OnClose (bool deleteWindow)
   
 //  m_canvas->Clear();
 //  m_canvas->setView(NULL);
-//  m_canvas = NULL;
+  m_canvas = NULL;
   wxString s(theApp->GetAppName());
-  if (m_frame)
-    m_frame->SetTitle(s);
+//  if (m_frame)
+//    m_frame->SetTitle(s);
   SetFrame(NULL);
   
   Activate(false);
@@ -1705,6 +1707,8 @@ PhantomCanvas::~PhantomCanvas ()
   if (m_pView) {
     wxMenu* pMenu = m_pView->getFileMenu();
     theApp->getDocManager()->FileHistoryRemoveMenu (pMenu);
+    m_pView->canvasClosed();
+    m_pView = NULL;
   }
 }
 
@@ -2021,7 +2025,7 @@ PhantomView::OnClose (bool deleteWindow)
   
 //  m_canvas->Clear();
 //  m_canvas->setView(NULL);
-//  m_canvas = NULL;
+  m_canvas = NULL;
   wxString s(wxTheApp->GetAppName());
   if (m_frame)
     m_frame->SetTitle(s);
@@ -2029,8 +2033,10 @@ PhantomView::OnClose (bool deleteWindow)
   
   Activate(false);
   
-  if (deleteWindow)
+  if (deleteWindow) {
     delete m_frame;
+    m_frame = NULL;
+  }
   
   return true;
 }
@@ -2060,6 +2066,8 @@ ProjectionFileCanvas::~ProjectionFileCanvas ()
   if (m_pView) {
     wxMenu* pMenu = m_pView->getFileMenu();
     theApp->getDocManager()->FileHistoryRemoveMenu (pMenu);
+    m_pView->canvasClosed();
+    m_pView = NULL;
   }
 }
 
@@ -2339,6 +2347,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);
   
   wxMenu *convert_menu = new wxMenu;
   convert_menu->Append (PJMENU_CONVERT_POLAR, "&Polar Image...\tCtrl-L");
@@ -2474,12 +2484,12 @@ ProjectionFileView::OnClose (bool deleteWindow)
   if (!GetDocument()->Close())
     return false;
   
-//  m_canvas->Clear();
-//  m_canvas->setView(NULL);
-//  m_canvas = NULL;
-  wxString s(wxTheApp->GetAppName());
-  if (m_frame)
-    m_frame->SetTitle(s);
+  //m_canvas->Clear();
+  //m_canvas->setView(NULL);
+  m_canvas = NULL;
+//  wxString s(wxTheApp->GetAppName());
+//  if (m_frame)
+//    m_frame->SetTitle(s);
   SetFrame(NULL);
   
   Activate(false);
@@ -2505,6 +2515,8 @@ PlotFileCanvas::~PlotFileCanvas ()
   if (m_pView) {
     wxMenu* pMenu = m_pView->getFileMenu();
     theApp->getDocManager()->FileHistoryRemoveMenu (pMenu);
+    m_pView->canvasClosed();
+    m_pView = NULL;
   }
 }
 
@@ -2798,12 +2810,12 @@ PlotFileView::OnClose (bool deleteWindow)
   if (!GetDocument()->Close())
     return false;
   
-//  m_canvas->Clear();
-//  m_canvas->setView (NULL);
-//  m_canvas = NULL;
-  wxString s(wxTheApp->GetAppName());
-  if (m_frame)
-    m_frame->SetTitle(s);
+  //m_canvas->Clear();
+  //m_canvas->setView (NULL);
+  m_canvas = NULL;
+//  wxString s(wxTheApp->GetAppName());
+//  if (m_frame)
+//    m_frame->SetTitle(s);
   SetFrame(NULL);
   
   Activate(false);
@@ -2823,8 +2835,6 @@ IMPLEMENT_DYNAMIC_CLASS(TextEditView, wxView)
 
 TextEditView::~TextEditView() 
 {
-  if (m_pFileMenu)
-    theApp->getDocManager()->FileHistoryRemoveMenu (m_pFileMenu);
 }
 
 bool TextEditView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
@@ -2945,5 +2955,7 @@ TextEditCanvas::~TextEditCanvas ()
   if (m_pView) {
     wxMenu* pMenu = m_pView->getFileMenu();
     theApp->getDocManager()->FileHistoryRemoveMenu (pMenu);
+    m_pView->canvasClosed();
+    m_pView = NULL;
   }
 }