r413: no message
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 17 Jan 2001 11:00:18 +0000 (11:00 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 17 Jan 2001 11:00:18 +0000 (11:00 +0000)
doc/tex2rtf/ctsim.bib
doc/tex2rtf/ctsim.hpj
doc/tex2rtf/ctsim.tex
doc/tex2rtf/tex2rtf.ini
libctsim/scanner.cpp
msvc/ctsim/ctsim.plg
msvc/ctsim/ctsim.rc
src/ctsim.cpp
src/ctsim.h
src/dlgprojections.cpp
src/views.cpp

index ab7d219efe06991ace0f9e8d794471ded03d1114..bfc781b2ecf0dfd515cc4d25cd8b6da25763ca2e 100644 (file)
@@ -1,11 +1,3 @@
-@book{HERMAN80,
-  author = {G.T. Herman},
-  title = {Image Reconstruction from Projections: The Fundamentals of
-  Computerized Tomography},
-  year = {1980},
-  publisher = {Academic Press, New York, 1980}
-}
-
 @book{KAK87,
   author = {A. Kak and M. Slaney},
   title = {Principles of Computerized Tomographic Imaging},
@@ -13,6 +5,13 @@
   year = {1987}
 }
 
+@book{HERMAN80,
+  author = {G.T. Herman},
+  title = {Image Reconstruction from Projections: The Fundamentals of Computerized Tomography},
+  year = {1980},
+  publisher = {Academic Press, New York, 1980}
+}
+
 @book{PRESS92,
   author = {W.H. Press, S.A. Teukolsky, W.T. Vellerling, and B.P. Flannery},
   title = {Numerical Recipes in C: The Art of Scientific Computing},
 }
 
 @article{SHEPP74,
-  author={L. Shepp and B. Logan},
-  title={The fourier reconstruction of a head section},
+  author = {L. Shepp and B. Logan},
+  title = {The fourier reconstruction of a head section},
   journal = {IEEE Transactions in Nuclear Science},
   volume = {NS-21},
   number = {6},
-  pages = {21--43},
-  year = {1974},
+  pages = {21-43},
+  year = {1974}
 }
+
+
index 7ad590119b3c016b3362f5dd7b3f2b1e0f8e63d1..cbcee074c65fde4a3a3381fcda2c8fabfd3aa269 100644 (file)
@@ -1,10 +1,22 @@
+; This file is maintained by HCW. Do not modify this file directly.
+
 [OPTIONS]
+COMPRESS=12 Hall Zeck
 LCID=0x409 0x0 0x0 ; English (United States)
 REPORT=Yes
+CNT=ctsim.cnt
+COPYRIGHT=Copyright (c) 1983-2001 Kevin Rosenberg, M.D.
 HLP=ctsim.hlp
 
 [FILES]
 ctsim.rtf
 
+[WINDOWS]
+main="",(653,102,360,600),27904,(r14876671),(r12632256),f3
+
 [CONFIG]
 CreateButton("Up", "\&Up", "JumpId(`ctsim.hlp', `Contents')")             ; Buttons
+BrowseButtons()
+
+[BAGGAGE]
+ctsim.cnt
index 7d2fa3aef99adfd8587f77bb7f9b7f3339404ac8..1c8e6176fa33e5de504eec6d83c7d6c3b7ddefd8 100644 (file)
@@ -3,8 +3,8 @@
 \usepackage{times}
 \usepackage{hyperref}
 
-\newcommand{\ctsim}{{\it CTSim}}
-\newcommand{\ctsimtext}{{\it CTSimText}}
+\newcommand{\ctsim}{{\tt CTSim}}
+\newcommand{\ctsimtext}{{\tt CTSimText}}
 
 \newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}%
 \newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}%
@@ -89,7 +89,6 @@ It is available in Windows 95/NT/2000 and Linux GUI versions and non-GUI version
 See the INSTALL file included in the source distribution for instructions.
 
 \section{Requirements}\index{Installation,Build,Requirements}%
-  \item Building CTSim
   \begin{itemize}\itemsep=0pt
   \item zlib Library (optional)
         \par Used for PNG file export.
@@ -109,11 +108,11 @@ See the INSTALL file included in the source distribution for instructions.
        \par Used for debugging memory allocation
        \par www.dmalloc.com
 
-  \item wxWindows library (optional) \par Used for
-  platform-independent graphical interface. The graphical-shell
-  program \ctsim requires this library.  \par www.wxwindows.org
+  \item wxWindows library (optional) 
+  \par Used for platform-independent graphical interface. The graphical-shell
+  program \ctsim requires this library.  
+  \par www.wxwindows.org
 
-  \end{itemize}
 \end{itemize}
 
 \chapter{ctsim - the Graphical User Interface}%\index{ctsim}% 
@@ -252,6 +251,8 @@ a rotation angle of 1 and for equilinear and equiangular geometries use a rotati
     Sets the distance of the radiation source and detectors from the center of the object as a ratio of the radius of the object. For parallel geometries, a value of 1.0 is fine. For other geometries, this should be at least 2.0 to avoid artifacts.
 \end{itemize}
 
+The Herman phantom is taken with permission from Gabor Hermans 1980 book\cite{HERMAN80}. The Shepp-Logan phantom was published in 1974\cite{SHEPP74}.
+
 \subsection{phm2if}\index{Programs,ctsimtext,phm2if}%
 Converts a geometric phantom object into an imagefile. The size of the
 imagefile in pixels must be specified as well as the number of samples
@@ -365,10 +366,6 @@ statistics as described by Herman\cite{HERMAN80}.
 
 \newpage
 
-\nocite{KAK87}
-\nocite{PRESS82}
-\nocite{SHEPP74}
-
 \bibliographystyle{plain}
 \bibliography{ctsim}
 \addcontentsline{toc}{chapter}{Bibliography}
index e099441d3e7ec263dd459217ec90cc3c3de38ede..e5d592f8d038fccf2658084a5af617d20242ac02 100644 (file)
@@ -5,5 +5,6 @@ winHelpContents = yes
 combineSubSections = true
 runTwice = yes
 useUpButton = yes
+winHelpTitle=CTSim Manual
 
 
index 465523a1e3bc5e8fef7fa19b679f8aaaf436ae17..453e913f99feff3a30c17a635880512e89b1bdbc 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: scanner.cpp,v 1.24 2001/01/17 06:38:06 kevin Exp $
+**  $Id: scanner.cpp,v 1.25 2001/01/17 11:00:18 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
@@ -538,10 +538,10 @@ Scanner::traceShowParamRasterOp (int iRasterOp, const char *szLabel, const char
     double dYPos = m_dYMaxWin - (row * m_dTextHeight);
     m_pSGP->moveAbs (m_dXMinWin, dYPos);
     m_pSGP->setTextColor (color, -1);
-//    m_pSGP->drawText (szLabel);
+    m_pSGP->drawText (szLabel);
     double dValueOffset = (m_dXMaxWin - m_dXMinWin) / 4;
     m_pSGP->moveAbs (m_dXMinWin + dValueOffset, dYPos);
-//    m_pSGP->drawText (szValue);
+    m_pSGP->drawText (szValue);
   } else 
 #endif
   {
index 2811e1416668e179d937899d0722621f5237066b..2a0e0e8553e955d2598a7aeb011fdcd8cf2a226a 100644 (file)
 <pre>
 <h1>Build Log</h1>
 <h3>
---------------------Configuration: ctsim - Win32 Debug--------------------
+--------------------Configuration: libctsim - Win32 Release--------------------
 </h3>
 <h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP88.tmp" with contents
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP190.tmp" with contents
 [
-/nologo /G6 /MTd /W3 /Gm /GR /GX /ZI /Od /I "\wx2\include" /I "." /I "..\..\include" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\zlib" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /D VERSION=\"2.5.0\" /D "_DEBUG" /D "__WXMSW__" /D "HAVE_SGP" /D "HAVE_PNG" /D "HAVE_WXWINDOWS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_STRING_H" /D "HAVE_FFTW" /D "HAVE_RFFTW" /D "HAVE_GETOPT_H" /D "MSVC" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D CTSIMVERSION=\"3.0.0alpha5\" /FR"Debug/" /Fp"Debug/ctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c 
-"C:\ctsim\src\ctsim.cpp"
+/nologo /G6 /MT /W3 /GR- /GX /O2 /I "..\..\..\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2\include" /D "NDEBUG" /D "HAVE_STRING_H" /D "HAVE_GETOPT_H" /D "WIN32" /D "_MBCS" /D "_LIB" /D "MSVC" /D "HAVE_FFTW" /D "HAVE_PNG" /D "HAVE_SGP" /D "HAVE_WXWINDOWS" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /Fp"Release/libctsim.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c 
+"C:\ctsim\libctsim\backprojectors.cpp"
 ]
-Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP88.tmp" 
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP89.tmp" with contents
+Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP190.tmp" 
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP191.tmp" with contents
 [
-comctl32.lib winmm.lib rpcrt4.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libctsim/Debug/libctsim.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\..\lpng108\msvc\win32\libpng\lib_dbg\libpng.lib ..\..\..\lpng108\msvc\win32\zlib\lib_dbg\zlib.lib libcmtd.lib ..\..\..\fftw-2.1.3\Win32\FFTW2st\Debug\FFTW2st.lib ..\..\..\fftw-2.1.3\Win32\RFFTW2st\Debug\RFFTW2st.lib ../../../wx2/lib/wxd.lib  xpmd.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/ctsim.pdb" /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrtd.lib" /out:"Debug/ctsim.exe" /pdbtype:sept /libpath:"..\..\..\lpng108\msvc\win32\libpng\lib" /libpath:"..\..\..\lpng108\msvc\win32\zlib\lib" /libpath:"..\..\..\wx2\lib" 
-.\Debug\ctsim.obj
-.\Debug\dialogs.obj
-.\Debug\dlgprojections.obj
-.\Debug\dlgreconstruct.obj
-.\Debug\docs.obj
-.\Debug\views.obj
-.\Debug\ctsim.res
-\ctsim\msvc\libctsim\Debug\libctsim.lib
-"\fftw-2.1.3\Win32\FFTW2st\Debug\FFTW2st.lib"
-"\fftw-2.1.3\Win32\RFFTW2st\Debug\RFFTW2st.lib"
-\wx2\lib\wxd.lib
+/nologo /G6 /MT /W3 /GR /GX /O2 /I "..\..\..\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2\include" /D "NDEBUG" /D "HAVE_STRING_H" /D "HAVE_GETOPT_H" /D "WIN32" /D "_MBCS" /D "_LIB" /D "MSVC" /D "HAVE_FFTW" /D "HAVE_PNG" /D "HAVE_SGP" /D "HAVE_WXWINDOWS" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /Fp"Release/libctsim.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c 
+"C:\ctsim\libctgraphics\dlgezplot.cpp"
+"C:\ctsim\libctgraphics\ezplot.cpp"
+"C:\ctsim\libctgraphics\ezset.cpp"
+"C:\ctsim\libctgraphics\ezsupport.cpp"
+"C:\ctsim\libctsim\filter.cpp"
+"C:\ctsim\libctsim\fourier.cpp"
+"C:\ctsim\libctsim\globalvars.cpp"
+"C:\ctsim\libctsupport\hashtable.cpp"
+"C:\ctsim\libctsim\imagefile.cpp"
+"C:\ctsim\libctsim\phantom.cpp"
+"C:\ctsim\libctsupport\plotfile.cpp"
+"C:\ctsim\libctgraphics\pol.cpp"
+"C:\ctsim\libctsim\procsignal.cpp"
+"C:\ctsim\libctsim\projections.cpp"
+"C:\ctsim\libctsim\reconstruct.cpp"
+"C:\ctsim\libctsim\scanner.cpp"
+"C:\ctsim\libctgraphics\sgp.cpp"
+"C:\ctsim\libctsupport\syserror.cpp"
+"C:\ctsim\libctsim\trace.cpp"
 ]
-Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP89.tmp"
+Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP191.tmp" 
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP192.tmp" with contents
+[
+/nologo /out:"Release\libctsim.lib" 
+.\Release\array2dfile.obj
+.\Release\backprojectors.obj
+.\Release\clip.obj
+.\Release\consoleio.obj
+.\Release\dlgezplot.obj
+.\Release\ezplot.obj
+.\Release\ezset.obj
+.\Release\ezsupport.obj
+.\Release\filter.obj
+.\Release\fnetorderstream.obj
+.\Release\fourier.obj
+.\Release\getopt.obj
+.\Release\getopt1.obj
+.\Release\globalvars.obj
+.\Release\hashtable.obj
+.\Release\imagefile.obj
+.\Release\mathfuncs.obj
+.\Release\phantom.obj
+.\Release\plotfile.obj
+.\Release\pol.obj
+.\Release\procsignal.obj
+.\Release\projections.obj
+.\Release\reconstruct.obj
+.\Release\scanner.obj
+.\Release\sgp.obj
+.\Release\strfuncs.obj
+.\Release\syserror.obj
+.\Release\trace.obj
+.\Release\transformmatrix.obj
+.\Release\xform.obj
+]
+Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP192.tmp"
 <h3>Output Window</h3>
 Compiling...
-ctsim.cpp
-Linking...
-
-
-
-<h3>Results</h3>
-ctsim.exe - 0 error(s), 0 warning(s)
-</pre>
-</body>
-</html>
+backprojectors.cpp
+Compiling...
+dlgezplot.cpp
+ezplot.cpp
+ezset.cpp
+ezsupport.cpp
+filter.cpp
+fourier.cpp
+globalvars.cpp
+hashtable.cpp
+imagefile.cpp
+phantom.cpp
+plotfile.cpp
+pol.cpp
+procsignal.cpp
+projections.cpp
+reconstruct.cpp
+scanner.cpp
+sgp.cpp
+syserror.cpp
+trace.cpp
+Creating library...
+<h3>
+--------------------Configuration: ctsim - Win32 Release--------------------
+</h3>
+<h3>Command Lines</h3>
+Creating command line "rc.exe /l 0x409 /fo"Release/ctsim.res" /i "\wx2\include\wx\msw" /i "\wx2\include" /d "NDEBUG" "C:\ctsim\msvc\ctsim\ctsim.rc"" 
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP193.tmp" with contents
+[
+/nologo /G6 /MT /W3 /GR /GX /O2 /I "." /I "..\..\include" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\zlib" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2\include" /D "NDEBUG" /D "__WXWIN__" /D "__WXMSW__" /D "HAVE_SGP" /D "HAVE_PNG" /D "HAVE_WXWINDOWS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_STRING_H" /D "HAVE_FFTW" /D "HAVE_RFFTW" /D 
\ No newline at end of file
index e34c0e1b0132c1cbda31462afde327f87abeabae..3446e6ff4a25715a63c449add5827621de4af8ab 100644 (file)
@@ -1,4 +1,4 @@
 ICON_APP               ICON "logo.ico"
-wxSTD_FRAME            ICON "logo.ico"
 
 #include "wx/msw/wx.rc"
+#include "wx/html/msw/wxhtml.rc"
index 781e9c0fd8cf1016516a3d938a1ea505efdad188..190ad49e34a2649242725e45d386422864df0c1c 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: ctsim.cpp,v 1.30 2001/01/17 06:38:06 kevin Exp $
+**  $Id: ctsim.cpp,v 1.31 2001/01/17 11:00:18 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
 #include "wx/wx.h"
 #endif
 
+#include "wx/image.h"
+#include "wx/filesys.h"
+#include "wx/fs_zip.h"
+
 #if !wxUSE_DOC_VIEW_ARCHITECTURE
 #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h!
 #endif
@@ -61,7 +65,7 @@
 #endif
 #endif
 
-static const char* rcsindent = "$Id: ctsim.cpp,v 1.30 2001/01/17 06:38:06 kevin Exp $";
+static const char* rcsindent = "$Id: ctsim.cpp,v 1.31 2001/01/17 11:00:18 kevin Exp $";
 
 struct option CTSimApp::ctsimOptions[] = 
 {
@@ -126,7 +130,15 @@ CTSimApp::OnInit()
   new wxDocTemplate (m_docManager, "PhantomFile", "*.phm", "", "phm", "Phantom doc", "Phantom View", CLASSINFO(PhantomDocument), CLASSINFO(PhantomView));
   new wxDocTemplate (m_docManager, "PlotFile", "*.plt", "", "plt", "Plot doc", "Plot View", CLASSINFO(PlotFileDocument), CLASSINFO(PlotFileView));
   
-  //// Create the main frame window
+#if wxUSE_GIF
+    wxImage::AddHandler(new wxGIFHandler);     // Required for images in the online documentation
+#endif
+
+#if wxUSE_STREAMS && wxUSE_ZIPSTREAM && wxUSE_ZLIB
+      wxFileSystem::AddHandler(new wxZipFSHandler);     // Required for advanced HTML help
+#endif
+
+  // Create the main frame window
   m_pFrame = new MainFrame(m_docManager, (wxFrame *) NULL, -1, "CTSim", wxPoint(0, 0), wxSize(500, 400), wxDEFAULT_FRAME_STYLE);
 
   SetTopWindow (m_pFrame);
@@ -141,9 +153,20 @@ CTSimApp::OnInit()
 
   setIconForFrame (m_pFrame);
 
+  if (! m_pFrame->getHelpController().Initialize("ctsim"))
+    ::wxMessageBox ("Cannot initialize the help system", "Error");
+
+  wxAcceleratorEntry accelEntries[3];
+  accelEntries[0].Set(wxACCEL_CTRL, WXK_F1, MAINMENU_HELP_TOPICS);
+  accelEntries[1].Set(wxACCEL_CTRL, (int) 'P', MAINMENU_FILE_CREATE_PHANTOM);
+  accelEntries[2].Set(wxACCEL_CTRL, (int) 'F', MAINMENU_FILE_CREATE_FILTER);
+  wxAcceleratorTable accelTable (2, accelEntries);
+  m_pFrame->SetAcceleratorTable (accelTable);
+
   return true;
 }
 
+
 #include "./ctsim.xpm"
 void
 CTSimApp::setIconForFrame(wxFrame* pFrame)
@@ -199,7 +222,7 @@ BEGIN_EVENT_TABLE(MainFrame, wxDocParentFrame)
 #endif
 
 EVT_MENU(MAINMENU_HELP_ABOUT, MainFrame::OnAbout)
-EVT_MENU(MAINMENU_HELP_CONTENTS, MainFrame::OnHelpContents)
+EVT_MENU(MAINMENU_HELP_TOPICS, MainFrame::OnHelpTopics)
 EVT_MENU(MAINMENU_FILE_CREATE_PHANTOM, MainFrame::OnCreatePhantom)
 EVT_MENU(MAINMENU_FILE_CREATE_FILTER, MainFrame::OnCreateFilter)
 EVT_MENU(MAINMENU_FILE_EXIT, MainFrame::OnExit)
@@ -244,8 +267,8 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const
   //// Make a menubar
   wxMenu *file_menu = new wxMenu;
   
-  file_menu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...");
-  file_menu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...");
+  file_menu->Append(MAINMENU_FILE_CREATE_PHANTOM, "Cr&eate Phantom...\tCtrl-P");
+  file_menu->Append(MAINMENU_FILE_CREATE_FILTER, "Create &Filter...\tCtrl-F");
   file_menu->Append(wxID_OPEN, "&Open...");
   
   file_menu->AppendSeparator();
@@ -258,7 +281,7 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const
   m_pWindowMenu->UpdateUI (this);
   
   wxMenu* help_menu = new wxMenu;
-  help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents");
+  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tF1");
   help_menu->AppendSeparator();
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
@@ -377,9 +400,25 @@ CTSimApp::getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector<Imag
 }
 
 void 
-MainFrame::OnHelpContents(wxCommandEvent& WXUNUSED(event) )
+MainFrame::OnHelpTopics (wxCommandEvent& event)
 {
-  wxMessageBox("No help available, refer to man pages of command-line tools");
+   showHelp (event.GetId());
+}
+
+void
+MainFrame::showHelp (int commandID)
+{
+  m_help.LoadFile();
+
+  switch (commandID) {
+  case MAINMENU_HELP_TOPICS:
+     m_help.DisplayContents();
+     break;
+
+  default:
+    *getLog() << "Unknown help command # " << commandID << "\n";
+    break;
+  }
 }
 
 void 
index 06c18b35c8b9e200cc3e10a961a3548a32753eec..e92b16bb5ee8ac40c8a87bdd20b9046a58b93308 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: ctsim.h,v 1.24 2001/01/13 10:14:06 kevin Exp $
+**  $Id: ctsim.h,v 1.25 2001/01/17 11:00:18 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
@@ -54,6 +54,8 @@ class ImageFileDocument;
 #include "wx/docview.h"
 #include "wx/textctrl.h"
 #include "wx/menu.h"
+#include "wx/help.h"
+#include "wx/html/helpctrl.h"
 #include "dlgezplot.h"
 
 
@@ -83,12 +85,27 @@ private:
   double m_dDefaultFilterInputScale;
   double m_dDefaultFilterOutputScale;
   
+#ifdef __WXMSW__
+  wxWinHelpController      m_help;
+#else
+  wxHtmlHelpController     m_help;
+#endif
+
   
 public:
   MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type);
   
+#ifdef __WXMSW__
+  wxWinHelpController&   getHelpController()
+  {return m_help; }
+#else
+  wxHtmlHelpController&  getHelpController()
+  { return m_help; }
+#endif
+  void showHelp (int commandID);
+
   void OnAbout (wxCommandEvent& event);
-  void OnHelpContents (wxCommandEvent& event);
+  void OnHelpTopics (wxCommandEvent& event);
   void OnCreatePhantom (wxCommandEvent& event);
   
   void OnCreateFilter (wxCommandEvent& event);
@@ -171,7 +188,7 @@ extern class CTSimApp* theApp;
 enum {
   MAINMENU_HELP_ABOUT = 500,
     MAINMENU_WINDOW_BASE,
-    MAINMENU_HELP_CONTENTS,
+    MAINMENU_HELP_TOPICS,
     MAINMENU_FILE_CREATE_PHANTOM,
     
     MAINMENU_FILE_CREATE_FILTER,
index d340914efbb07424ac7bab15a599c0f02cbf6758..dfe49294280eaecdf2701fe921e74af9bc9cd857 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: dlgprojections.cpp,v 1.17 2001/01/17 06:38:06 kevin Exp $
+**  $Id: dlgprojections.cpp,v 1.18 2001/01/17 11:00:18 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
@@ -107,7 +107,7 @@ ProjectionsDialog::ProjectionsDialog (Scanner& rScanner, Projections& rProj, con
     SetAutoLayout(TRUE);
     Layout();
        
-    wxSize sizeDlg (250,250);
+    wxSize sizeDlg (500,500);
     if (sizeDlg.x != sizeDlg.y) {
                sizeDlg.x = max(sizeDlg.x,sizeDlg.y);
                sizeDlg.y = max(sizeDlg.x,sizeDlg.y);
index cade26ae08622e504e85c248ed607428d3ef0226..eab097cfd309837d8e384946272ba44dd4001294 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.63 2001/01/16 20:55:29 kevin Exp $
+**  $Id: views.cpp,v 1.64 2001/01/17 11:00:18 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
@@ -840,6 +840,7 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   analyze_menu->Append (IFMENU_COMPARE_COL, "Compare &Column");
   
   wxMenu *help_menu = new wxMenu;
+  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -1892,7 +1893,7 @@ PhantomView::CreateChildFrame(wxDocument *doc, wxView *view)
   process_menu->Append(PHMMENU_PROCESS_PROJECTIONS, "&Projections...");
   
   wxMenu *help_menu = new wxMenu;
-  help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents");
+  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -2253,8 +2254,7 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   reconstruct_menu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Fourier...");
 
   wxMenu *help_menu = new wxMenu;
-  help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents");
-  help_menu->AppendSeparator();
+  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -2539,8 +2539,7 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   view_menu->Append(PLOTMENU_VIEW_SCALE_FULL, "Display &Full Scale");
   
   wxMenu *help_menu = new wxMenu;
-  help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents");
-  help_menu->AppendSeparator();
+  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;