001: /*******************************************************************************
002: * Copyright (c) 2007 IBM Corporation and others.
003: * All rights reserved. This program and the accompanying materials
004: * are made available under the terms of the Eclipse Public License v1.0
005: * which accompanies this distribution, and is available at
006: * http://www.eclipse.org/legal/epl-v10.html
007: *
008: * Contributors:
009: * IBM Corporation - initial API and implementation
010: ******************************************************************************/package org.eclipse.ui.menus;
011:
012: /**
013: * Provides utilities and constants for use with the
014: * new menus API.
015: *
016: * @since 3.3
017: *
018: */
019: public class MenuUtil {
020: /** Main Menu */
021: public final static String MAIN_MENU = "menu:org.eclipse.ui.main.menu"; //$NON-NLS-1$
022: /** Main ToolBar (CoolBar) */
023: public final static String MAIN_TOOLBAR = "toolbar:org.eclipse.ui.main.toolbar"; //$NON-NLS-1$
024:
025: /** -Any- Popup Menu */
026: public final static String ANY_POPUP = "popup:org.eclipse.ui.popup.any"; //$NON-NLS-1$
027:
028: /** Top Left Trim Area */
029: public final static String TRIM_COMMAND1 = "toolbar:org.eclipse.ui.trim.command1"; //$NON-NLS-1$
030: /** Top Right Trim Area */
031: public final static String TRIM_COMMAND2 = "toolbar:org.eclipse.ui.trim.command2"; //$NON-NLS-1$
032: /** Left Vertical Trim Area */
033: public final static String TRIM_VERTICAL1 = "toolbar:org.eclipse.ui.trim.vertical1"; //$NON-NLS-1$
034: /** Right Vertical Trim Area */
035: public final static String TRIM_VERTICAL2 = "toolbar:org.eclipse.ui.trim.vertical2"; //$NON-NLS-1$
036: /** Bottom (Status) Trim Area */
037: public final static String TRIM_STATUS = "toolbar:org.eclipse.ui.trim.status"; //$NON-NLS-1$
038:
039: /**
040: * @param id The menu's id
041: * @return
042: * The lcoation URI for a menu with the given id
043: */
044: public static String menuUri(String id) {
045: return "menu:" + id; //$NON-NLS-1$
046: }
047:
048: /**
049: * @param id The id of the menu
050: * @param location The relative location specifier
051: * @param refId The id of the menu element to be relative to
052: * @return
053: * A location URI formatted with the given parameters
054: */
055: public static String menuAddition(String id, String location,
056: String refId) {
057: return menuUri(id) + '?' + location + '=' + refId;
058: }
059:
060: /**
061: * Convenience method to create a standard menu addition
062: * The resulting string has the format:
063: * "menu:[id]?after=additions"
064: * @param id The id of the root element to contribute to
065: * @return The formatted string
066: */
067: public static String menuAddition(String id) {
068: return menuAddition(id, "after", "additions"); //$NON-NLS-1$//$NON-NLS-2$
069: }
070:
071: /**
072: * @param id The toolbar's id
073: * @return
074: * The lcoation URI for a toolbar with the given id
075: */
076: public static String toolbarUri(String id) {
077: return "toolbar:" + id; //$NON-NLS-1$
078: }
079:
080: /**
081: * @param id The id of the toolbar
082: * @param location The relative location specifier
083: * @param refId The id of the toolbar element to be relative to
084: * @return
085: * A location URI formatted with the given parameters
086: */
087: public static String toolbarAddition(String id, String location,
088: String refId) {
089: return toolbarUri(id) + '?' + location + '=' + refId;
090: }
091:
092: /**
093: * Convenience method to create a standard toolbar addition
094: * The resulting string has the format:
095: * "toolbar:[id]?after=additions"
096: * @param id The id of the root element to contribute to
097: * @return The formatted string
098: */
099: public static String toolbarAddition(String id) {
100: return toolbarAddition(id, "after", "additions"); //$NON-NLS-1$//$NON-NLS-2$
101: }
102: }
|