r440: no message
[ctsim.git] / src / views.cpp
index 62a15395e2cba28502e528d6399d5cf111d821da..1ed04087d2f2fd291e00892f40e6721d14c79382 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.71 2001/01/26 05:37:24 kevin Exp $
+**  $Id: views.cpp,v 1.73 2001/01/26 21:22:37 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
@@ -239,6 +239,7 @@ ImageFileView::ImageFileView(void)
 
 ImageFileView::~ImageFileView(void)
 {
+       wxView::~wxView();
 }
 
 void
@@ -993,12 +994,14 @@ ImageFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) )
 bool 
 ImageFileView::OnClose (bool deleteWindow)
 {
-  if (!GetDocument()->Close())
+  if (! GetDocument() || ! GetDocument()->Close())
     return false;
   
-//  m_canvas->Clear();
-//  m_canvas->setView(NULL);
-  m_canvas = NULL;
+  if (m_canvas) {
+  //  m_canvas->Clear();
+    m_canvas->setView(NULL);
+    m_canvas = NULL;
+  }
   wxString s(theApp->GetAppName());
 //  if (m_frame)
 //    m_frame->SetTitle(s);
@@ -1749,6 +1752,7 @@ PhantomFileView::PhantomFileView(void)
 
 PhantomFileView::~PhantomFileView()
 {
+       wxView::~wxView();
 }
 
 void
@@ -2020,12 +2024,14 @@ PhantomFileView::OnUpdate(wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) )
 bool 
 PhantomFileView::OnClose (bool deleteWindow)
 {
-  if (!GetDocument()->Close())
+  if (! GetDocument() || ! GetDocument()->Close())
     return false;
   
-//  m_canvas->Clear();
-//  m_canvas->setView(NULL);
-  m_canvas = NULL;
+  if (m_canvas) {
+    m_canvas->Clear();
+    m_canvas->setView(NULL);
+    m_canvas = NULL;
+  }
   wxString s(wxTheApp->GetAppName());
   if (m_frame)
     m_frame->SetTitle(s);
@@ -2130,6 +2136,7 @@ ProjectionFileView::ProjectionFileView(void)
 
 ProjectionFileView::~ProjectionFileView(void)
 {
+       wxView::~wxView();
 }
 
 void
@@ -2481,12 +2488,14 @@ ProjectionFileView::OnUpdate(wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint)
 bool 
 ProjectionFileView::OnClose (bool deleteWindow)
 {
-  if (!GetDocument()->Close())
+  if (! GetDocument() || ! GetDocument()->Close())
     return false;
   
-  //m_canvas->Clear();
-  //m_canvas->setView(NULL);
-  m_canvas = NULL;
+  if (m_canvas) {
+    //m_canvas->Clear();
+    m_canvas->setView(NULL);
+    m_canvas = NULL;
+  }
 //  wxString s(wxTheApp->GetAppName());
 //  if (m_frame)
 //    m_frame->SetTitle(s);
@@ -2550,6 +2559,8 @@ PlotFileView::~PlotFileView(void)
 {
   if (m_pEZPlot)
     delete m_pEZPlot;
+
+  wxView::~wxView();
 }
 
 void
@@ -2807,12 +2818,14 @@ PlotFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) )
 bool 
 PlotFileView::OnClose (bool deleteWindow)
 {
-  if (!GetDocument()->Close())
+  if (! GetDocument() || ! GetDocument()->Close())
     return false;
   
-  //m_canvas->Clear();
-  //m_canvas->setView (NULL);
-  m_canvas = NULL;
+  if (m_canvas) {
+    //m_canvas->Clear();
+    m_canvas->setView (NULL);
+    m_canvas = NULL;
+  }
 //  wxString s(wxTheApp->GetAppName());
 //  if (m_frame)
 //    m_frame->SetTitle(s);
@@ -2835,6 +2848,7 @@ IMPLEMENT_DYNAMIC_CLASS(TextFileView, wxView)
 
 TextFileView::~TextFileView() 
 {
+       wxView::~wxView();
 }
 
 bool TextFileView::OnCreate(wxDocument *doc, long WXUNUSED(flags) )
@@ -2873,9 +2887,10 @@ void TextFileView::OnUpdate(wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) )
 bool 
 TextFileView::OnClose (bool deleteWindow)
 {
-  return false;
+       if (m_pFrame->GetTitle() == "Log")
+       return false;
   
-  if (!GetDocument()->Close())
+  if (! GetDocument() || ! GetDocument()->Close())
     return false;
   
   Activate(false);