+
+ProjectionFileDocument*
+CTSimApp::newProjectionDoc()
+{
+ ProjectionFileDocument* newDoc = dynamic_cast<ProjectionFileDocument*>(m_pDocTemplProjection->CreateDocument (""));
+ if (newDoc) {
+ ProjectionFileView* pView = newDoc->getView();
+ if (pView) {
+ wxFrame* pFrame = pView->getFrame();
+ if (pFrame) {
+ pFrame->SetSize (0,0);
+ pFrame->Show (false);
+ }
+ }
+ newDoc->SetDocumentName (m_pDocTemplProjection->GetDocumentName());
+ newDoc->SetDocumentTemplate (m_pDocTemplProjection);
+ newDoc->OnNewDocument();
+ }
+
+ return newDoc;
+}
+
+ImageFileDocument*
+CTSimApp::newImageDoc()
+{
+ ImageFileDocument* newDoc = dynamic_cast<ImageFileDocument*>(m_pDocTemplImage->CreateDocument (""));
+ if (newDoc) {
+ ImageFileView* pView = newDoc->getView();
+ if (pView) {
+ wxFrame* pFrame = pView->getFrame();
+ if (pFrame) {
+ pFrame->SetSize (0,0);
+ pFrame->Show (false);
+ }
+ }
+ newDoc->SetDocumentName (m_pDocTemplImage->GetDocumentName());
+ newDoc->SetDocumentTemplate (m_pDocTemplImage);
+ newDoc->OnNewDocument();
+ }
+
+ return newDoc;
+}
+
+PlotFileDocument*
+CTSimApp::newPlotDoc()
+{
+ PlotFileDocument* newDoc = dynamic_cast<PlotFileDocument*>(m_pDocTemplPlot->CreateDocument (""));
+ if (newDoc) {
+ PlotFileView* pView = newDoc->getView();
+ if (pView) {
+ wxFrame* pFrame = pView->getFrame();
+ if (pFrame) {
+ wxSize size;
+ m_pFrame->GetClientSize (&size.x, &size.y);
+ pFrame->SetSize (size.x / 2, size.y / 2);
+ pFrame->Show (false);
+ }
+ }
+ newDoc->SetDocumentName (m_pDocTemplPlot->GetDocumentName());
+ newDoc->SetDocumentTemplate (m_pDocTemplPlot);
+ newDoc->OnNewDocument();
+ }
+
+ return newDoc;
+}
+
+
+TextFileDocument*
+CTSimApp::newTextDoc()
+{
+ wxString strFilename (getUntitledFilename());
+ strFilename += ".txt";
+
+ TextFileDocument* newDoc = dynamic_cast<TextFileDocument*>(m_pDocTemplText->CreateDocument (""));
+ if (newDoc) {
+ TextFileView* pView = newDoc->getView();
+ if (pView) {
+ wxFrame* pFrame = pView->getFrame();
+ if (pFrame) {
+ wxSize size;
+ m_pFrame->GetClientSize (&size.x, &size.y);;
+ pFrame->SetSize (size.x / 2, size.y / 2);
+ pFrame->Show (false);
+ }
+ }
+ newDoc->SetDocumentName (m_pDocTemplText->GetDocumentName());
+ newDoc->SetDocumentTemplate (m_pDocTemplText);
+ newDoc->OnNewDocument();
+ }
+
+ return newDoc;
+}
+
+
+PhantomFileDocument*
+CTSimApp::newPhantomDoc()
+{
+ PhantomFileDocument* newDoc = dynamic_cast<PhantomFileDocument*>(m_pDocTemplPhantom->CreateDocument (""));
+ if (newDoc) {
+ PhantomFileView* pView = newDoc->getView();
+ if (pView) {
+ wxFrame* pFrame = pView->getFrame();
+ if (pFrame)
+ pFrame->SetSize (0,0);
+ }
+ newDoc->SetDocumentName (m_pDocTemplPhantom->GetDocumentName());
+ newDoc->SetDocumentTemplate (m_pDocTemplPhantom);
+ newDoc->OnNewDocument();
+ }
+
+ return newDoc;
+}
+
+#if wxUSE_GLCANVAS
+
+Graph3dFileDocument*
+CTSimApp::newGraph3dDoc()
+{
+ Graph3dFileDocument* newDoc = dynamic_cast<Graph3dFileDocument*>(m_pDocTemplGraph3d->CreateDocument (""));
+ if (newDoc) {
+ Graph3dFileView* pView = newDoc->getView();
+ if (pView) {
+ wxFrame* pFrame = pView->getFrame();
+ if (pFrame)
+ pFrame->SetSize (0,0);
+ }
+ newDoc->SetDocumentName (m_pDocTemplGraph3d->GetDocumentName());
+ newDoc->SetDocumentTemplate (m_pDocTemplGraph3d);
+ newDoc->OnNewDocument();
+ }
+
+ return newDoc;
+}
+#endif