/* * This file is part of the Code::Blocks IDE and licensed under the GNU General Public License, version 3 * http://www.gnu.org/licenses/gpl-3.0.html * * $Revision$ * $Id$ * $HeadURL$ */ // Script plugins must extend cbScriptPlugin //Include(_("wx_test.script")); class Menu_test_plugin extends cbScriptPlugin { // mandatory to setup the plugin's info constructor() { info = PluginInfo(); info.name = _T("Menu_test_plugin"); info.title = _T("Test menus in the scripting engine of C::B"); info.version = _T("0.1a"); info.license = _T("GPL"); } // optional to create menubar items function GetMenu() { local entries = ::wxArrayString(); entries.Add(_T("Plugins/Test/Menu Test"), 1); entries.Add(_T("Plugins/Test/-Menu Test2"), 1); entries.Add(_T("Plugins/Test/Menu Test3"), 1); entries.Add(_T("Plugins/Test/Menu/Test0"), 1); entries.Add(_T("Plugins/Test/Menu/Test/0"), 1); entries.Add(_T("Menu Test Plugin/Test1"), 1); ::print("##########################################\n"); ::print(" Welcome to the Menu_test_plugin\n"); ::print("There should have been created 6 menu:\n"); ::print("Plugins/Test/Menu Test\n"); ::print("Plugins/Test/-Menu Test2\n"); ::print("Plugins/Test/Menu Test3\n"); ::print("Plugins/Test/Menu/Test0\n"); ::print("Plugins/Test/Menu/Test/0\n"); ::print("Menu Test Plugin/Test1\n"); ::print("##########################################\n"); return entries; } // optional to create context menu entries /*function GetModuleMenu(who, data) { }*/ // optional to support ExecutePlugin(pluginNameString) function Execute() { StartTest(); return 0; } // optional calback for menubar items clicking function OnMenuClicked(index) { print("Menu: " + index + "\n"); } // optional calback for context menu items clicking function OnModuleMenuClicked(index) { } function StartTest() { } } // this call actually registers the script plugin with Code::Blocks RegisterPlugin(Menu_test_plugin()); // if you want to call this plugin's Execute() function, use this in a script: // ExecutePlugin(_T("Menu_test_plugin"));