** 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
#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;
}
openConfig();
g_bRunningWXWindows = true;
+ bool bPrintFiles = false;
// process options
while (1) {
int c = getopt_long (argc, argv, "", ctsimOptions, NULL);
case '?':
usage (argv[0]);
exit (0);
+ case O_PRINT:
+ bPrintFiles = true;
+ break;
default:
usage (argv[0]);
exit (1);
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;
}
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");
accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('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<int>('0'+i), MAINMENU_WINDOW_BASE+i);
wxAcceleratorTable accelTable (15, accelEntries);
#else
- wxAcceleratorTable accelTable (4, accelEntries);
+ wxAcceleratorTable accelTable (5, accelEntries);
#endif
SetAcceleratorTable (accelTable);
m_htmlHelp.DisplayContents ();
#endif
break;
-
+
+
default:
#ifdef CTSIM_WINHELP
m_winHelp.DisplaySection (commandID);
#else
- m_htmlHelp.DisplaySection (commandID);
+ m_htmlHelp.Display (commandID);
#endif
break;
}
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