** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ctsim.cpp,v 1.31 2001/01/17 11:00:18 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
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
******************************************************************************/
+#ifdef MSVC
+#define strdup _strdup
+#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#include "ct.h"
#include "ctsim.h"
+#include "ctsim-map.h"
#include "docs.h"
#include "views.h"
#include "dialogs.h"
#endif
#endif
-static const char* rcsindent = "$Id: ctsim.cpp,v 1.31 2001/01/17 11:00:18 kevin Exp $";
+static const char* rcsindent = "$Id: ctsim.cpp,v 1.36 2001/01/18 23:34:01 kevin Exp $";
struct option CTSimApp::ctsimOptions[] =
{
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;
}
#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)
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->Append(wxID_OPEN, "&Open...\tCtrl-O");
file_menu->AppendSeparator();
file_menu->Append(MAINMENU_FILE_EXIT, "E&xit");
m_pWindowMenu->UpdateUI (this);
wxMenu* help_menu = new wxMenu;
- help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tF1");
- help_menu->AppendSeparator();
+ 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;
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
}
void
-MainFrame::OnCreatePhantom(wxCommandEvent& WXUNUSED(event))
+MainFrame::OnCreatePhantom(wxCommandEvent& event)
{
DialogGetPhantom dialogPhantom (this, m_iDefaultPhantomID);
int dialogReturn = dialogPhantom.ShowModal();
showHelp (event.GetId());
}
+void
+MainFrame::OnHelpContents (wxCommandEvent& event)
+{
+ showHelp (event.GetId());
+}
+
void
MainFrame::showHelp (int commandID)
{
m_help.LoadFile();
switch (commandID) {
+ case MAINMENU_HELP_CONTENTS:
+ m_help.DisplayContents ();
+ break;
case MAINMENU_HELP_TOPICS:
- m_help.DisplayContents();
+ m_help.DisplaySection (introduction);
break;
default:
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);