r419: Added accelerator tables to frames
[ctsim.git] / src / ctsim.cpp
index 6408e67b30156b15646d75d8a5b6b689eb5d5351..a2212e8e0cb3304e821fbe15901511de35f1ae58 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: ctsim.cpp,v 1.32 2001/01/17 13:03:24 kevin Exp $
+**  $Id: ctsim.cpp,v 1.36 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
@@ -69,7 +69,7 @@
 #endif
 #endif
 
-static const char* rcsindent = "$Id: ctsim.cpp,v 1.32 2001/01/17 13:03:24 kevin Exp $";
+static const char* rcsindent = "$Id: ctsim.cpp,v 1.36 2001/01/18 23:34:01 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 (4, accelEntries);
-  m_pFrame->SetAcceleratorTable (accelTable);
-
   return true;
 }
 
@@ -316,6 +308,16 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const
   m_dDefaultFilterInputScale = 1.;
   m_dDefaultFilterOutputScale = 1.;
   
+  wxAcceleratorEntry accelEntries[14];
+  accelEntries[0].Set (wxACCEL_CTRL, static_cast<int>('O'), wxID_OPEN);
+  accelEntries[1].Set (wxACCEL_CTRL, static_cast<int>('H'), MAINMENU_HELP_TOPICS);
+  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);
+  accelEntries[4].Set (wxACCEL_NORMAL, WXK_F1, MAINMENU_HELP_CONTENTS);
+  for (i = 0; i < 10; i++)
+         accelEntries[i+4].Set (wxACCEL_CTRL, static_cast<int>('0'+i), MAINMENU_WINDOW_BASE+i);
+  wxAcceleratorTable accelTable (16, accelEntries);
+  SetAcceleratorTable (accelTable);
 }
 
 void 
@@ -335,7 +337,7 @@ MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
 }
 
 void 
-MainFrame::OnCreatePhantom(wxCommandEvent& WXUNUSED(event))
+MainFrame::OnCreatePhantom(wxCommandEvent& event)
 {
   DialogGetPhantom dialogPhantom (this, m_iDefaultPhantomID);
   int dialogReturn = dialogPhantom.ShowModal();
@@ -428,7 +430,7 @@ MainFrame::showHelp (int commandID)
      m_help.DisplayContents ();
      break;
   case MAINMENU_HELP_TOPICS:
-     m_help.DisplaySection (if1);
+     m_help.DisplaySection (introduction);
      break;
 
   default:
@@ -452,6 +454,10 @@ MainFrame::OnUpdateUI (wxUpdateUIEvent& rEvent)
   while (iPos < MAX_WINDOW_MENUITEMS && pNode != NULL) {
     wxDocument* pDoc = static_cast<wxDocument*>(pNode->GetData());
     wxString strFilename = pDoc->GetFilename();
+       if (iPos < 10) {
+               strFilename += "\tCtrl-";
+               strFilename += static_cast<char>('0' + iPos);
+       }
     static_cast<wxMenuItemBase*>(m_apWindowMenuItems[iPos])->SetName (strFilename);
     m_apWindowMenuData[iPos] = pDoc;
     m_pWindowMenu->Enable (MAINMENU_WINDOW_BASE+iPos, true);