X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.cpp;h=6207a0ff5ac987517f6070daa949a7b4cd4fb692;hb=d061f33eb1cbb70b365b1dc5b4c773c410cd6bf1;hp=480331266272ad298179e61cb31aeb4539076c8a;hpb=21362871030affef16ed3f135ac36349476416b5;p=ctsim.git diff --git a/src/ctsim.cpp b/src/ctsim.cpp index 4803312..6207a0f 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.80 2001/02/19 20:23:17 kevin Exp $ +** $Id: ctsim.cpp,v 1.84 2001/02/21 00:34:12 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 @@ -72,20 +72,21 @@ #endif #endif -static const char* rcsindent = "$Id: ctsim.cpp,v 1.80 2001/02/19 20:23:17 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.84 2001/02/21 00:34:12 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { {"help", 0, 0, O_HELP}, {"version", 0, 0, O_VERSION}, + {"print", 0, 0, O_PRINT}, {0, 0, 0, 0} }; IMPLEMENT_APP(CTSimApp) CTSimApp::CTSimApp() -: m_docManager(NULL), m_pFrame(NULL), m_pLog(0), m_pLogDoc(0), m_pConfig(0), - m_bAdvancedOptions(false), m_bSetModifyNewDocs(true) +: m_bAdvancedOptions(false), m_bSetModifyNewDocs(true), + m_docManager(NULL), m_pFrame(NULL), m_pLog(0), m_pLogDoc(0), m_pConfig(0) { theApp = this; } @@ -108,6 +109,7 @@ CTSimApp::OnInit() openConfig(); g_bRunningWXWindows = true; + bool bPrintFiles = false; // process options while (1) { int c = getopt_long (argc, argv, "", ctsimOptions, NULL); @@ -127,6 +129,9 @@ CTSimApp::OnInit() case '?': usage (argv[0]); exit (0); + case O_PRINT: + bPrintFiles = true; + break; default: usage (argv[0]); exit (1); @@ -203,10 +208,28 @@ CTSimApp::OnInit() for (int i = optind + 1; i <= argc; i++) { wxString filename = argv [i - 1]; - m_docManager->CreateDocument (filename, wxDOC_SILENT); + wxDocument* pNewDoc = m_docManager->CreateDocument (filename, wxDOC_SILENT); + if (bPrintFiles) { + wxView* pNewView = pNewDoc->GetFirstView(); + wxPrintout *printout = pNewView->OnCreatePrintout(); + if (printout) { + wxPrinter printer; + printer.Print(pNewView->GetFrame(), printout, TRUE); + delete printout; + } + wxCommandEvent nullEvent; + nullEvent.SetId (wxID_CLOSE); + m_docManager->OnFileClose (nullEvent); + } } - - return true; + if (bPrintFiles) { + wxCommandEvent closeEvent; + closeEvent.SetInt (MAINMENU_FILE_EXIT); + m_pFrame->AddPendingEvent(closeEvent); + } + + + return true; } @@ -370,6 +393,7 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxMenu* help_menu = new wxMenu; help_menu->Append (MAINMENU_HELP_CONTENTS, "&Contents\tF1"); + help_menu->Append (IDH_QUICKSTART, "&Quick Start"); #if defined(CTSIM_WINHELP) && (defined(DEBUG) || defined(_DEBUG)) help_menu->Append (MAINMENU_HELP_SECONDARY, "&Secondary Help"); @@ -409,13 +433,13 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const accelEntries[0].Set (wxACCEL_CTRL, static_cast('O'), wxID_OPEN); accelEntries[2].Set (wxACCEL_CTRL, static_cast('P'), MAINMENU_FILE_CREATE_PHANTOM); accelEntries[3].Set (wxACCEL_CTRL, static_cast('F'), MAINMENU_FILE_CREATE_FILTER); -#ifndef CTSIM_MDI accelEntries[4].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS); +#ifndef CTSIM_MDI for (i = 0; i < 10; i++) accelEntries[i+4].Set (wxACCEL_CTRL, static_cast('0'+i), MAINMENU_WINDOW_BASE+i); wxAcceleratorTable accelTable (15, accelEntries); #else - wxAcceleratorTable accelTable (4, accelEntries); + wxAcceleratorTable accelTable (5, accelEntries); #endif SetAcceleratorTable (accelTable); @@ -570,12 +594,13 @@ MainFrame::showHelp (int commandID) m_htmlHelp.DisplayContents (); #endif break; - + + default: #ifdef CTSIM_WINHELP m_winHelp.DisplaySection (commandID); #else - m_htmlHelp.DisplaySection (commandID); + m_htmlHelp.Display (commandID); #endif break; } @@ -815,7 +840,7 @@ MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) wxBitmap bmp (splash); if (bmp.Ok()) { BitmapDialog dlg (&bmp, "About CTSim"); - dlg.Show(true); + dlg.ShowModal(); } else { wxString msg = "CTSim\nThe Open Source Computed Tomography Simulator\n"; #ifdef CTSIMVERSION