// ModuleDispatch // is called by Audacity to initialize/terminmate the module, // and ask if it has anything for the menus. int ModuleDispatch(ModuleDispatchTypes type){ switch (type){ case AppQuiting: { //It is perfectly OK for gBench to be NULL. //Can happen if the menu item was never invoked. //wxASSERT(gBench != NULL); if (gBench) { gBench->Destroy(); gBench = NULL; } } break; case ProjectInitialized: case MenusRebuilt: { AudacityProject *p = GetActiveProject(); wxASSERT(p != NULL); CommandManager *c = p->GetCommandManager(); wxASSERT(c != NULL); wxMenuBar * pBar = p->GetMenuBar(); wxASSERT(pBar != NULL ); wxMenu * pMenu = pBar->GetMenu( 9 ); // Menu 9 is the Tools Menu. wxASSERT( pMenu != NULL ); c->SetCurrentMenu(pMenu); c->AddSeparator(); c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag); c->AddItem(wxT("NyqBench"), _("&Nyquist Workbench..."), true, findme, static_cast<CommandFunctorPointer>(&NyqBench::ShowNyqBench)); c->ClearCurrentMenu(); } break; default: break; } return 1; }
// ModuleDispatch // is called by Audacity to initialize/terminmate the module, // and ask if it has anything for the menus. int ModuleDispatch(ModuleDispatchTypes type){ switch (type){ case AppInitialized:{ wxASSERT(gBench == NULL); gBench = new NyqBench(NULL); } break; case AppQuiting: { wxASSERT(gBench != NULL); if (gBench) { delete gBench; gBench = NULL; } } break; case ProjectInitialized: case MenusRebuilt: { AudacityProject *p = GetActiveProject(); wxASSERT(p != NULL); CommandManager *c = p->GetCommandManager(); wxASSERT(c != NULL); wxMenuBar * pBar = p->GetMenuBar(); wxASSERT(pBar != NULL ); wxMenu * pMenu = pBar->GetMenu( 2 ); // Menu 2 is the View Menu. wxASSERT( pMenu != NULL ); c->SetToMenu( pMenu ); c->AddSeparator(); // c->BeginMenu(_("T&ools")); c->SetDefaultFlags(AudioIONotBusyFlag, AudioIONotBusyFlag); c->AddItem(wxT("NyqBench"), _("&Nyquist Workbench..."), new ModNyqBenchCommandFunctor()); } break; default: break; } return 1; }