// ==UserScript==
// @name C&C Tiberium Alliances Dev AddonMainMenu
// @namespace http*://prodgame*.alliances.commandandconquer.com/*/index.aspx*
// @description C&C:Tiberium Alliances Dev AddonMainMenu (AMM)
// @include http*://prodgame*.alliances.commandandconquer.com/*/index.aspx*
// @version 0.2
// @author BlinDManX
// @grant none
// @copyright 2012+, Claus Neumann
// @license CC BY-NC-ND 3.0 - http://creativecommons.org/licenses/by-nc-nd/3.0/
// ==/UserScript==
(function () {
var AMMinnerHTML = function () {
function AMM() {
qx.Class.define("Addons.AddonMainMenu",{
type : "singleton",
extend : qx.core.Object,
construct: function () {
this.mainMenuContent = new qx.ui.menu.Menu();
this.mainMenuButton = new qx.ui.form.MenuButton("Addons", null , this.mainMenuContent);
this.mainMenuButton.set({
width : 80,
appearance : "button-bar-right",
toolTipText : "List of AddonCommands"
});
var mainBar = qx.core.Init.getApplication().getUIItem(ClientLib.Data.Missions.PATH.BAR_MENU);
var childs = mainBar.getChildren()[1].getChildren();
for( var z = childs.length - 1; z>=0;z--){
if( typeof childs[z].setAppearance === "function"){
if( childs[z].getAppearance() == "button-bar-right"){
childs[z].setAppearance("button-bar-center");
}
}
}
mainBar.getChildren()[1].add(this.mainMenuButton);
mainBar.getChildren()[0].setScale(true); //kosmetik
mainBar.getChildren()[0].setWidth(764 + 80 ); //kosmetik
//console.log("Button added");
Addons_AddonMainMenu = "loaded";
},
members :
{
mainMenuContent : null,
mainMenuButton : null,
AddMainMenu: function (name,command,key) {
if(name == null){
console.log("Addons.AddonMainMenu.AddSubMenu: name empty");
return;
}
if(command == null){
console.log("Addons.AddonMainMenu.AddMainMenu: command empty");
return;
}
if(key != null){
var newCommand = new qx.ui.core.Command(key);
newCommand.addListener("execute", command);
var button = new qx.ui.menu.Button(name, null, newCommand);
} else {
var button = new qx.ui.menu.Button(name);
button.addListener("execute", command);
}
this.mainMenuContent.add(button);
},
AddSubMainMenu: function (name) {
if(name == null){
console.log("Addons.AddonMainMenu.AddSubMainMenu: name empty");
return;
}
var subMenu = new qx.ui.menu.Menu;
var button = new qx.ui.menu.Button(name, null, null, subMenu);
this.mainMenuContent.add(button);
return subMenu;
},
AddSubMenu: function (subMenu,name,command,key) {
if(name == null){
console.log("Addons.AddonMainMenu.AddSubMenu: name empty");
return;
}
if(command == null){
console.log("Addons.AddonMainMenu.AddSubMenu: command empty");
return;
}
if(subMenu == null){
console.log("Addons.AddonMainMenu.AddSubMenu: subMenu empty");
return;
}
if(key != null){
var newCommand = new qx.ui.core.Command(key);
newCommand.addListener("execute", command);
var button = new qx.ui.menu.Button(name, null, newCommand);
} else {
var button = new qx.ui.menu.Button(name);
button.addListener("execute", command);
}
subMenu.add(button);
var subMenu = new qx.ui.menu.Menu;
var actionsButton = new qx.ui.menu.Button(name, null, null, subMenu);
return subMenu;
}
}
});
Addons.AddonMainMenu.getInstance();
//-----TESTING------
//var addonmenu = Addons.AddonMainMenu.getInstance();
//addonmenu.AddMainMenu("TestMainButton",function(){debugfunction("1");},"ALT+J");
//--SUBMENUS--
//var submenu = addonmenu.AddSubMainMenu("TestSubMenu");
//addonmenu.AddSubMenu(submenu,"TestSubButton 1",function(){debugfunction("2");},"ALT+L");
//addonmenu.AddSubMenu(submenu,"TestSubButton 2",function(){debugfunction("3");});
//addonmenu.AddSubMenu(submenu,"TestSubButton 3",function(){debugfunction("4");});
//function debugfunction(k){
//console.log("working key:" + k);
//}
}
function AMM_checkIfLoaded() {
try {
if (typeof qx != 'undefined' && qx.core.Init.getApplication() && qx.core.Init.getApplication().getUIItem(ClientLib.Data.Missions.PATH.BAR_NAVIGATION) && qx.core.Init.getApplication().getUIItem(ClientLib.Data.Missions.PATH.BAR_NAVIGATION).isVisible()) {
AMM();
} else {
window.setTimeout(AMM_checkIfLoaded, 1000);
}
} catch (e) {
console.log("AMM_checkIfLoaded: ", e);
}
}
if (/commandandconquer\.com/i.test(document.domain)) {
window.setTimeout(AMM_checkIfLoaded, 1000);
Addons_AddonMainMenu = "install";
}
}
try {
var AMMS = document.createElement("script");
AMMS.innerHTML = "(" + AMMinnerHTML.toString() + ")();";
AMMS.type = "text/javascript";
if (/commandandconquer\.com/i.test(document.domain)) {
document.getElementsByTagName("head")[0].appendChild(AMMS);
}
} catch (e) {
console.log("AMMinnerHTML init error: ", e);
}
})();