Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2011-09-14 15:15:24 +0000
committerTom Schindl2011-09-14 15:15:24 +0000
commitb3f6f4d4d311e7b7b588b6bae9912197e037e479 (patch)
treea23117eb5d867ad7b93dfff18fe4eaf950366e81 /bundles/org.eclipse.e4.tools
parentc963b2293f11c216aeefd96651d6ce2f6e984ff8 (diff)
downloadorg.eclipse.e4.tools-b3f6f4d4d311e7b7b588b6bae9912197e037e479.tar.gz
org.eclipse.e4.tools-b3f6f4d4d311e7b7b588b6bae9912197e037e479.tar.xz
org.eclipse.e4.tools-b3f6f4d4d311e7b7b588b6bae9912197e037e479.zip
Bug 357634 - Application.e4xmi missing entries when created by
New>e4>Model>New Application Model
Diffstat (limited to 'bundles/org.eclipse.e4.tools')
-rw-r--r--bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/BaseApplicationModelWizard.java5
-rw-r--r--bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewApplicationModelWizard.java49
-rw-r--r--bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewContributionModelWizard.java6
-rw-r--r--bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewModelFilePage.java8
4 files changed, 67 insertions, 1 deletions
diff --git a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/BaseApplicationModelWizard.java b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/BaseApplicationModelWizard.java
index d6b56991..72f84636 100644
--- a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/BaseApplicationModelWizard.java
+++ b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/BaseApplicationModelWizard.java
@@ -33,6 +33,7 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
@@ -63,10 +64,12 @@ public abstract class BaseApplicationModelWizard extends Wizard implements INewW
*/
public void addPages() {
- page = new NewModelFilePage(selection,getDefaultFileName());
+ page = createWizardPage(selection);
addPage(page);
}
+ protected abstract NewModelFilePage createWizardPage(ISelection selection);
+
public abstract String getDefaultFileName();
@Override
diff --git a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewApplicationModelWizard.java b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewApplicationModelWizard.java
index 7b625052..8e030bb6 100644
--- a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewApplicationModelWizard.java
+++ b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewApplicationModelWizard.java
@@ -11,9 +11,15 @@
package org.eclipse.e4.internal.tools.wizards.model;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.e4.ui.model.application.MAddon;
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.e4.ui.model.application.MApplicationFactory;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
public class NewApplicationModelWizard extends BaseApplicationModelWizard {
@@ -27,10 +33,53 @@ public class NewApplicationModelWizard extends BaseApplicationModelWizard {
MApplication application = MApplicationFactory.INSTANCE.createApplication();
try {
application.setElementId(getModelFile().getProject().getName() + ".application");
+ if( ((ModelFilePageImpl)getPages()[0]).includeDefaultAddons.getSelection() ) {
+ String[][] addons = {
+ { "org.eclipse.e4.core.commands.service", "platform:/plugin/org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon" },
+ { "org.eclipse.e4.ui.contexts.service", "platform:/plugin/org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon" },
+ { "org.eclipse.e4.ui.bindings.service", "platform:/plugin/org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon" },
+ { "org.eclipse.e4.ui.workbench.commands.model", "platform:/plugin/org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon" },
+ { "org.eclipse.e4.ui.workbench.contexts.model", "platform:/plugin/org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon" },
+ { "org.eclipse.e4.ui.workbench.bindings.model", "platform:/plugin/org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon" }
+
+ };
+
+ for( String[] a : addons ) {
+ MAddon addon = MApplicationFactory.INSTANCE.createAddon();
+ addon.setElementId(a[0]);
+ addon.setContributionURI(a[1]);
+ application.getAddons().add(addon);
+ }
+ }
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (EObject) application;
}
+
+ @Override
+ protected NewModelFilePage createWizardPage(ISelection selection) {
+ return new ModelFilePageImpl(selection,getDefaultFileName());
+ }
+
+ static class ModelFilePageImpl extends NewModelFilePage {
+
+ private Button includeDefaultAddons;
+
+ public ModelFilePageImpl(ISelection selection, String defaultFilename) {
+ super(selection, defaultFilename);
+ }
+
+ @Override
+ protected void createAdditionalControls(Composite parent) {
+ super.createAdditionalControls(parent);
+
+ new Label(parent, SWT.NONE);
+
+ includeDefaultAddons = new Button(parent, SWT.CHECK);
+ includeDefaultAddons.setText("Include default addons");
+ includeDefaultAddons.setSelection(true);
+ }
+ }
} \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewContributionModelWizard.java b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewContributionModelWizard.java
index 04d252f6..3c9873e6 100644
--- a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewContributionModelWizard.java
+++ b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewContributionModelWizard.java
@@ -12,6 +12,7 @@ package org.eclipse.e4.internal.tools.wizards.model;
import org.eclipse.e4.ui.model.fragment.MFragmentFactory;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.viewers.ISelection;
public class NewContributionModelWizard extends BaseApplicationModelWizard {
@@ -24,4 +25,9 @@ public class NewContributionModelWizard extends BaseApplicationModelWizard {
protected EObject createInitialModel() {
return (EObject) MFragmentFactory.INSTANCE.createModelFragments();
}
+
+ @Override
+ protected NewModelFilePage createWizardPage(ISelection selection) {
+ return new NewModelFilePage(selection,getDefaultFileName());
+ }
} \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewModelFilePage.java b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewModelFilePage.java
index 4cb85960..634ea30c 100644
--- a/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewModelFilePage.java
+++ b/bundles/org.eclipse.e4.tools/src/org/eclipse/e4/internal/tools/wizards/model/NewModelFilePage.java
@@ -98,11 +98,19 @@ public class NewModelFilePage extends WizardPage {
dialogChanged();
}
});
+
+ new Label(container, SWT.NONE);
+
+ createAdditionalControls(container);
initialize();
dialogChanged();
setControl(container);
}
+ protected void createAdditionalControls(Composite parent) {
+
+ }
+
/**
* Tests if the current workbench selection is a suitable container to use.
*/

Back to the top