X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.cpp;h=b6c19bac9106f74df8485eee4128890610d50a7d;hb=ba8635d790ee847d9746c6da24b60bd4cb6d9116;hp=a55ba8e3d0e38cc953e05f906a3cb5ba81a23a1e;hpb=593439890a507e49b5a2a6fa4d463adca61d42c3;p=ctsim.git diff --git a/src/ctsim.cpp b/src/ctsim.cpp index a55ba8e..b6c19ba 100644 --- a/src/ctsim.cpp +++ b/src/ctsim.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: ctsim.cpp,v 1.58 2001/01/29 23:11:32 kevin Exp $ +** $Id: ctsim.cpp,v 1.61 2001/01/30 07:32:13 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.58 2001/01/29 23:11:32 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.61 2001/01/30 07:32:13 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { @@ -138,6 +138,7 @@ 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); + m_pDocTemplGraph3d = new wxDocTemplate (m_docManager, "Graph3dFile", "*.g3d", "", "g3d", "Graph3dFile", "Graph3dView", CLASSINFO(Graph3dFileDocument), CLASSINFO(Graph3dFileView), wxTEMPLATE_INVISIBLE); #if wxUSE_GIF wxImage::AddHandler(new wxGIFHandler); // Required for images in the online documentation @@ -167,6 +168,7 @@ CTSimApp::OnInit() m_docManager->FileHistoryLoad(*m_pConfig); #ifdef CTSIM_MDI +#if 1 m_pLogDoc = newTextDoc(); if (m_pLogDoc) { m_pLog = m_pLogDoc->getTextCtrl(); @@ -175,10 +177,20 @@ CTSimApp::OnInit() m_pLogDoc->getView()->getFrame()->SetTitle("Log"); int xSize, ySize; m_pFrame->GetClientSize(&xSize, &ySize); - int yLogSize = ySize / 3; + int yLogSize = ySize / 4; m_pLogDoc->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); m_pLogDoc->getView()->getFrame()->Show (true); } else +#else +// wxMDIChildFrame *pLogFrame = new wxMDIChildFrame (m_pFrame, -1, "Log", wxDefaultPosition, wxSize(0,0), wxTHICK_FRAME, "Log"); + m_pLog = new wxTextCtrl(m_pFrame->GetClientWindow(), -1, "", wxPoint(0,0), wxSize(0,0), wxTE_MULTILINE | wxTE_READONLY); + int xSize, ySize; + m_pFrame->GetClientSize(&xSize, &ySize); + int yLogSize = ySize / 5; + m_pLog->SetSize (0, ySize - yLogSize, xSize, yLogSize); + m_pLog->Show (true); + m_pLog->Enable (true); +#endif #else m_pLog = new wxTextCtrl (m_pFrame, -1, "Log Window\n", wxPoint(0, 0), wxSize(0,0), wxTE_MULTILINE | wxTE_READONLY); #endif @@ -293,6 +305,8 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const : wxDocParentFrame(manager, frame, id, title, pos, size, type, "MainFrame") #endif { + m_bShuttingDown = false; + //// Make a menubar wxMenu *file_menu = new wxMenu; @@ -368,6 +382,7 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const MainFrame::~MainFrame() { + m_bShuttingDown = true; // Currently used so that Log Window will close if (theApp->getConfig()) theApp->getDocManager()->FileHistorySave (*theApp->getConfig()); delete theApp->getDocManager(); @@ -378,17 +393,13 @@ void MainFrame::OnSize (wxSizeEvent& event) { #ifdef CTSIM_MDI - int xSize, ySize; - wxMDIParentFrame::GetClientSize(&xSize, &ySize); - - if (theApp->getLogDoc()) { + if (theApp->getLogDoc()) { + int xSize, ySize; GetClientSize(&xSize, &ySize); - int yLogSize = ySize / 3; - theApp->getLogDoc()->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); - theApp->getLogDoc()->getView()->getFrame()->Show (true); - } - //GetClientWindow()->SetSize (0, 0, sizeClient.x, sizeClient.y); - //GetClientWindow()->Refresh(); + int yLogSize = ySize / 4; + theApp->getLogDoc()->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); + theApp->getLogDoc()->getView()->getFrame()->Show (true); + } #endif #if CTSIM_MDI @@ -776,7 +787,9 @@ CTSimApp::newProjectionDoc() pFrame->Show (false); } } -// newDoc->OnNewDocument(); + newDoc->SetDocumentName (m_pDocTemplProjection->GetDocumentName()); + newDoc->SetDocumentTemplate (m_pDocTemplProjection); + newDoc->OnNewDocument(); } return newDoc; @@ -795,7 +808,9 @@ CTSimApp::newImageDoc() pFrame->Show (false); } } -// newDoc->OnNewDocument(); + newDoc->SetDocumentName (m_pDocTemplImage->GetDocumentName()); + newDoc->SetDocumentTemplate (m_pDocTemplImage); + newDoc->OnNewDocument(); } return newDoc; @@ -816,7 +831,9 @@ CTSimApp::newPlotDoc() pFrame->Show (false); } } -// newDoc->OnNewDocument(); + newDoc->SetDocumentName (m_pDocTemplPlot->GetDocumentName()); + newDoc->SetDocumentTemplate (m_pDocTemplPlot); + newDoc->OnNewDocument(); } return newDoc; @@ -841,7 +858,9 @@ CTSimApp::newTextDoc() pFrame->Show (false); } } -// newDoc->OnNewDocument(); + newDoc->SetDocumentName (m_pDocTemplText->GetDocumentName()); + newDoc->SetDocumentTemplate (m_pDocTemplText); + newDoc->OnNewDocument(); } return newDoc; @@ -859,7 +878,9 @@ CTSimApp::newPhantomDoc() if (pFrame) pFrame->SetSize (0,0); } -// newDoc->OnNewDocument(); + newDoc->SetDocumentName (m_pDocTemplPhantom->GetDocumentName()); + newDoc->SetDocumentTemplate (m_pDocTemplPhantom); + newDoc->OnNewDocument(); } return newDoc;