Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / source / widgets / menu / MenuMgr.js
diff --git a/source/widgets/menu/MenuMgr.js b/source/widgets/menu/MenuMgr.js
deleted file mode 100644 (file)
index 8ee1bf8..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*\r
- * Ext JS Library 2.2.1\r
- * Copyright(c) 2006-2009, Ext JS, LLC.\r
- * licensing@extjs.com\r
- * \r
- * http://extjs.com/license\r
- */\r
-\r
-/**\r
- * @class Ext.menu.MenuMgr\r
- * Provides a common registry of all menu items on a page so that they can be easily accessed by id.\r
- * @singleton\r
- */\r
-Ext.menu.MenuMgr = function(){\r
-   var menus, active, groups = {}, attached = false, lastShow = new Date();\r
-\r
-   // private - called when first menu is created\r
-   function init(){\r
-       menus = {};\r
-       active = new Ext.util.MixedCollection();\r
-       Ext.getDoc().addKeyListener(27, function(){\r
-           if(active.length > 0){\r
-               hideAll();\r
-           }\r
-       });\r
-   }\r
-\r
-   // private\r
-   function hideAll(){\r
-       if(active && active.length > 0){\r
-           var c = active.clone();\r
-           c.each(function(m){\r
-               m.hide();\r
-           });\r
-       }\r
-   }\r
-\r
-   // private\r
-   function onHide(m){\r
-       active.remove(m);\r
-       if(active.length < 1){\r
-           Ext.getDoc().un("mousedown", onMouseDown);\r
-           attached = false;\r
-       }\r
-   }\r
-\r
-   // private\r
-   function onShow(m){\r
-       var last = active.last();\r
-       lastShow = new Date();\r
-       active.add(m);\r
-       if(!attached){\r
-           Ext.getDoc().on("mousedown", onMouseDown);\r
-           attached = true;\r
-       }\r
-       if(m.parentMenu){\r
-          m.getEl().setZIndex(parseInt(m.parentMenu.getEl().getStyle("z-index"), 10) + 3);\r
-          m.parentMenu.activeChild = m;\r
-       }else if(last && last.isVisible()){\r
-          m.getEl().setZIndex(parseInt(last.getEl().getStyle("z-index"), 10) + 3);\r
-       }\r
-   }\r
-\r
-   // private\r
-   function onBeforeHide(m){\r
-       if(m.activeChild){\r
-           m.activeChild.hide();\r
-       }\r
-       if(m.autoHideTimer){\r
-           clearTimeout(m.autoHideTimer);\r
-           delete m.autoHideTimer;\r
-       }\r
-   }\r
-\r
-   // private\r
-   function onBeforeShow(m){\r
-       var pm = m.parentMenu;\r
-       if(!pm && !m.allowOtherMenus){\r
-           hideAll();\r
-       }else if(pm && pm.activeChild){\r
-           pm.activeChild.hide();\r
-       }\r
-   }\r
-\r
-   // private\r
-   function onMouseDown(e){\r
-       if(lastShow.getElapsed() > 50 && active.length > 0 && !e.getTarget(".x-menu")){\r
-           hideAll();\r
-       }\r
-   }\r
-\r
-   // private\r
-   function onBeforeCheck(mi, state){\r
-       if(state){\r
-           var g = groups[mi.group];\r
-           for(var i = 0, l = g.length; i < l; i++){\r
-               if(g[i] != mi){\r
-                   g[i].setChecked(false);\r
-               }\r
-           }\r
-       }\r
-   }\r
-\r
-   return {\r
-\r
-       /**\r
-        * Hides all menus that are currently visible\r
-        */\r
-       hideAll : function(){\r
-            hideAll();  \r
-       },\r
-\r
-       // private\r
-       register : function(menu){\r
-           if(!menus){\r
-               init();\r
-           }\r
-           menus[menu.id] = menu;\r
-           menu.on("beforehide", onBeforeHide);\r
-           menu.on("hide", onHide);\r
-           menu.on("beforeshow", onBeforeShow);\r
-           menu.on("show", onShow);\r
-           var g = menu.group;\r
-           if(g && menu.events["checkchange"]){\r
-               if(!groups[g]){\r
-                   groups[g] = [];\r
-               }\r
-               groups[g].push(menu);\r
-               menu.on("checkchange", onCheck);\r
-           }\r
-       },\r
-\r
-        /**\r
-         * Returns a {@link Ext.menu.Menu} object\r
-         * @param {String/Object} menu The string menu id, an existing menu object reference, or a Menu config that will\r
-         * be used to generate and return a new Menu instance.\r
-         * @return {Ext.menu.Menu} The specified menu, or null if none are found\r
-         */\r
-       get : function(menu){\r
-           if(typeof menu == "string"){ // menu id\r
-               if(!menus){  // not initialized, no menus to return\r
-                   return null;\r
-               }\r
-               return menus[menu];\r
-           }else if(menu.events){  // menu instance\r
-               return menu;\r
-           }else if(typeof menu.length == 'number'){ // array of menu items?\r
-               return new Ext.menu.Menu({items:menu});\r
-           }else{ // otherwise, must be a config\r
-               return new Ext.menu.Menu(menu);\r
-           }\r
-       },\r
-\r
-       // private\r
-       unregister : function(menu){\r
-           delete menus[menu.id];\r
-           menu.un("beforehide", onBeforeHide);\r
-           menu.un("hide", onHide);\r
-           menu.un("beforeshow", onBeforeShow);\r
-           menu.un("show", onShow);\r
-           var g = menu.group;\r
-           if(g && menu.events["checkchange"]){\r
-               groups[g].remove(menu);\r
-               menu.un("checkchange", onCheck);\r
-           }\r
-       },\r
-\r
-       // private\r
-       registerCheckable : function(menuItem){\r
-           var g = menuItem.group;\r
-           if(g){\r
-               if(!groups[g]){\r
-                   groups[g] = [];\r
-               }\r
-               groups[g].push(menuItem);\r
-               menuItem.on("beforecheckchange", onBeforeCheck);\r
-           }\r
-       },\r
-\r
-       // private\r
-       unregisterCheckable : function(menuItem){\r
-           var g = menuItem.group;\r
-           if(g){\r
-               groups[g].remove(menuItem);\r
-               menuItem.un("beforecheckchange", onBeforeCheck);\r
-           }\r
-       },\r
-\r
-       getCheckedItem : function(groupId){\r
-           var g = groups[groupId];\r
-           if(g){\r
-               for(var i = 0, l = g.length; i < l; i++){\r
-                   if(g[i].checked){\r
-                       return g[i];\r
-                   }\r
-               }\r
-           }\r
-           return null;\r
-       },\r
-\r
-       setCheckedItem : function(groupId, itemId){\r
-           var g = groups[groupId];\r
-           if(g){\r
-               for(var i = 0, l = g.length; i < l; i++){\r
-                   if(g[i].id == itemId){\r
-                       g[i].setChecked(true);\r
-                   }\r
-               }\r
-           }\r
-           return null;\r
-       }\r
-   };\r
-}();\r