// never forget to include std.mi #include "../../../lib/std.mi" //declares global functions Function makeStickMenu(); Function showStickMenu(); //declares global variables for use in script Global Container MainCntr; Global Button NextStickBtn, PrevStickBtn; Global PopUpMenu StickMenu; Global Boolean MenuMade; //when the script is loaded, do this System.onScriptLoaded() { Group ScriptGrp = getScriptGroup(); NextStickBtn = ScriptGrp.findObject("NextStick"); PrevStickBtn = ScriptGrp.findObject("PrevStick"); StickMenu = new PopupMenu; Layout L = ScriptGrp.getParentLayout(); MainCntr = L.getContainer(); MenuMade = 0; } makeStickMenu() { Int NumLayouts = MainCntr.getNumLayouts(); Layout L = MainCntr.enumLayout(0); for (int nL = 0; nL < NumLayouts; nL++) { L = MainCntr.enumLayout(nL); StickMenu.addCommand(L.getXMLParam("name"), nL+1, 0, 0); } MenuMade = 1; } showStickMenu() { Layout L = MainCntr.enumLayout(0); Int NumLayouts = MainCntr.getNumLayouts(); for (int nL = 0; nL < NumLayouts; nL++) { L = MainCntr.enumLayout(nL); StickMenu.checkCommand(nL+1, L.isVisible()); } int Choice = StickMenu.popAtMouse(); if (Choice > 0) { L = MainCntr.enumLayout(Choice-1); MainCntr.switchToLayout(L.getId()); } } NextStickBtn.onRightButtonDown(int x, int y) { if (!MenuMade) { makeStickMenu(); } showStickMenu(); } PrevStickBtn.onRightButtonDown(int x, int y) { if (!MenuMade) { makeStickMenu(); } showStickMenu(); } System.onScriptUnloading() { delete StickMenu; }