67 lines
2.2 KiB
C++
67 lines
2.2 KiB
C++
#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)
|
|
{
|
|
}
|
|
}
|