r482: no message
[ctsim.git] / src / ctsim.cpp
index 78745a219efaf3be589a89598eae9d2dff9cebc7..c024c6ed8706b9833e7de4b74151a07899613091 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: ctsim.cpp,v 1.62 2001/01/30 10:58:13 kevin Exp $
+**  $Id: ctsim.cpp,v 1.66 2001/02/02 23:04:06 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
@@ -70,7 +70,7 @@
 #endif
 #endif
 
-static const char* rcsindent = "$Id: ctsim.cpp,v 1.62 2001/01/30 10:58:13 kevin Exp $";
+static const char* rcsindent = "$Id: ctsim.cpp,v 1.66 2001/02/02 23:04:06 kevin Exp $";
 
 struct option CTSimApp::ctsimOptions[] = 
 {
@@ -138,8 +138,10 @@ CTSimApp::OnInit()
        m_pDocTemplPhantom = new wxDocTemplate (m_docManager, "PhantomFile", "*.phm", "", "phm", "PhantomFile", "PhantomView", CLASSINFO(PhantomFileDocument), CLASSINFO(PhantomFileView));
        m_pDocTemplPlot = new wxDocTemplate (m_docManager, "PlotFile", "*.plt", "", "plt", "PlotFile", "PlotView", CLASSINFO(PlotFileDocument), CLASSINFO(PlotFileView));
        m_pDocTemplText = new wxDocTemplate (m_docManager, "TextFile", "*.txt", "", "txt", "TextFile", "TextView", CLASSINFO(TextFileDocument), CLASSINFO(TextFileView), wxTEMPLATE_INVISIBLE);
+#if wxUSE_GLCANVAS
        m_pDocTemplGraph3d = new wxDocTemplate (m_docManager, "Graph3dFile", "*.g3d", "", "g3d", "Graph3dFile", "Graph3dView", CLASSINFO(Graph3dFileDocument), CLASSINFO(Graph3dFileView), wxTEMPLATE_INVISIBLE);
-       
+#endif
+
 #if wxUSE_GIF
        wxImage::AddHandler(new wxGIFHandler);     // Required for images in the online documentation
 #endif
@@ -383,10 +385,23 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const
 MainFrame::~MainFrame()
 {
   m_bShuttingDown = true; // Currently used so that Log Window will close
+#if 0
+  // delete all non-modified documents
+       wxList& rListDocs = theApp->getDocManager()->GetDocuments();
+       for (wxNode* pNode = rListDocs.GetFirst(); pNode != NULL; pNode = pNode->GetNext()) {
+               wxDocument* pDoc = dynamic_cast<wxDocument*>(pNode->GetData());
+    if (pDoc && ! pDoc->IsModified()) {
+      theApp->getDocManager()->RemoveDocument(pDoc);
+      delete pDoc;
+    }
+       }
+#endif
+  ::wxYield();
        if (theApp->getConfig())
                theApp->getDocManager()->FileHistorySave (*theApp->getConfig());
-       delete theApp->getDocManager();
-       
+  ::wxYield();
+       delete theApp->getDocManager(); 
+
 }
 
 void
@@ -448,6 +463,7 @@ MainFrame::OnCreateFilter (wxCommandEvent& WXUNUSED(event))
                *theApp->getLog() << os.str().c_str() << "\n";
                wxString filename = "untitled.if";
                ImageFileDocument* pFilterDoc = theApp->newImageDoc();
+    pFilterDoc->setBadFileOpen();
                if (! pFilterDoc) {
                        sys_error (ERR_SEVERE, "Unable to create filter image");
                        return;
@@ -886,6 +902,7 @@ CTSimApp::newPhantomDoc()
        return newDoc;
 }
 
+#if wxUSE_GLCANVAS
 
 Graph3dFileDocument*
 CTSimApp::newGraph3dDoc()
@@ -905,3 +922,4 @@ CTSimApp::newGraph3dDoc()
        
        return newDoc;
 }
+#endif