#include "stdafx.h" #include "Testeditor.h" #include "TestMenu.h" //declaration of menu callback (for InitMenu function) void PluginMenuCallback(int commandID); //static main menu CMenu* s_MainMenu = NULL; #define PLUGINMENU_MAXENTRIES 20 //put there the max entries your menu may use //adds the menu to Virtools Dev main menu void InitMenu() { if (!s_Plugininterface) return; s_MainMenu = s_Plugininterface->AddPluginMenu(STR_MAINMENUNAME,PLUGINMENU_MAXENTRIES,NULL,(VoidFunc1Param)PluginMenuCallback); } //removes the menu from Virtools Dev main menu void RemoveMenu() { if (!s_Plugininterface || !s_MainMenu) return; s_Plugininterface->RemovePluginMenu(s_MainMenu); } //up to user. //(May be called on new composition notification for instance) //Note that first commandID can be 0 //but last command ID must be lesser thanPLUGINMENU_MAXENTRIES void UpdateMenu() { s_Plugininterface->ClearPluginMenu(s_MainMenu); //clear menu s_Plugininterface->AddPluginMenuItem(s_MainMenu,0,"item0"); //add simple item sample s_Plugininterface->AddPluginMenuItem(s_MainMenu,1,"item1"); //add simple item sample s_Plugininterface->AddPluginMenuItem(s_MainMenu,-1,NULL,TRUE); //add separator sample //note : sub menu must have independent command ids that must be >=0 CMenu* sub0 = s_Plugininterface->AddPluginMenuItem(s_MainMenu,0,"SubMenu0",FALSE,TRUE); //sub menu sample CMenu* sub1 = s_Plugininterface->AddPluginMenuItem(s_MainMenu,1,"SubMenu1",FALSE,TRUE); //sub menu sample s_Plugininterface->AddPluginMenuItem(sub0,2,"item2"); //add simple item to sub menu sample s_Plugininterface->AddPluginMenuItem(sub0,3,"item3"); //add simple item to sub menu sample s_Plugininterface->AddPluginMenuItem(sub1,4,"item4"); //add simple item to sub menu sample s_Plugininterface->AddPluginMenuItem(sub1,5,"item5"); //add simple item to sub menu sample s_Plugininterface->UpdatePluginMenu(s_MainMenu); //update menu,always needed when you finished to update the menu //unless you want the menu not to have Virtools Dev main menu color scheme. } //fill with your command IDs and your actions void PluginMenuCallback(int commandID) { switch(commandID) { } }