diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/MenuBuilder.java')
-rw-r--r-- | bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/MenuBuilder.java | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/MenuBuilder.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/MenuBuilder.java deleted file mode 100644 index b3291e824a..0000000000 --- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/actions/MenuBuilder.java +++ /dev/null @@ -1,145 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ - - -package org.eclipse.wst.xml.ui.internal.actions; - -import java.text.Collator; -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; - - -public class MenuBuilder { - - - protected Comparator comparator = new Comparator() { - - public int compare(Object o1, Object o2) { - return Collator.getInstance().compare(getSortKey(o1), getSortKey(o2)); - } - - protected String getSortKey(Object o) { - String result = ""; //$NON-NLS-1$ - if (o instanceof IAction) { - IAction action = (IAction) o; - result = action.getText(); - } - //else if (o instanceof MenuData) - //{ - // result = "z" + ((MenuData)o).name; - //} - return result; - } - }; - - - protected void createAlphebeticalGrouping(IMenuManager menu, List actionList) { - Object[] array = actionList.toArray(); - if (array.length > 0) { - Arrays.sort(array, comparator); - } - - int groupSize = 15; - int minGroupSize = 5; - int numberOfGroups = (array.length / groupSize) + ((array.length % groupSize > minGroupSize) ? 1 : 0); - - for (int i = 0; i < numberOfGroups; i++) { - boolean isLastGroup = (i == (numberOfGroups - 1)); - int firstIndex = i * groupSize; - int lastIndex = isLastGroup ? array.length - 1 : i * groupSize + groupSize - 1; - Action firstAction = (Action) array[firstIndex]; - Action lastAction = (Action) array[lastIndex]; - MenuManager submenu = new MenuManager(firstAction.getText() + " - " + lastAction.getText()); //$NON-NLS-1$ - menu.add(submenu); - for (int j = firstIndex; j <= lastIndex; j++) { - submenu.add((Action) array[j]); - } - } - } - - - public void populateMenu(IMenuManager menu, List actionList, boolean createTiered) { - // sort the actions - if (actionList.size() < 25) { - Object[] array = actionList.toArray(); - if (array.length > 0) { - Arrays.sort(array, comparator); - } - for (int i = 0; i < array.length; i++) { - menu.add((Action) array[i]); - } - } else { - createAlphebeticalGrouping(menu, actionList); - } - } - - /* - * protected void createPropertyGrouping(IMenuManager menu, List - * actionList) { MenuDataTable menuDataTable = new MenuDataTable(); - * - * for (Iterator i = actionList.iterator(); i.hasNext(); ) { String - * groupName = null; Action action = (Action)i.next(); if (action - * instanceof NodeAction) { groupName = - * ((NodeAction)action).getGroupName(); } if (groupName == null) { - * groupName = ""; } MenuData menuData = - * menuDataTable.lookupOrCreate(groupName, ""); - * menuData.childList.add(action); } populateMenu(menu, - * menuDataTable.getRoot()); } - * - * - * protected void populateMenu(MenuManager menuManager, MenuData menuData) { - * for (Iterator i = menuData.childList.iterator(); i.hasNext(); ) { - * Object o = i.next(); if (o instanceof Action) { - * menuManager.add((Action)o); } else if (o instanceof MenuData) { - * MenuData childMenuData = (MenuData)o; MenuManager childMenuManager = - * new MenuManager(childMenuData.name); menuManager.add(childMenuManager); - * populateMenu(childMenuManager, childMenuData); } } } - * - * - * public MenuDataTable { protected Hashtable table = new Hashtable(); - * protected MenuData root; - * - * public MenuDataTable() { root = lookupOrCreateMenuData(null, null); } - * - * protected MenuData lookupMenuData(String name) { String key = name != - * null ? name : ""; return (MenuData)menuDataTable.get(key); } - * - * protected MenuData lookupOrCreateMenuData(String name, String - * parentName) { String key = name != null ? name : ""; MenuData menuData = - * (MenuData)menuDataTable.get(key); if (menuData == null) { menuData = - * new MenuData(name, parentName); menuDataTable.put(key, menuData); } - * return menuData; } - * - * public MenuData getRoot() { return root; } } - * - * - * protected class MenuData { public String name; public String - * parentName; public List childList = new Vector(); - * - * MenuData(String name, String parentName) { this.name = name; - * this.parentName = parentName; } - * - * protected void sort() { Object[] array = childList.toArray(); if - * (array.length > 0 ) { Arrays.sort(array, comparator); } childList = - * Arrays.asList(array); - * - * for (Iterator i = childList.iterator(); i.hasNext(); ) { Object o = - * i.next(); if (o instanceof MenuData) { ((MenuData)o).sort(); } } } } - */ -} |