From: Kevin M. Rosenberg Date: Thu, 18 Jan 2001 21:30:22 +0000 (+0000) Subject: r418: no message X-Git-Tag: debian-4.5.3-3~599 X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=commitdiff_plain;h=3195acb0c7c6e7a660fe27eb653a0aca56e91024 r418: no message --- diff --git a/doc/tex2rtf/ctsim.tex b/doc/tex2rtf/ctsim.tex index 1b15b07..05ddbf7 100644 --- a/doc/tex2rtf/ctsim.tex +++ b/doc/tex2rtf/ctsim.tex @@ -5,7 +5,7 @@ \newcommand{\ctsim}{{\tt CTSim}} \newcommand{\ctsimtext}{{\tt CTSimText}} -\newcommand{\usage}{{\bf Usage \par}} +\newcommand{\usage}{{\bf Usage}{\par}} \newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}% \newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}% @@ -20,7 +20,7 @@ \date{January 2001}% }% \winhelponly{\title{Manual for CTSim 3.0}% -\author{by Kevin Rosenberg, M.D.\\$$\image{1cm;0cm}{logo-huge.bmp}$$}% +\author{by Kevin Rosenberg, M.D.\\$$\image{3cm;3cm}{logo-huge.bmp}$$}% }% \makeindex% \begin{document}% @@ -60,7 +60,7 @@ PERFORMANCE OF THIS SOFTWARE. \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% \setfooter{\thepage}{}{}{}{}{\thepage}% -\winhelponly{\image{1cm;0cm}{logo-huge.bmp}\par}% +\winhelponly{$$\image{3cm;3cm}{logo-huge}$$}% Computed Tomography is a technique for estimating the interior of an object from measurement of radiation collected around the object. This radiation @@ -69,6 +69,8 @@ can be either projected through or emitted from the object. \rtfsp\ctsim\ can then reconstruct the interior of the object from the projections collected around the phantom object. +The \ctsim\ package has two executable files: the graphical \helprefn{ctsim}{ctsim} and text \helprefn{ctsimtext}{ctsimtext} programs. + \chapter{Installation}\index{Installation}% \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% \setfooter{\thepage}{}{}{}{}{\thepage}% @@ -88,11 +90,11 @@ It is available in Windows 95/NT/2000 and Linux GUI versions and non-GUI version \section{Installing Windows Binary}\index{Installation,Windows}% -\section{Build From Sources}%\index{Installation,Build}% +\section{Build From Sources}\label{build}\index{Installation,Build}% See the INSTALL file included in the source distribution for instructions. -\section{Requirements}\index{Installation,Requirements}% +\section{Requirements}\label{installreq}\index{Installation,Requirements}% \begin{itemize}\itemsep=0pt \item zlib Library (optional) \par Used for PNG file export. @@ -130,16 +132,16 @@ the command-line tool {\tt ctsimtext} as well as image processing and visualizat \ctsim\ can open projection files, image files, phantom definition files, and plotfiles. -\usage\ +\usage ctsim [OPTIONS] [files to open...] -\chapter{ctsimtext}\index{ctsimtext}% +\chapter{ctsimtext}\label{ctsimtext}\index{ctsimtext}% \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% \setfooter{\thepage}{}{}{}{}{\thepage}% \ctsimtext\ is a master shell for all of the command-line utilities. -\usage\ +\usage \ctsimtext\ can be executed without any parameters. In that case, \ctsimtext offers a command-line to enter the function-names and their parameters. The output of the command is displayed. Further commands may be given to \ctsimtext. The shell is exited by the {\tt quit} command. @@ -147,10 +149,20 @@ offers a command-line to enter the function-names and their parameters. The outp The following function names are available: +\helprefn{if1}{if1}\par +\helprefn{if2}{if2}\par +\helprefn{ifexport}{ifexport}\par +\helprefn{ifinfo}{ifinfo}\par +\helprefn{phm2if}{phm2if}\par +\helprefn{phm2pj}{phm2pj}\par +\helprefn{pj2if}{pj2if}\par +\helprefn{pjinfo}{pjinfo}\par +\helprefn{pjrej}{pjrec}\par + \subsection{if1}\label{if1}\index{ctsimtext,if1}% Perfoms math functions on a single image. -\usage\ +\usage \begin{itemize}\itemsep=0pt \item --invert \item --log @@ -159,10 +171,10 @@ Perfoms math functions on a single image. \item --sqrt \end{itemize} -\subsection{if2}\index{ctsimtext,if2}% +\subsection{if2}\label{if2}\index{ctsimtext,if2}% Perfoms math functions on a two images. -\usage\ +\usage \begin{itemize}\itemsep=0pt \item --add \item --sub @@ -172,23 +184,10 @@ Perfoms math functions on a two images. \item --row-plot \end{itemize} -\subsection{ifinfo}\index{ctsimtext,ifinfo}% - -Displays information about an imagefile. - -\usage\ -\begin{itemize}\itemsep=0pt - \item --labels - \item --no-labels - \item --stats - \item --no-stats - \item --help -\end{itemize} - -\subsection{ifexport}\index{ctsimtext,ifexport}% +\subsection{ifexport}\label{ifexport}\index{ctsimtext,ifexport}% Export an imagefile to a standard graphics file. -\usage\ +\usage \begin{itemize}\itemsep=0pt \item --format \begin{itemize}\itemsep=0pt @@ -217,10 +216,23 @@ Export an imagefile to a standard graphics file. \item --max \end{itemize} -\subsection{phm2pj}\index{ctsimtext,phm2pj}% +\subsection{ifinfo}\label{ifinfo}\index{ctsimtext,ifinfo}% + +Displays information about an imagefile. + +\usage +\begin{itemize}\itemsep=0pt + \item --labels + \item --no-labels + \item --stats + \item --no-stats + \item --help +\end{itemize} + +\subsection{phm2pj}\label{phm2pj}\index{ctsimtext,phm2pj}% Simulates collection of X-rays data (projections) around a phantom object. -\usage\ +\usage phm2pj projection-file-name number-of-detectors number-of-views [options...] \begin{itemize}\itemsep=0pt \item --phantom @@ -258,27 +270,27 @@ a rotation angle of 1 and for equilinear and equiangular geometries use a rotati 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{ctsimtext,phm2if}% +\subsection{phm2if}\label{phm2if}\index{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 to average per pixel. -\usage\ +\usage \begin{itemize}\itemsep=0pt \item --nsamples \end{itemize} -\subsection{pj2if}\index{ctsimtext,pj2if}% +\subsection{pj2if}\label{pj2if}\index{ctsimtext,pj2if}% Convert a projection file into an imagefile. -\usage\ +\usage \begin{itemize}\itemsep=0pt \end{itemize} -\subsection{pjinfo}\index{ctsimtext,pjinfo}% +\subsection{pjinfo}\label{pjinfo}\index{ctsimtext,pjinfo}% Displays information about a projection file. -\usage\ +\usage \begin{itemize}\itemsep=0pt \item --binaryheader \item --binaryview @@ -287,12 +299,12 @@ Displays information about a projection file. \item --dump \end{itemize} -\subsection{pjrec}\index{ctsimtext,pjrec}% +\subsection{pjrec}\label{pjrec}\index{ctsimtext,pjrec}% Reconstructs the interior of an object from a projection file. -\usage\ +\usage \begin{itemize}\itemsep=0pt - \item Filter + \item Filter \par Selects which filter to apply to each projection. To properly reconstruct an image, this filter should be multiplied by the absolute value of distance from zero frequency. @@ -302,8 +314,8 @@ Reconstructs the interior of an object from a projection file. \item abs_hamming \end{itemize} - \item Filter Parameter - \par Sets the alpha level for Hamming + \item Filter Parameter \par + Sets the alpha level for Hamming window. At setting of 0.54, this equals the Hanning window. \item Filter Method @@ -341,7 +353,7 @@ Reconstructs the interior of an object from a projection file. \item Preinterpolation Factor \end{itemize} -\chapter{The Web Browser CGI Interface}\index{Web Interface}% +\chapter{The Web Browser CGI Interface}\label{webinterface}\index{Web Interface}% \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}% \setfooter{\thepage}{}{}{}{}{\thepage}% @@ -376,4 +388,5 @@ statistics as described by Herman\cite{HERMAN80}. \setfooter{\thepage}{}{}{}{}{\thepage}% \printindex% -\end{document} +\end{document}% + diff --git a/include/ctglobals.h b/include/ctglobals.h index 4e0da2e..4ba0fd8 100644 --- a/include/ctglobals.h +++ b/include/ctglobals.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2001 Kevin Rosenberg ** -** $Id: ctglobals.h,v 1.2 2001/01/13 03:51:35 kevin Exp $ +** $Id: ctglobals.h,v 1.3 2001/01/18 21:30:22 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 @@ -30,7 +30,6 @@ #define __CTGLOBALS_H #ifdef HAVE_WXWINDOWS -#include "../src/ctsim.h" class CTSimApp; extern bool g_bRunningWXWindows; // variable defined in syserror.cpp extern CTSimApp* theApp; diff --git a/libctsupport/syserror.cpp b/libctsupport/syserror.cpp index 623e662..8c28c3b 100644 --- a/libctsupport/syserror.cpp +++ b/libctsupport/syserror.cpp @@ -2,7 +2,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: syserror.cpp,v 1.15 2001/01/13 03:51:35 kevin Exp $ +** $Id: syserror.cpp,v 1.16 2001/01/18 21:30:22 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 @@ -25,7 +25,7 @@ #include #include #include "ct.h" - +#include "../src/ctsim.h" /* NAME * sys_error System error handler diff --git a/msvc/ctsim/ctsim.plg b/msvc/ctsim/ctsim.plg index 5986eb9..5f5daf4 100644 --- a/msvc/ctsim/ctsim.plg +++ b/msvc/ctsim/ctsim.plg @@ -3,124 +3,16 @@
 

Build Log

---------------------Configuration: libctsim - Win32 Debug-------------------- -

-

Command Lines

-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP29.tmp" with contents -[ -/nologo /G6 /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\..\..\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2\include" /D "_DEBUG" /D "HAVE_WXWIN" /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 /FR"Debug/" /Fp"Debug/libctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c -"C:\ctsim\libctsim\backprojectors.cpp" -"C:\ctsim\libctgraphics\dlgezplot.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\libctsupport\syserror.cpp" -"C:\ctsim\libctsim\trace.cpp" -] -Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP29.tmp" -Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A.tmp" with contents -[ -/nologo /out:"Debug\libctsim.lib" -.\Debug\array2dfile.obj -.\Debug\backprojectors.obj -.\Debug\clip.obj -.\Debug\consoleio.obj -.\Debug\dlgezplot.obj -.\Debug\ezplot.obj -.\Debug\ezset.obj -.\Debug\ezsupport.obj -.\Debug\filter.obj -.\Debug\fnetorderstream.obj -.\Debug\fourier.obj -.\Debug\getopt.obj -.\Debug\getopt1.obj -.\Debug\globalvars.obj -.\Debug\hashtable.obj -.\Debug\imagefile.obj -.\Debug\mathfuncs.obj -.\Debug\phantom.obj -.\Debug\plotfile.obj -.\Debug\pol.obj -.\Debug\procsignal.obj -.\Debug\projections.obj -.\Debug\reconstruct.obj -.\Debug\scanner.obj -.\Debug\sgp.obj -.\Debug\strfuncs.obj -.\Debug\syserror.obj -.\Debug\trace.obj -.\Debug\transformmatrix.obj -.\Debug\xform.obj -] -Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A.tmp" -

Output Window

-Compiling... -backprojectors.cpp -dlgezplot.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 -syserror.cpp -trace.cpp -Creating library... -

---------------------Configuration: FFTW2st - Win32 Debug-------------------- -

-

Command Lines

-

---------------------Configuration: zlib - Win32 DLL-------------------- -

-

Command Lines

-

---------------------Configuration: libpng - Win32 DLL-------------------- -

-

Command Lines

-

---------------------Configuration: RFFTW2st - Win32 Debug-------------------- -

-

Command Lines

-

---------------------Configuration: wxvc - Win32 Debug-------------------- -

-

Command Lines

-

---------------------Configuration: xpm - Win32 Debug-------------------- -

-

Command Lines

-

--------------------Configuration: ctsim - Win32 Debug--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2B.tmp" with contents +Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP9D.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" -"C:\ctsim\src\dialogs.cpp" -"C:\ctsim\src\dlgprojections.cpp" -"C:\ctsim\src\dlgreconstruct.cpp" -"C:\ctsim\src\docs.cpp" -"C:\ctsim\src\views.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2B.tmp" -Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2C.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP9D.tmp" +Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP9E.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 /out:"Debug/ctsim.exe" /pdbtype:sept /libpath:"..\..\..\lpng108\msvc\win32\libpng\lib" /libpath:"..\..\..\lpng108\msvc\win32\zlib\lib" /libpath:"..\..\..\wx2\lib" .\Debug\ctsim.obj @@ -136,15 +28,10 @@ comctl32.lib winmm.lib rpcrt4.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib w \wx2\lib\wxd.lib \wx2\lib\xpmd.lib ] -Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2C.tmp" +Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP9E.tmp"

Output Window

Compiling... ctsim.cpp -dialogs.cpp -dlgprojections.cpp -dlgreconstruct.cpp -docs.cpp -views.cpp Linking... diff --git a/src/ctsim.cpp b/src/ctsim.cpp index 5ce0a24..c52282b 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.34 2001/01/18 18:09:35 kevin Exp $ +** $Id: ctsim.cpp,v 1.35 2001/01/18 21:30:22 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 @@ -69,7 +69,7 @@ #endif #endif -static const char* rcsindent = "$Id: ctsim.cpp,v 1.34 2001/01/18 18:09:35 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.35 2001/01/18 21:30:22 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { @@ -160,15 +160,7 @@ CTSimApp::OnInit() if (! m_pFrame->getHelpController().Initialize("ctsim")) ::wxMessageBox ("Cannot initialize the help system", "Error"); - wxAcceleratorEntry accelEntries[5]; - accelEntries[0].Set (wxACCEL_CTRL, (int) 'O', wxID_OPEN); - accelEntries[1].Set (wxACCEL_CTRL, (int) 'T', MAINMENU_HELP_TOPICS); - accelEntries[2].Set (wxACCEL_CTRL, (int) 'P', MAINMENU_FILE_CREATE_PHANTOM); - accelEntries[3].Set (wxACCEL_CTRL, (int) 'F', MAINMENU_FILE_CREATE_FILTER); - accelEntries[4].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS); - wxAcceleratorTable accelTable (5, accelEntries); - m_pFrame->SetAcceleratorTable (accelTable); - + return true; } diff --git a/src/views.cpp b/src/views.cpp index 203636e..393e5f4 100644 --- a/src/views.cpp +++ b/src/views.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: views.cpp,v 1.65 2001/01/17 13:03:24 kevin Exp $ +** $Id: views.cpp,v 1.66 2001/01/18 21:30:22 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 @@ -773,10 +773,10 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view) 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(wxID_OPEN, "&Open..."); - file_menu->Append(wxID_SAVE, "&Save"); + 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...\tCtrl-O"); + file_menu->Append(wxID_SAVE, "&Save\tCtrl-S"); file_menu->Append(wxID_SAVEAS, "Save &As..."); file_menu->Append(wxID_CLOSE, "&Close"); @@ -790,9 +790,9 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view) file_menu->Append(wxID_PREVIEW, "Print Pre&view"); wxMenu *view_menu = new wxMenu; - view_menu->Append(IFMENU_VIEW_SCALE_MINMAX, "Display Scale &Set..."); - view_menu->Append(IFMENU_VIEW_SCALE_AUTO, "Display Scale &Auto..."); - view_menu->Append(IFMENU_VIEW_SCALE_FULL, "Display &Full Scale"); + view_menu->Append(IFMENU_VIEW_SCALE_MINMAX, "Display Scale S&et...\tCtrl-E"); + view_menu->Append(IFMENU_VIEW_SCALE_AUTO, "Display Scale &Auto...\tCtrl-A"); + view_menu->Append(IFMENU_VIEW_SCALE_FULL, "Display F&ull Scale\tCtrl-U"); wxMenu* filter_menu = new wxMenu; filter_menu->Append (IFMENU_FILTER_INVERTVALUES, "&Invert Values"); @@ -840,8 +840,8 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view) analyze_menu->Append (IFMENU_COMPARE_COL, "Compare &Column"); wxMenu *help_menu = new wxMenu; - help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents"); - help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics"); + help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1"); + help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-T"); help_menu->Append(MAINMENU_HELP_ABOUT, "&About"); wxMenuBar *menu_bar = new wxMenuBar; @@ -857,6 +857,19 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view) subframe->Centre(wxBOTH); + wxAcceleratorEntry accelEntries[9]; + accelEntries[0].Set (wxACCEL_CTRL, static_cast('O'), wxID_OPEN); + accelEntries[1].Set (wxACCEL_CTRL, static_cast('S'), wxID_SAVE); + accelEntries[2].Set (wxACCEL_CTRL, static_cast('T'), MAINMENU_HELP_TOPICS); + accelEntries[3].Set (wxACCEL_CTRL, static_cast('P'), MAINMENU_FILE_CREATE_PHANTOM); + accelEntries[4].Set (wxACCEL_CTRL, static_cast('F'), MAINMENU_FILE_CREATE_FILTER); + accelEntries[5].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS); + accelEntries[6].Set (wxACCEL_CTRL, static_cast('A'), IFMENU_VIEW_SCALE_AUTO); + accelEntries[7].Set (wxACCEL_CTRL, static_cast('U'), IFMENU_VIEW_SCALE_FULL); + accelEntries[8].Set (wxACCEL_CTRL, static_cast('E'), IFMENU_VIEW_SCALE_MINMAX); + wxAcceleratorTable accelTable (9, accelEntries); + subframe->SetAcceleratorTable (accelTable); + return subframe; }