#include // ------------------------------------------------------------------------------------ Global GuiObject target; Global ComponentBucket buck; // ------------------------------------------------------------------------------------ Function turnAllOffExcept(GuiObject except); Function turnOn(GuiObject obj); Function turnOff(GuiObject obj); // ------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------ // init // ------------------------------------------------------------------------------------ System.onScriptLoaded() { target = getScriptGroup().findObject("skin.config.target"); buck = getScriptGroup().findObject("my.bucket"); // turn off all GuiObject o = NULL; turnAllOffExcept(o); } // ------------------------------------------------------------------------------------ // save scroller position // ------------------------------------------------------------------------------------ System.onScriptUnloading() { if (buck) { setPrivateInt("configmenu", "last_scroll", buck.getScroll()); } } // ------------------------------------------------------------------------------------ // turn on last open // ------------------------------------------------------------------------------------ buck.onStartup() { setScroll(getPrivateInt("configmenu", "last_scroll", 0)); Group g = buck.enumChildren(getPrivateInt("configmenu", "last_page", 0)); if (!g) g = buck.enumChildren(0); if (!g) return; ToggleButton btn = g.getObject("btn"); if (btn) btn.leftClick(); } // ------------------------------------------------------------------------------------ // this is called by the bucket button to switch to a new group // ------------------------------------------------------------------------------------ target.onAction(String action, String param, int x, int y, int p1, int p2, GuiObject source) { if (getToken(action,";",0) == "switchto") { String grp = getToken(action, ";", 1); String is_subpage = getToken(action, ";", 2); target.setXmlParam("groupid", grp); if (is_subpage!="subpage") turnAllOffExcept(source.getParent()); // getParent because the source is the button itself, the parent is the whole group item in the bucket } } // ------------------------------------------------------------------------------------ // turn off all buttons except for the parameter, also save last_page param based on param item // ------------------------------------------------------------------------------------ turnAllOffExcept(GuiObject except) { if (!buck) return; int i=0; // enumerate all inserted groups, turn them off if they're not our exception while (i