r419: Added accelerator tables to frames
[ctsim.git] / src / views.cpp
index 393e5f4f37fa1f046b03141a95866cccd5f91739..bc58da2dd3667a509058ed812574de1e7d0eafac 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.66 2001/01/18 21:30:22 kevin Exp $
+**  $Id: views.cpp,v 1.67 2001/01/18 23:34:01 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
@@ -778,7 +778,7 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   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");
+  file_menu->Append(wxID_CLOSE, "&Close\tCtrl-W");
   
   file_menu->AppendSeparator();
   file_menu->Append(IFMENU_FILE_PROPERTIES, "P&roperties");
@@ -841,7 +841,7 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   wxMenu *help_menu = new wxMenu;
   help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
-  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-T");
+  help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -857,17 +857,18 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   
   subframe->Centre(wxBOTH);
   
-  wxAcceleratorEntry accelEntries[9];
+  wxAcceleratorEntry accelEntries[10];
   accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
   accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
-  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('T'), MAINMENU_HELP_TOPICS);
-  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
-  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
-  accelEntries[5].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
-  accelEntries[6].Set (wxACCEL_CTRL, static_cast<int>('A'), IFMENU_VIEW_SCALE_AUTO);
-  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('U'), IFMENU_VIEW_SCALE_FULL);
-  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('E'), IFMENU_VIEW_SCALE_MINMAX);
-  wxAcceleratorTable accelTable (9, accelEntries);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('W'), wxID_CLOSE);
+  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
+  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
+  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
+  accelEntries[6].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
+  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('A'), IFMENU_VIEW_SCALE_AUTO);
+  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('U'), IFMENU_VIEW_SCALE_FULL);
+  accelEntries[9].Set (wxACCEL_CTRL, static_cast<int>('E'), IFMENU_VIEW_SCALE_MINMAX);
+  wxAcceleratorTable accelTable (10, accelEntries);
   subframe->SetAcceleratorTable (accelTable);
 
   return subframe;
@@ -1888,9 +1889,9 @@ PhantomView::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(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_SAVEAS, "Save &As...");
   file_menu->Append(wxID_CLOSE, "&Close");
   
@@ -1903,12 +1904,12 @@ PhantomView::CreateChildFrame(wxDocument *doc, wxView *view)
   file_menu->Append(wxID_PREVIEW, "Print Pre&view");
   
   wxMenu *process_menu = new wxMenu;
-  process_menu->Append(PHMMENU_PROCESS_RASTERIZE, "&Rasterize...");
-  process_menu->Append(PHMMENU_PROCESS_PROJECTIONS, "&Projections...");
+  process_menu->Append(PHMMENU_PROCESS_RASTERIZE, "&Rasterize...\tCtrl-R");
+  process_menu->Append(PHMMENU_PROCESS_PROJECTIONS, "&Projections...\tCtrl-J");
   
   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-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -1920,7 +1921,19 @@ PhantomView::CreateChildFrame(wxDocument *doc, wxView *view)
   subframe->SetMenuBar(menu_bar);
   
   subframe->Centre(wxBOTH);
-  
+
+  wxAcceleratorEntry accelEntries[8];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
+  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
+  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
+  accelEntries[5].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
+  accelEntries[6].Set (wxACCEL_CTRL, static_cast<int>('J'), PHMMENU_PROCESS_PROJECTIONS);
+  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('R'), PHMMENU_PROCESS_RASTERIZE);
+  wxAcceleratorTable accelTable (8, accelEntries);
+  subframe->SetAcceleratorTable (accelTable);
+
   return subframe;
 }
 
@@ -2245,12 +2258,12 @@ ProjectionFileView::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");
+  file_menu->Append(wxID_CLOSE, "&Close\tCtrl-W");
   
   file_menu->AppendSeparator();
   file_menu->Append(PJMENU_FILE_PROPERTIES, "P&roperties");
@@ -2261,16 +2274,16 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   file_menu->Append(wxID_PREVIEW, "Print Pre&view");
   
   wxMenu *convert_menu = new wxMenu;
-  convert_menu->Append (PJMENU_CONVERT_POLAR, "&Polar Image...");
-  convert_menu->Append (PJMENU_CONVERT_FFT_POLAR, "&FFT->Polar Image...");
+  convert_menu->Append (PJMENU_CONVERT_POLAR, "&Polar Image...\tCtrl-L");
+  convert_menu->Append (PJMENU_CONVERT_FFT_POLAR, "&FFT->Polar Image...\tCtrl-I");
   
   wxMenu *reconstruct_menu = new wxMenu;
-  reconstruct_menu->Append (PJMENU_RECONSTRUCT_FBP, "&Filtered Backprojection...");
-  reconstruct_menu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Fourier...");
+  reconstruct_menu->Append (PJMENU_RECONSTRUCT_FBP, "&Filtered Backprojection...\tCtrl-R");
+  reconstruct_menu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Fourier...\tCtrl-E");
 
   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-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -2283,6 +2296,21 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   subframe->SetMenuBar(menu_bar);
   
   subframe->Centre(wxBOTH);
+
+  wxAcceleratorEntry accelEntries[11];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('W'), wxID_CLOSE);
+  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
+  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
+  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
+  accelEntries[6].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
+  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('L'), PJMENU_CONVERT_POLAR);
+  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('I'), PJMENU_CONVERT_FFT_POLAR);
+  accelEntries[9].Set (wxACCEL_CTRL, static_cast<int>('R'), PJMENU_RECONSTRUCT_FBP);
+  accelEntries[10].Set (wxACCEL_CTRL, static_cast<int>('E'), PJMENU_RECONSTRUCT_FOURIER);
+  wxAcceleratorTable accelTable (11, accelEntries);
+  subframe->SetAcceleratorTable (accelTable);
   
   return subframe;
 }
@@ -2534,12 +2562,12 @@ PlotFileView::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");
+  file_menu->Append(wxID_CLOSE, "&Close\tCtrl-W");
   
   file_menu->AppendSeparator();
   file_menu->Append(PJMENU_FILE_PROPERTIES, "P&roperties");
@@ -2550,13 +2578,13 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   file_menu->Append(wxID_PREVIEW, "Print Pre&view");
   
   wxMenu *view_menu = new wxMenu;
-  view_menu->Append(PLOTMENU_VIEW_SCALE_MINMAX, "Display Scale &Set...");
-  view_menu->Append(PLOTMENU_VIEW_SCALE_AUTO, "Display Scale &Auto...");
-  view_menu->Append(PLOTMENU_VIEW_SCALE_FULL, "Display &Full Scale");
+  view_menu->Append(PLOTMENU_VIEW_SCALE_MINMAX, "Display Scale &Set...\tCtrl-E");
+  view_menu->Append(PLOTMENU_VIEW_SCALE_AUTO, "Display Scale &Auto...\tCtrl-A");
+  view_menu->Append(PLOTMENU_VIEW_SCALE_FULL, "Display &Full Scale\tCtrl-U");
   
   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-H");
   help_menu->Append(MAINMENU_HELP_ABOUT, "&About");
   
   wxMenuBar *menu_bar = new wxMenuBar;
@@ -2568,6 +2596,20 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   subframe->SetMenuBar(menu_bar);
   
   subframe->Centre(wxBOTH);
+
+  wxAcceleratorEntry accelEntries[10];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('S'), wxID_SAVE);
+  accelEntries[2].Set (wxACCEL_CTRL, static_cast<int>('W'), wxID_CLOSE);
+  accelEntries[3].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
+  accelEntries[4].Set (wxACCEL_CTRL, static_cast<int>('P'), MAINMENU_FILE_CREATE_PHANTOM);
+  accelEntries[5].Set (wxACCEL_CTRL, static_cast<int>('F'), MAINMENU_FILE_CREATE_FILTER);
+  accelEntries[6].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
+  accelEntries[7].Set (wxACCEL_CTRL, static_cast<int>('E'), PLOTMENU_VIEW_SCALE_MINMAX);
+  accelEntries[8].Set (wxACCEL_CTRL, static_cast<int>('A'), PLOTMENU_VIEW_SCALE_AUTO);
+  accelEntries[9].Set (wxACCEL_CTRL, static_cast<int>('U'), PLOTMENU_VIEW_SCALE_FULL);
+  wxAcceleratorTable accelTable (10, accelEntries);
+  subframe->SetAcceleratorTable (accelTable);
   
   return subframe;
 }