Example usage for org.eclipse.jface.action IContributionManager appendToGroup

List of usage examples for org.eclipse.jface.action IContributionManager appendToGroup

Introduction

In this page you can find the example usage for org.eclipse.jface.action IContributionManager appendToGroup.

Prototype

void appendToGroup(String groupName, IContributionItem item);

Source Link

Document

Adds a contribution item to this manager at the end of the group with the given name.

Usage

From source file:org.eclipse.wb.internal.core.model.util.AbstractMorphingSupport.java

License:Open Source License

/**
 * Add "Morph" sub-menu to context {@link IContributionManager}.
 * //from   w  ww .  j av a 2  s .co  m
 * @return the "Morph" sub-menu manager.
 */
protected static MenuManagerEx createMorphManager(IContributionManager manager) {
    MenuManagerEx morphManager = new MenuManagerEx(ModelMessages.MorphingSupport_managerText);
    morphManager.setImage(DesignerPlugin.getImage("actions/morph/morph2.png"));
    manager.appendToGroup(IContextMenuConstants.GROUP_INHERITANCE, morphManager);
    return morphManager;
}

From source file:org.eclipse.wb.internal.core.model.util.ExposeComponentSupport.java

License:Open Source License

/**
 * If possible, contributes "expose" action.
 * //w w  w.j  a  v  a 2s  .  c  o  m
 * @param component
 *          the {@link JavaInfo} that should be exposed.
 * @param manager
 *          the {@link IContributionManager} to add action to.
 * @param text
 *          the text to display in action.
 */
public static void contribute(JavaInfo component, IContributionManager manager, String text) {
    // check for supported variable type
    VariableSupport variableSupport = component.getVariableSupport();
    if (!(variableSupport instanceof AbstractSimpleVariableSupport)) {
        return;
    }
    // check, may be there is already method that returns this component
    {
        AstEditor editor = component.getEditor();
        TypeDeclaration typeDeclaration = getTypeDeclaration(component);
        for (MethodDeclaration method : typeDeclaration.getMethods()) {
            List<Statement> statements = DomGenerics.statements(method);
            if (statements.size() == 1 && statements.get(0) instanceof ReturnStatement) {
                ReturnStatement returnStatement = (ReturnStatement) statements.get(0);
                // check for "return fieldName;"
                if (variableSupport.hasName()) {
                    String name = variableSupport.getName();
                    Expression expression = returnStatement.getExpression();
                    if (expression != null && editor.getSource(expression).equals(name)) {
                        return;
                    }
                }
            }
        }
    }
    // OK, we can add expose action
    manager.appendToGroup(IContextMenuConstants.GROUP_INHERITANCE, new ExposeAction(component, text));
}

From source file:org.eclipse.wb.internal.core.model.util.factory.FactoryActionsSupport.java

License:Open Source License

/**
 * If possible, contributes actions for factory operations.
 * /* w w  w .j a va 2 s. c  om*/
 * @param component
 *          the {@link JavaInfo} the target component.
 * @param manager
 *          the {@link IContributionManager} to add actions to.
 */
public static void contribute(JavaInfo component, IContributionManager manager) throws Exception {
    // only constructor creation is supported, no "factory-on-factory-on-factory" please :-)
    if (!(component.getCreationSupport() instanceof ConstructorCreationSupport)) {
        return;
    }
    // add "Factory" sub-menu
    MenuManagerEx factoryManager;
    {
        factoryManager = new MenuManagerEx(ModelMessages.FactoryActionsSupport_factoryManager);
        factoryManager.setImage(DesignerPlugin.getImage("actions/factory/factory.png"));
        manager.appendToGroup(IContextMenuConstants.GROUP_INHERITANCE, factoryManager);
    }
    // add "factory" actions
    new FactoryActionsSupport(component).contribute(factoryManager);
}

From source file:org.eclipse.wb.internal.core.model.util.RenameConvertSupport.java

License:Open Source License

/**
 * If possible, contributes "rename" action.
 * // w  w w .  jav  a  2 s  .  c  om
 * @param objects
 *          The components that should be renamed/converted.
 * @param manager
 *          The {@link IContributionManager} to add action to.
 */
public static void contribute(List<? extends ObjectInfo> objects, IContributionManager manager) {
    // ensure objects (during tests we sometimes send "null")
    if (objects == null) {
        return;
    }
    // prepare components
    Iterable<JavaInfo> components = Iterables.filter(objects, JavaInfo.class);
    RenameConvertSupport support = new RenameConvertSupport(components);
    // add action
    if (components.iterator().hasNext()) {
        Action action = support.new RenameAction();
        manager.appendToGroup(IContextMenuConstants.GROUP_INHERITANCE, action);
    }
}

From source file:org.eclipse.wb.internal.swing.customize.CustomizerSupport.java

License:Open Source License

/**
 * Contribute "Customize" action.//from www .j a v  a 2s. c o m
 */
private static void contribute(JavaInfo javaInfo, IContributionManager manager,
        Class<Customizer> customizerClass) {
    CustomizerAction action = new CustomizerAction(javaInfo, customizerClass);
    manager.appendToGroup(IContextMenuConstants.GROUP_ADDITIONAL, action);
}

From source file:org.kalypso.metadoc.ui.ExportActionContributor.java

License:Open Source License

/**
 * Fills the export actions into the given target-editor
 *
 * @param mode//from   w ww. jav a2 s . co  m
 *          the mode (in the sense of the org.kalypso.metadoc.exportTarget) which denotes which kind of perspective
 *          should be supported by the extension. Optional, can be null, which means take all targets.
 */
public static ExportAction[] contributeActions(final IEditorPart targetEditor, final String menuPath,
        final String toolbarGroup, final String mode) {
    try {
        final IActionBars actionBars = targetEditor.getEditorSite().getActionBars();
        final ExportAction[] actions = createActions(targetEditor, mode);
        final IMenuManager menuManager = actionBars.getMenuManager();

        final IContributionItem menuItem = menuManager.findUsingPath(menuPath);

        final IToolBarManager toolBarManager = actionBars.getToolBarManager();

        for (final ExportAction action : actions) {
            if (menuItem != null) {
                if (menuItem instanceof GroupMarker) {
                    final GroupMarker marker = (GroupMarker) menuItem;
                    final IContributionManager parent = marker.getParent();
                    parent.appendToGroup(marker.getGroupName(), action);
                } else if (menuItem instanceof IMenuManager) {
                    final IMenuManager mm = (IMenuManager) menuItem;
                    mm.add(action);
                }
            }

            if (toolBarManager != null)
                toolBarManager.appendToGroup(toolbarGroup, action);
        }

        return actions;
    } catch (final CoreException e) {
        e.printStackTrace();
        ErrorDialog.openError(targetEditor.getSite().getShell(), "Export Targets laden",
                "Fehler beim Laden der Export Targets", e.getStatus());

        return null;
    }
}