Fix plot initialization, improve frame titles
[ctsim.git] / src / ctsim.cpp
index 9b7957966c5fbc06b5668510edf909e944be53c1..756f6205be1abe990193b2beed6170ebe85723b6 100644 (file)
@@ -347,18 +347,6 @@ CTSimApp::closeConfig()
 }
 
 
-wxString
-CTSimApp::getUntitledFilename()
-{
-  static int untitledNumber = 1;
-
-  wxString filename (_T("Untitled"));
-  filename << untitledNumber++;
-
-  return (filename);
-}
-
-
 // Top-level window for CTSim
 
 #if CTSIM_MDI
@@ -597,7 +585,6 @@ MainFrame::OnCreateFilter (wxCommandEvent& WXUNUSED(event))
       m_dDefaultFilterBandwidth
        << _T(", inputScale=") << m_dDefaultFilterInputScale << _T(", outputScale=") << m_dDefaultFilterOutputScale;
     *theApp->getLog() << os << _T("\n");
-    wxString filename = _T("untitled.if");
     ImageFileDocument* pFilterDoc = theApp->newImageDoc();
     pFilterDoc->setBadFileOpen();
     if (! pFilterDoc) {
@@ -973,13 +960,8 @@ MainFrame::OnImport (wxCommandEvent& WXUNUSED(event) )
     return;
   }
 
-#if WXWIN_COMPATIBILITY_2_4
-  wxString strFilename = wxFileSelector (wxString(wxConvUTF8.cMB2WX("Import Filename")), wxString(wxConvUTF8.cMB2WX("")),
-                                         wxString(wxConvUTF8.cMB2WX("")), strExt, strWildcard, wxHIDE_READONLY | wxOPEN);
-#else
   wxString strFilename = wxFileSelector (wxString(wxConvUTF8.cMB2WX("Import Filename")), wxString(wxConvUTF8.cMB2WX("")),
                                          wxString(wxConvUTF8.cMB2WX("")), strExt, strWildcard, wxOPEN);
-#endif
 
   if (! strFilename.IsEmpty()) {
     if (m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_PPM || m_iDefaultImportFormat == ImageFile::IMPORT_FORMAT_PNG) {
@@ -1084,11 +1066,15 @@ MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
 ProjectionFileDocument*
 CTSimApp::newProjectionDoc()
 {
-  ProjectionFileDocument* newDoc = dynamic_cast<ProjectionFileDocument*>(m_pDocTemplProjection->CreateDocument (_T("")));
+  wxString fname;
+  m_docManager->MakeDefaultName(fname);
+  fname += _T(".pj");
+  ProjectionFileDocument* newDoc = dynamic_cast<ProjectionFileDocument*>(m_pDocTemplProjection->CreateDocument (fname));
   if (newDoc) {
     newDoc->SetDocumentName (m_pDocTemplProjection->GetDocumentName());
     newDoc->SetDocumentTemplate (m_pDocTemplProjection);
     newDoc->OnNewDocument();
+    newDoc->SetFilename(fname);
   }
 
   return newDoc;
@@ -1097,11 +1083,15 @@ CTSimApp::newProjectionDoc()
 ImageFileDocument*
 CTSimApp::newImageDoc()
 {
-  ImageFileDocument* newDoc = dynamic_cast<ImageFileDocument*>(m_pDocTemplImage->CreateDocument (_T("")));
+  wxString fname;
+  m_docManager->MakeDefaultName(fname);
+  fname += _T(".if");
+  ImageFileDocument* newDoc = dynamic_cast<ImageFileDocument*>(m_pDocTemplImage->CreateDocument (fname));
   if (newDoc) {
     newDoc->SetDocumentName (m_pDocTemplImage->GetDocumentName());
     newDoc->SetDocumentTemplate (m_pDocTemplImage);
     newDoc->OnNewDocument();
+    newDoc->SetFilename(fname);
   }
 
   return newDoc;
@@ -1110,11 +1100,15 @@ CTSimApp::newImageDoc()
 PlotFileDocument*
 CTSimApp::newPlotDoc()
 {
-  PlotFileDocument* newDoc = dynamic_cast<PlotFileDocument*>(m_pDocTemplPlot->CreateDocument (_T("")));
+  wxString fname;
+  m_docManager->MakeDefaultName(fname);
+  fname += _T(".plt");
+  PlotFileDocument* newDoc = dynamic_cast<PlotFileDocument*>(m_pDocTemplPlot->CreateDocument (fname));
   if (newDoc) {
     newDoc->SetDocumentName (m_pDocTemplPlot->GetDocumentName());
     newDoc->SetDocumentTemplate (m_pDocTemplPlot);
     newDoc->OnNewDocument();
+    newDoc->SetFilename(fname);
   }
 
   return newDoc;
@@ -1124,14 +1118,16 @@ CTSimApp::newPlotDoc()
 TextFileDocument*
 CTSimApp::newTextDoc()
 {
-  wxString strFilename (getUntitledFilename());
-  strFilename += wxString(".txt", *wxConvCurrent);
+  wxString fname;
+  m_docManager->MakeDefaultName(fname);
+  fname += _T(".txt");
 
-  TextFileDocument* newDoc = dynamic_cast<TextFileDocument*>(m_pDocTemplText->CreateDocument (_T("")));
+  TextFileDocument* newDoc = dynamic_cast<TextFileDocument*>(m_pDocTemplText->CreateDocument (fname));
   if (newDoc) {
     newDoc->SetDocumentName (m_pDocTemplText->GetDocumentName());
     newDoc->SetDocumentTemplate (m_pDocTemplText);
     newDoc->OnNewDocument();
+    newDoc->SetFilename (fname);
   }
 
   return newDoc;
@@ -1141,11 +1137,15 @@ CTSimApp::newTextDoc()
 PhantomFileDocument*
 CTSimApp::newPhantomDoc()
 {
-  PhantomFileDocument* newDoc = dynamic_cast<PhantomFileDocument*>(m_pDocTemplPhantom->CreateDocument (_T("")));
+  wxString fname;
+  m_docManager->MakeDefaultName(fname);
+  fname += _T(".phm");
+  PhantomFileDocument* newDoc = dynamic_cast<PhantomFileDocument*>(m_pDocTemplPhantom->CreateDocument (fname));
   if (newDoc) {
     newDoc->SetDocumentName (m_pDocTemplPhantom->GetDocumentName());
     newDoc->SetDocumentTemplate (m_pDocTemplPhantom);
     newDoc->OnNewDocument();
+    newDoc->SetFilename(fname);
   }
 
   return newDoc;
@@ -1156,13 +1156,18 @@ CTSimApp::newPhantomDoc()
 Graph3dFileDocument*
 CTSimApp::newGraph3dDoc()
 {
-  Graph3dFileDocument* newDoc = dynamic_cast<Graph3dFileDocument*>(m_pDocTemplGraph3d->CreateDocument (_T("")));
+  wxString fname;
+  m_docManager->MakeDefaultName(fname);
+  fname += _T(".3dif");
+  Graph3dFileDocument* newDoc = dynamic_cast<Graph3dFileDocument*>(m_pDocTemplGraph3d->CreateDocument (fname));
   if (newDoc) {
     newDoc->SetDocumentName (m_pDocTemplGraph3d->GetDocumentName());
     newDoc->SetDocumentTemplate (m_pDocTemplGraph3d);
     newDoc->OnNewDocument();
+    newDoc->SetFilename(fname);
   }
 
   return newDoc;
 }
+
 #endif