// Create new documents
-ProjectionFileDocument*
-CTSimApp::newProjectionDoc()
-{
- wxString fname;
- m_docManager->MakeDefaultName(fname);
- fname += _T(".pj");
- ProjectionFileDocument* newDoc = dynamic_cast<ProjectionFileDocument*>(m_pDocTemplProjection->CreateDocument (fname));
+wxDocument*
+CTSimApp::newDocumentHelper (wxDocTemplate* tmpl) {
+ wxDocument* newDoc = tmpl->CreateDocument (_T(""));
if (newDoc) {
- newDoc->SetDocumentName (m_pDocTemplProjection->GetDocumentName());
- newDoc->SetDocumentTemplate (m_pDocTemplProjection);
+ newDoc->SetDocumentTemplate (tmpl);
newDoc->OnNewDocument();
- newDoc->SetFilename(fname);
+ wxString fname = newDoc->GetFilename();
+ fname += _T(".");
+ fname += tmpl->GetDefaultExtension();
+ newDoc->SetDocumentName(fname);
+ newDoc->SetTitle(fname);
+ newDoc->SetFilename(fname, true);
}
return newDoc;
}
+ProjectionFileDocument*
+CTSimApp::newProjectionDoc()
+{
+ ProjectionFileDocument* newDoc = dynamic_cast<ProjectionFileDocument*>
+ (newDocumentHelper(m_pDocTemplProjection));
+ if (newDoc)
+ newDoc->getView()->getFrame()->SetTitle(newDoc->GetDocumentName());
+ return newDoc;
+}
+
ImageFileDocument*
CTSimApp::newImageDoc()
{
- 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);
- }
+ ImageFileDocument* newDoc = dynamic_cast<ImageFileDocument*>
+ (newDocumentHelper(m_pDocTemplImage));
+ if (newDoc)
+ newDoc->getView()->getFrame()->SetTitle(newDoc->GetDocumentName());
return newDoc;
}
PlotFileDocument*
CTSimApp::newPlotDoc()
{
- 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);
- }
+ PlotFileDocument* newDoc = dynamic_cast<PlotFileDocument*>
+ (newDocumentHelper(m_pDocTemplPlot));
+ if (newDoc)
+ newDoc->getView()->getFrame()->SetTitle(newDoc->GetDocumentName());
return newDoc;
}
TextFileDocument*
CTSimApp::newTextDoc()
{
- wxString fname;
- m_docManager->MakeDefaultName(fname);
- fname += _T(".txt");
-
- 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);
- }
+ TextFileDocument* newDoc = dynamic_cast<TextFileDocument*>
+ (newDocumentHelper(m_pDocTemplText));
+ if (newDoc)
+ newDoc->getView()->getFrame()->SetTitle(newDoc->GetDocumentName());
return newDoc;
}
PhantomFileDocument*
CTSimApp::newPhantomDoc()
{
- 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);
- }
+ PhantomFileDocument* newDoc = dynamic_cast<PhantomFileDocument*>
+ (newDocumentHelper(m_pDocTemplPhantom));
+ if (newDoc)
+ newDoc->getView()->getFrame()->SetTitle(newDoc->GetDocumentName());
return newDoc;
}
Graph3dFileDocument*
CTSimApp::newGraph3dDoc()
{
- wxString fname;
- m_docManager->MakeDefaultName(fname);
- fname += _T(".g3d");
- 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);
- }
+ Graph3dFileDocument* newDoc = dynamic_cast<Graph3dFileDocument*>
+ (newDocumentHelper(m_pDocTemplGraph3d));
+ if (newDoc)
+ newDoc->getView()->getFrame()->SetTitle(newDoc->GetDocumentName());
return newDoc;
}