diff options
| author | Tom Schindl | 2015-01-22 14:50:20 +0000 |
|---|---|---|
| committer | Tom Schindl | 2015-01-22 14:50:20 +0000 |
| commit | 034452c6c4cc9cc0a0177136cedd79c4f815030a (patch) | |
| tree | 9d8feb9852b5dd042b4fc663341df896b80c13d8 | |
| parent | 383be4666e9b8135986a452167124802479389e4 (diff) | |
| download | org.eclipse.rap.incubator.e4-034452c6c4cc9cc0a0177136cedd79c4f815030a.tar.gz org.eclipse.rap.incubator.e4-034452c6c4cc9cc0a0177136cedd79c4f815030a.tar.xz org.eclipse.rap.incubator.e4-034452c6c4cc9cc0a0177136cedd79c4f815030a.zip | |
Bug 458155 - [e4] e4.core.commands uses statics which causes major
problems on RAP
13 files changed, 150 insertions, 99 deletions
diff --git a/bundles/org.eclipse.e4.core.commands/pom.xml b/bundles/org.eclipse.e4.core.commands/pom.xml index 114fef8..19c424e 100644 --- a/bundles/org.eclipse.e4.core.commands/pom.xml +++ b/bundles/org.eclipse.e4.core.commands/pom.xml @@ -1,24 +1,34 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (c) 2012, 2013 Eclipse Foundation and others. - All rights reserved. This program and the accompanying materials - are made available under the terms of the Eclipse Distribution License v1.0 - which accompanies this distribution, and is available at - http://www.eclipse.org/org/documents/edl-v10.php - - Contributors: - Igor Fedorenko - initial implementation ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>eclipse.platform.ui</artifactId> - <groupId>eclipse.platform.ui</groupId> - <version>4.4.0-SNAPSHOT</version> - <relativePath>../../</relativePath> - </parent> - <groupId>org.eclipse.e4</groupId> - <artifactId>org.eclipse.e4.core.commands</artifactId> - <version>0.10.2-SNAPSHOT</version> - <packaging>eclipse-plugin</packaging> -</project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>RAP e4 target runtime build - Core Commands</name>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>org.eclipse.e4.core.commands</artifactId>
+ <version>0.10.2-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+ <parent>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>releng</artifactId>
+ <relativePath>../../releng/releng-target/pom.xml</relativePath>
+ <version>0.9.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <resources>
+ <!-- to ensure that the feature lookup of the ui test works -->
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>META-INF/</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java index 51e873d..b7097cc 100644 --- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java +++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/CommandServiceAddon.java @@ -13,12 +13,15 @@ package org.eclipse.e4.core.commands; import java.lang.reflect.Field; +import java.util.LinkedList; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; +import javax.inject.Inject; import org.eclipse.core.commands.CommandManager; import org.eclipse.e4.core.commands.internal.CommandServiceImpl; import org.eclipse.e4.core.commands.internal.HandlerServiceCreationFunction; import org.eclipse.e4.core.commands.internal.HandlerServiceImpl; +import org.eclipse.e4.core.commands.internal.HandlerServiceImpl.ExecutionContexts; import org.eclipse.e4.core.contexts.ContextInjectionFactory; import org.eclipse.e4.core.contexts.IEclipseContext; @@ -29,6 +32,12 @@ import org.eclipse.e4.core.contexts.IEclipseContext; * @noinstantiate */ public class CommandServiceAddon { + private IEclipseContext context; + + @Inject + public CommandServiceAddon(IEclipseContext context) { + this.context = context; + } @PostConstruct void init(IEclipseContext context) { @@ -46,13 +55,14 @@ public class CommandServiceAddon { // handler service context.set(EHandlerService.class.getName(), new HandlerServiceCreationFunction()); + context.set("_handlerExecutionStack", new LinkedList<ExecutionContexts>()); //$NON-NLS-1$ // provide the initial application context, just in case. HandlerServiceImpl.push(context, null); } @PreDestroy void cleanup() { - HandlerServiceImpl.pop(); + HandlerServiceImpl.pop(context); } /** diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java index 449c87e..052e713 100644 --- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java +++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceImpl.java @@ -19,6 +19,7 @@ import org.eclipse.core.commands.CommandManager; import org.eclipse.core.commands.IParameter; import org.eclipse.core.commands.ParameterizedCommand; import org.eclipse.e4.core.commands.ECommandService; +import org.eclipse.e4.core.contexts.IEclipseContext; /** * @@ -26,10 +27,12 @@ import org.eclipse.e4.core.commands.ECommandService; public class CommandServiceImpl implements ECommandService { private CommandManager commandManager; + private IEclipseContext context; @Inject - public void setManager(CommandManager m) { + public void setManager(CommandManager m, IEclipseContext c) { commandManager = m; + context = c; } @Override @@ -56,7 +59,7 @@ public class CommandServiceImpl implements ECommandService { Command cmd = commandManager.getCommand(id); if (!cmd.isDefined()) { cmd.define(name, description, category, parameters); - cmd.setHandler(HandlerServiceImpl.getHandler(id)); + cmd.setHandler(HandlerServiceImpl.getHandler(id, context)); } return cmd; } diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java index 7823f3e..5b4013f 100644 --- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java +++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceHandler.java @@ -33,14 +33,16 @@ public class HandlerServiceHandler extends AbstractHandler { private static final String FAILED_TO_FIND_HANDLER_DURING_EXECUTION = "Failed to find handler during execution"; //$NON-NLS-1$ protected String commandId; + private IEclipseContext context; - public HandlerServiceHandler(String commandId) { + public HandlerServiceHandler(String commandId, IEclipseContext context) { this.commandId = commandId; + this.context = context; } @Override public boolean isEnabled() { - ExecutionContexts contexts = HandlerServiceImpl.peek(); + ExecutionContexts contexts = HandlerServiceImpl.peek(context); // setEnabled(contexts); IEclipseContext executionContext = contexts != null ? contexts.context : null; // getExecutionContext(contexts); if (executionContext == null) { @@ -82,7 +84,7 @@ public class HandlerServiceHandler extends AbstractHandler { } private IEclipseContext getStaticContext(IEclipseContext executionContext) { - final ExecutionContexts pair = HandlerServiceImpl.peek(); + final ExecutionContexts pair = HandlerServiceImpl.peek(context); if (pair != null) { if (pair.context != executionContext) { // log this @@ -105,7 +107,7 @@ public class HandlerServiceHandler extends AbstractHandler { if (evalObj instanceof IEvaluationContext) { return getExecutionContext(((IEvaluationContext) evalObj).getParent()); } - final ExecutionContexts pair = HandlerServiceImpl.peek(); + final ExecutionContexts pair = HandlerServiceImpl.peek(context); if (pair != null) { return pair.context; } @@ -114,7 +116,7 @@ public class HandlerServiceHandler extends AbstractHandler { @Override public boolean isHandled() { - ExecutionContexts contexts = HandlerServiceImpl.peek(); + ExecutionContexts contexts = HandlerServiceImpl.peek(context); if (contexts != null) { Object handler = HandlerServiceImpl.lookUpHandler(contexts.context, commandId); if (handler instanceof IHandler) { diff --git a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java index f174476..f763a1e 100644 --- a/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java +++ b/bundles/org.eclipse.e4.core.commands/src/org/eclipse/e4/core/commands/internal/HandlerServiceImpl.java @@ -40,7 +40,7 @@ public class HandlerServiceImpl implements EHandlerService { /** * The static context key under which a command 'trigger' from legacy code is stored during * calls to {@link #executeHandler(ParameterizedCommand, IEclipseContext)} - * + * * @see IEclipseContext * @see HandlerServiceImpl#executeHandler(ParameterizedCommand, IEclipseContext) */ @@ -53,18 +53,18 @@ public class HandlerServiceImpl implements EHandlerService { public final static String STATIC_CONTEXT = "HandlerServiceImpl.staticContext"; //$NON-NLS-1$ public final static String HANDLER_EXCEPTION = "HandlerServiceImpl.exception"; //$NON-NLS-1$ - private static LinkedList<ExecutionContexts> contextStack = new LinkedList<ExecutionContexts>(); - public static ContextFunction handlerGenerator = null; - public static IHandler getHandler(String commandId) { + private static LinkedList<ExecutionContexts> DEFAULT_STACKLIST = new LinkedList<HandlerServiceImpl.ExecutionContexts>(); + + public static IHandler getHandler(String commandId, IEclipseContext context) { if (handlerGenerator != null) { return (IHandler) handlerGenerator.compute(null, commandId); } - return new HandlerServiceHandler(commandId); + return new HandlerServiceHandler(commandId, context); } - static class ExecutionContexts { + public static class ExecutionContexts { public IEclipseContext context; public IEclipseContext staticContext; @@ -74,20 +74,23 @@ public class HandlerServiceImpl implements EHandlerService { } } - static LinkedList<ExecutionContexts> getContextStack() { - return contextStack; + static LinkedList<ExecutionContexts> getContextStack(IEclipseContext context) { + if (context == null) { + return DEFAULT_STACKLIST; + } + return (LinkedList<ExecutionContexts>) context.get("_handlerExecutionStack"); //$NON-NLS-1$ } public static void push(IEclipseContext ctx, IEclipseContext staticCtx) { - getContextStack().addFirst(new ExecutionContexts(ctx, staticCtx)); + getContextStack(ctx).addFirst(new ExecutionContexts(ctx, staticCtx)); } - public static ExecutionContexts pop() { - return getContextStack().poll(); + public static ExecutionContexts pop(IEclipseContext ctx) { + return getContextStack(ctx).poll(); } - static ExecutionContexts peek() { - return getContextStack().peek(); + static ExecutionContexts peek(IEclipseContext ctx) { + return getContextStack(ctx).peek(); } /** @@ -102,7 +105,7 @@ public class HandlerServiceImpl implements EHandlerService { /** * Fill in a temporary static context for execution. - * + * * @param command */ @SuppressWarnings("rawtypes") @@ -123,7 +126,7 @@ public class HandlerServiceImpl implements EHandlerService { /** * Convert the parameter's value according to it's type. - * + * * @param command * @param parameterId * @param value @@ -176,10 +179,10 @@ public class HandlerServiceImpl implements EHandlerService { push(executionContext, staticContext); try { Command cmd = command.getCommand(); - cmd.setEnabled(new ExpressionContext(peek().context)); + cmd.setEnabled(new ExpressionContext(peek(executionContext).context)); return cmd.isEnabled(); } finally { - pop(); + pop(executionContext); // executionContext.remove(STATIC_CONTEXT); } } @@ -208,7 +211,7 @@ public class HandlerServiceImpl implements EHandlerService { try { // Command cmd = command.getCommand(); return command.executeWithChecks(staticContext.get(SWT_TRIGGER), new ExpressionContext( - peek().context)); + peek(executionContext).context)); } catch (ExecutionException e) { staticContext.set(HANDLER_EXCEPTION, e); } catch (NotDefinedException e) { @@ -218,7 +221,7 @@ public class HandlerServiceImpl implements EHandlerService { } catch (NotHandledException e) { staticContext.set(HANDLER_EXCEPTION, e); } finally { - pop(); + pop(executionContext); // executionContext.remove(STATIC_CONTEXT); } return null; diff --git a/bundles/org.eclipse.e4.ui.workbench/pom.xml b/bundles/org.eclipse.e4.ui.workbench/pom.xml index 52f447c..1bdaaad 100644 --- a/bundles/org.eclipse.e4.ui.workbench/pom.xml +++ b/bundles/org.eclipse.e4.ui.workbench/pom.xml @@ -1,24 +1,34 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (c) 2012, 2014 Eclipse Foundation and others. - All rights reserved. This program and the accompanying materials - are made available under the terms of the Eclipse Distribution License v1.0 - which accompanies this distribution, and is available at - http://www.eclipse.org/org/documents/edl-v10.php - - Contributors: - Igor Fedorenko - initial implementation ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>eclipse.platform.ui</artifactId> - <groupId>eclipse.platform.ui</groupId> - <version>4.4.0-SNAPSHOT</version> - <relativePath>../../</relativePath> - </parent> - <groupId>org.eclipse.e4</groupId> - <artifactId>org.eclipse.e4.ui.workbench</artifactId> - <version>1.2.2-SNAPSHOT</version> - <packaging>eclipse-plugin</packaging> -</project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <name>RAP e4 target runtime build - UI Workbench</name>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>org.eclipse.e4.ui.workbench</artifactId>
+ <version>1.2.2-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+ <parent>
+ <groupId>org.eclipse.rap.e4</groupId>
+ <artifactId>releng</artifactId>
+ <relativePath>../../releng/releng-target/pom.xml</relativePath>
+ <version>0.9.0-SNAPSHOT</version>
+ </parent>
+
+ <build>
+ <resources>
+ <!-- to ensure that the feature lookup of the ui test works -->
+ <resource>
+ <directory>.</directory>
+ <includes>
+ <include>META-INF/</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java index 08a7ff7..69d8768 100644 --- a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java +++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/addons/CommandProcessingAddon.java @@ -26,6 +26,7 @@ import org.eclipse.core.commands.ParameterType; import org.eclipse.core.commands.common.NotDefinedException; import org.eclipse.e4.core.commands.ECommandService; import org.eclipse.e4.core.commands.internal.HandlerServiceImpl; +import org.eclipse.e4.core.contexts.IEclipseContext; import org.eclipse.e4.core.services.events.IEventBroker; import org.eclipse.e4.ui.internal.workbench.Activator; import org.eclipse.e4.ui.internal.workbench.Parameter; @@ -66,6 +67,13 @@ public class CommandProcessingAddon { private ICommandManagerListener cmListener; + private final IEclipseContext context; + + @Inject + public CommandProcessingAddon(IEclipseContext context) { + this.context = context; + } + /** * @param cmd * @param modelService @@ -158,7 +166,7 @@ public class CommandProcessingAddon { final Command command = commandManagerEvent.getCommandManager().getCommand( commandId); if (command.getHandler() == null) { - command.setHandler(HandlerServiceImpl.getHandler(commandId)); + command.setHandler(HandlerServiceImpl.getHandler(commandId, context)); } try { MCategory categoryModel = findCategory(command.getCategory().getId()); @@ -247,7 +255,7 @@ public class CommandProcessingAddon { /** * Attempt to localize the provided key. Return the localized variant if found or the key itself * otherwise. - * + * * @param key * the possible key reference * @param modelElement diff --git a/demo/org.eclipse.rap.e4.demo/Application.e4xmi b/demo/org.eclipse.rap.e4.demo/Application.e4xmi index 2ac2012..83a0d7b 100644 --- a/demo/org.eclipse.rap.e4.demo/Application.e4xmi +++ b/demo/org.eclipse.rap.e4.demo/Application.e4xmi @@ -6,23 +6,23 @@ <children xsi:type="basic:PartStack" xmi:id="_M-uNIKCAEeOCJ5u74o02rg" elementId="org.eclipse.rap.e4.demo.partstack.0" containerData="300"> <children xsi:type="basic:Part" xmi:id="_GwxdIKCAEeOCJ5u74o02rg" elementId="org.eclipse.rap.e4.demo.part.1" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.parts.EventSamplePart" label="%part.label.1"> <toolbar xmi:id="_HHjAcOGREeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.toolbar.1"> - <children xsi:type="menu:DirectToolItem" xmi:id="_Hh9EgOGREeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.1" label="TB-Item" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> + <children xsi:type="menu:DirectToolItem" xmi:id="_Hh9EgOGREeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.1" label="%directtoolitem.label.1" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> </toolbar> </children> <children xsi:type="basic:Part" xmi:id="_rk6l0KhAEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.part.2" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.parts.PreferenceSamplePart" label="%part.label.2"> <menus xmi:id="_EIg8IOGUEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.menu.2"> <tags>ViewMenu</tags> - <children xsi:type="menu:DirectMenuItem" xmi:id="_HAt4UOGUEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.1" label="Hello World" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> + <children xsi:type="menu:DirectMenuItem" xmi:id="_HAt4UOGUEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.1" label="%directmenuitem.label.2" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> </menus> </children> <children xsi:type="basic:Part" xmi:id="_JBUKsKhHEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.part.3" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.parts.NLSSamplePart" label="%part.label.3"> <menus xmi:id="_4EurEOGcEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.menu.3"> <tags>ViewMenu</tags> - <children xsi:type="menu:DirectMenuItem" xmi:id="_4nG_YOGcEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.2" label="Hello extra" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> + <children xsi:type="menu:DirectMenuItem" xmi:id="_4nG_YOGcEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directmenuitem.2" label="%directmenuitem.label.3" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> </menus> <toolbar xmi:id="_6O4mwOGiEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.toolbar.2"> <tags>ContentArea</tags> - <children xsi:type="menu:DirectToolItem" xmi:id="_7pm4UOGiEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.2" label="Hello World" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> + <children xsi:type="menu:DirectToolItem" xmi:id="_7pm4UOGiEeObqJp-_0s5uA" elementId="org.eclipse.rap.e4.demo.directtoolitem.2" label="%directtoolitem.label.2" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> </toolbar> </children> </children> @@ -30,6 +30,7 @@ <mainMenu xmi:id="_wk6tQKhGEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.menu.0"> <children xsi:type="menu:Menu" xmi:id="_xXHmQKhGEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.menu.1" label="%menu.label.1"> <children xsi:type="menu:DirectMenuItem" xmi:id="_y5diwKhGEeO0Haj3z6o3PQ" elementId="org.eclipse.rap.e4.demo.directmenuitem.0" label="%directmenuitem.label.1" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler"/> + <children xsi:type="menu:HandledMenuItem" xmi:id="_gD30kKJDEeSqSpaGLeFO-g" elementId="org.eclipse.rap.e4.demo.handledmenuitem.0" label="%handledmenuitem.label.1" command="_Zs-j8KJDEeSqSpaGLeFO-g"/> </children> </mainMenu> <trimBars xmi:id="_svgAANdbEeOAKaBhrzDgEg" elementId="org.eclipse.rap.e4.demo.trimbar.0"> @@ -38,10 +39,12 @@ </children> </trimBars> </children> + <handlers xmi:id="_bbwZ8KJDEeSqSpaGLeFO-g" elementId="org.eclipse.rap.e4.demo.handler.0" contributionURI="bundleclass://org.eclipse.rap.e4.demo/org.eclipse.rap.e4.demo.handlers.HelloWorldHandler" command="_Zs-j8KJDEeSqSpaGLeFO-g"/> <rootContext xmi:id="_-j-tkKBNEeODEs7-bWqIxA" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows"> <children xmi:id="_-j-tkaBNEeODEs7-bWqIxA" elementId="org.eclipse.ui.contexts.window" name="In Windows"/> <children xmi:id="_-j-tkqBNEeODEs7-bWqIxA" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/> </rootContext> + <commands xmi:id="_Zs-j8KJDEeSqSpaGLeFO-g" elementId="org.eclipse.rap.e4.demo.command.0" commandName="%command.commandname.1"/> <addons xmi:id="_-j-GgqBNEeODEs7-bWqIxA" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/> <addons xmi:id="_-j-Gg6BNEeODEs7-bWqIxA" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/> <addons xmi:id="_-j-GhKBNEeODEs7-bWqIxA" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/> diff --git a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties index c5c23cf..ab48e42 100644 --- a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties +++ b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle.properties @@ -7,4 +7,11 @@ directmenuitem.label.1 = Hello World NLSSamplePart_currentLangLabel = Current Language: NLSSamplePart_updateLangLabel = New language: -NLSSamplePart_updateLangButton = Apply
\ No newline at end of file +NLSSamplePart_updateLangButton = Apply + +directtoolitem.label.1 = TB-Item +directmenuitem.label.2 = Hello World +directmenuitem.label.3 = Hello extra +directtoolitem.label.2 = Hello World +handledmenuitem.label.1 = Hello World Command +command.commandname.1 = Hello World Command diff --git a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties index 6b7cfd6..c729f8b 100644 --- a/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties +++ b/demo/org.eclipse.rap.e4.demo/OSGI-INF/l10n/bundle_de.properties @@ -7,4 +7,11 @@ directmenuitem.label.1 = Hallo Welt NLSSamplePart_currentLangLabel = Aktuelle Sprache: NLSSamplePart_updateLangLabel = Neue Sprache: -NLSSamplePart_updateLangButton = Anwenden
\ No newline at end of file +NLSSamplePart_updateLangButton = Anwenden + +directtoolitem.label.1 = TB-Element +directmenuitem.label.2 = Hallo Welt +directmenuitem.label.3 = Hallo Extra +directtoolitem.label.2 = Hallo Welt +handledmenuitem.label.1 = Hallo Welt Kommando +command.commandname.1 = Hallo Welt Kommando diff --git a/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch b/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch index 2ef98cb..1d762c7 100644 --- a/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch +++ b/demo/org.eclipse.rap.e4.demo/dev_org.eclipse.rap.e4.demo.launch @@ -34,9 +34,9 @@ <booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/> <stringAttribute key="pde.version" value="3.3"/> <booleanAttribute key="show_selected_only" value="false"/> -<stringAttribute key="target_bundles" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/> +<stringAttribute key="target_bundles" value="com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/> <booleanAttribute key="tracing" value="false"/> <booleanAttribute key="useCustomFeatures" value="false"/> <booleanAttribute key="useDefaultConfigArea" value="true"/> -<stringAttribute key="workspace_bundles" value="org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.rap.e4.demo@default:default,org.eclipse.rap.e4@default:default"/> +<stringAttribute key="workspace_bundles" value="org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.rap.e4.demo@default:default,org.eclipse.rap.e4@default:default,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default"/> </launchConfiguration> diff --git a/features/org.eclipse.rap.e4.base.feature/feature.xml b/features/org.eclipse.rap.e4.base.feature/feature.xml index 0abb46b..72ff8ed 100644 --- a/features/org.eclipse.rap.e4.base.feature/feature.xml +++ b/features/org.eclipse.rap.e4.base.feature/feature.xml @@ -192,13 +192,6 @@ unpack="false"/> <plugin - id="org.eclipse.e4.core.commands" - download-size="0" - install-size="0" - version="0.0.0" - unpack="false"/> - - <plugin id="org.eclipse.e4.ui.model.workbench" download-size="0" install-size="0" @@ -366,11 +359,4 @@ version="0.0.0" unpack="false"/> - <plugin - id="org.eclipse.e4.ui.workbench" - download-size="0" - install-size="0" - version="0.0.0" - unpack="false"/> - </feature> diff --git a/releng/releng-target/pom.xml b/releng/releng-target/pom.xml index 1f9c0cf..58ed08f 100644 --- a/releng/releng-target/pom.xml +++ b/releng/releng-target/pom.xml @@ -26,7 +26,9 @@ </properties> <modules> + <module>../../bundles/org.eclipse.e4.core.commands</module> <module>../../bundles/org.eclipse.e4.ui.bindings</module> + <module>../../bundles/org.eclipse.e4.ui.workbench</module> <module>../../bundles/org.eclipse.e4.ui.workbench.addons.swt</module> <module>../../bundles/org.eclipse.e4.ui.workbench.renderers.swt</module> <module>../../bundles/org.eclipse.e4.ui.workbench.swt</module> |
