Binary file plugins/org.symbian.tools.tmw.previewer/bin/org/symbian/tools/tmw/previewer/PreviewerPlugin.class has changed
--- a/plugins/org.symbian.tools.tmw.previewer/plugin.xml Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.tmw.previewer/plugin.xml Mon Aug 23 17:45:32 2010 -0700
@@ -10,7 +10,7 @@
category="org.symbian.tools.tmw"
class="org.symbian.tools.tmw.previewer.preview.PreviewView"
icon="icons/obj16/preview_view.gif"
- id="org.symbian.tools.wrttools.editing.wrtpreview"
+ id="org.symbian.tools.tmw.preview"
name="Preview"
restorable="true">
</view>
--- a/plugins/org.symbian.tools.tmw.previewer/src/org/symbian/tools/tmw/previewer/PreviewerPlugin.java Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.tmw.previewer/src/org/symbian/tools/tmw/previewer/PreviewerPlugin.java Mon Aug 23 17:45:32 2010 -0700
@@ -43,7 +43,7 @@
// The plug-in ID
public static final String PLUGIN_ID = "org.symbian.tools.tmw.previewer";
- public static final String PREVIEW_VIEW = "org.symbian.tools.tmw.editing.wrtpreview";
+ public static final String PREVIEW_VIEW = "org.symbian.tools.tmw.preview";
public static final boolean DEBUG = Platform.inDebugMode()
&& Boolean.parseBoolean(Platform.getDebugOption(PLUGIN_ID + "/debug"));
Binary file plugins/org.symbian.tools.tmw.ui/bin/org/symbian/tools/tmw/internal/ui/wizard/NewApplicationWizard.class has changed
Binary file plugins/org.symbian.tools.tmw.ui/bin/org/symbian/tools/tmw/ui/project/NewApplicationWizard.class has changed
--- a/plugins/org.symbian.tools.tmw.ui/plugin.xml Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.tmw.ui/plugin.xml Mon Aug 23 17:45:32 2010 -0700
@@ -37,7 +37,7 @@
associatedExtensionId="org.eclipse.wst.jsdt.java.ui.javaContent"
menuGroupId="group.new.z"
type="new"
- wizardId="org.symbian.tools.wrttools.core.wrtwidgetwizard">
+ wizardId="org.symbian.tools.tmw.newproject">
<enablement>
<or>
<adapt
@@ -249,7 +249,7 @@
<wizard
canFinishEarly="false"
category="org.symbian.tools.tmw"
- class="org.symbian.tools.tmw.internal.ui.wizard.NewApplicationWizard"
+ class="org.symbian.tools.tmw.ui.project.NewApplicationWizard"
hasPages="true"
icon="icons/full/etool16/newproject.png"
id="org.symbian.tools.tmw.newproject"
--- a/plugins/org.symbian.tools.tmw.ui/src/org/symbian/tools/tmw/internal/ui/wizard/NewApplicationWizard.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/**
- * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.tmw.internal.ui.wizard;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard;
-import org.symbian.tools.tmw.core.TMWCore;
-import org.symbian.tools.tmw.core.projects.IFProjSupport;
-import org.symbian.tools.tmw.core.runtimes.ProjectCreationConfigFactory;
-import org.symbian.tools.tmw.ui.project.INewApplicationWizardPage;
-import org.symbian.tools.tmw.ui.project.IProjectTemplate;
-
-/**
- * @author Eugene Ostroukhov (eugeneo@symbian.org)
- */
-public final class NewApplicationWizard extends ModifyFacetedProjectWizard implements INewWizard {
- private final PageContributions contributions = new PageContributions();
- private final DataBindingContext databindingContext = new DataBindingContext();
- private NewApplicationFacetsWizardPage facetsPage;
- private NewApplicationDetailsWizardPage firstPage;
- private IStructuredSelection selection;
- private IProjectTemplate template = null;
- private INewApplicationWizardPage[] templatePages = new INewApplicationWizardPage[0];
- private NewApplicationTemplateWizardPage templatesPage;
- private final WizardContext wizardContext = new WizardContext();
- private IWorkbench workbench;
-
- public NewApplicationWizard() {
- setShowFacetsSelectionPage(false);
- }
-
- public void addPages() {
- this.firstPage = createFirstPage();
- addPage(this.firstPage);
- final IFacetedProject project = getFacetedProject();
- final Set<IProjectFacetVersion> facets;
- if (project == null) {
- facets = Collections.emptySet();
- } else {
- facets = project.getProjectFacets();
- }
- facetsPage = new NewApplicationFacetsWizardPage(facets, getFacetedProjectWorkingCopy());
- addPage(facetsPage);
- templatesPage = new NewApplicationTemplateWizardPage(wizardContext, databindingContext);
- addPage(templatesPage);
- super.addPages();
- }
-
- public boolean canFinish() {
- return getNextPage(getContainer().getCurrentPage()) == null && this.firstPage.isPageComplete()
- && super.canFinish();
- }
-
- protected NewApplicationDetailsWizardPage createFirstPage() {
- firstPage = new NewApplicationDetailsWizardPage(wizardContext, databindingContext);
- return firstPage;
- }
-
- @Override
- public IWizardPage getNextPage(final IWizardPage page) {
- final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
- if (page == this.firstPage) {
- fpjwc.setProjectName(getProjectName());
- fpjwc.setProjectLocation(getProjectLocation());
- final IFProjSupport fprojSupport = TMWCore.getFProjSupport();
- IRuntime runtime = fprojSupport.getRuntime(wizardContext.getRuntime());
- fpjwc.setTargetedRuntimes(Collections.singleton(runtime));
- fpjwc.setPrimaryRuntime(runtime);
- Set<IProjectFacetVersion> facets = getCurrentFixedFacetVersions();
- facets.addAll(fpjwc.getProjectFacets());
- fpjwc.setProjectFacets(facets);
- fpjwc.setFixedProjectFacets(getCurrentFixedFacets());
- } else if (page == this.templatesPage) {
- Set<IProjectFacetVersion> facets = getCurrentFixedFacetVersions();
- facets.addAll(fpjwc.getProjectFacets());
- fpjwc.setProjectFacets(facets);
- fpjwc.setFixedProjectFacets(getCurrentFixedFacets());
- }
- final Collection<Action> actions = fpjwc.getProjectFacetActions();
- final Collection<Action> toReplace = new HashSet<IFacetedProject.Action>();
- for (Action action : actions) {
- if (action.getConfig() == ProjectCreationConfigFactory.CONFIG_STANDIN) {
- toReplace.add(action);
- }
- }
- for (Action action : toReplace) {
- fpjwc.setProjectFacetActionConfig(action.getProjectFacetVersion().getProjectFacet(), wizardContext);
- }
-
- IWizardPage nextPage = super.getNextPage(page);
- return nextPage;
- }
-
- private Set<IProjectFacet> getCurrentFixedFacets() {
- final Set<IProjectFacetVersion> fixedFacets = getCurrentFixedFacetVersions();
- final Set<IProjectFacet> facets = new HashSet<IProjectFacet>();
- for (IProjectFacetVersion facet : fixedFacets) {
- facets.add(facet.getProjectFacet());
- }
- return facets;
- }
-
- private Set<IProjectFacetVersion> getCurrentFixedFacetVersions() {
- final IFProjSupport fprojSupport = TMWCore.getFProjSupport();
- Set<IProjectFacetVersion> facets = new HashSet<IProjectFacetVersion>(
- fprojSupport.getFixedFacetsVersions(wizardContext.getRuntime()));
- if (wizardContext.getTemplate() != null) {
- facets.addAll(Arrays.asList(wizardContext.getTemplate().getRequiredFacets()));
- }
- return facets;
- }
-
- public IWizardPage[] getPages() {
- final IProjectTemplate current = wizardContext.getTemplate();
- if (template != current) {
- for (INewApplicationWizardPage page : templatePages) {
- page.remove();
- page.dispose();
- }
- if (current == null) {
- template = null;
- templatePages = new INewApplicationWizardPage[0];
- } else {
- template = current;
- templatePages = contributions.createPages(template.getId());
- for (INewApplicationWizardPage page : templatePages) {
- page.setWizard(this);
- page.init(wizardContext, databindingContext);
- }
- }
- }
- final IWizardPage[] base = super.getPages();
- final IWizardPage[] pages = new IWizardPage[base.length + 3 + templatePages.length];
-
- pages[0] = this.firstPage;
- pages[1] = this.templatesPage;
- pages[2] = this.facetsPage;
- if (templatePages.length > 0) {
- System.arraycopy(templatePages, 0, pages, 3, templatePages.length);
- }
- System.arraycopy(base, 0, pages, 2, base.length);
-
- return pages;
- }
-
- protected IPath getProjectLocation() {
- return firstPage.getLocationPath();
- }
-
- protected String getProjectName() {
- return wizardContext.getProjectName();
- }
-
- /**
- * Returns the selection that this wizard was launched from.
- *
- * @return the selection that this wizard was launched from
- * @since 1.4
- */
- public IStructuredSelection getSelection() {
- return this.selection;
- }
-
- /**
- * Returns the workbench that this wizard belongs to.
- *
- * @return the workbench that this wizard belongs to
- * @since 1.4
- */
- public IWorkbench getWorkbench() {
- return this.workbench;
- }
-
- public void init(final IWorkbench workbench, final IStructuredSelection selection) {
- this.workbench = workbench;
- this.selection = selection;
- }
-
- @Override
- protected void performFinish(IProgressMonitor monitor) throws CoreException {
- monitor.beginTask("Preparing project", 300);
- super.performFinish(new SubProgressMonitor(monitor, 20));
- wizardContext.initialize(getFacetedProject().getProject(), new SubProgressMonitor(monitor, 80));
- getFacetedProject().getProject().build(IncrementalProjectBuilder.CLEAN_BUILD,
- new SubProgressMonitor(monitor, 100));
- getFacetedProject().getProject().build(IncrementalProjectBuilder.FULL_BUILD,
- new SubProgressMonitor(monitor, 100));
- monitor.done();
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/org.symbian.tools.tmw.ui/src/org/symbian/tools/tmw/ui/project/NewApplicationWizard.java Mon Aug 23 17:45:32 2010 -0700
@@ -0,0 +1,231 @@
+/**
+ * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Symbian Foundation - initial contribution.
+ * Contributors:
+ * Description:
+ * Overview:
+ * Details:
+ * Platforms/Drives/Compatibility:
+ * Assumptions/Requirement/Pre-requisites:
+ * Failures and causes:
+ */
+package org.symbian.tools.tmw.ui.project;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
+import org.eclipse.wst.common.project.facet.ui.ModifyFacetedProjectWizard;
+import org.symbian.tools.tmw.core.TMWCore;
+import org.symbian.tools.tmw.core.projects.IFProjSupport;
+import org.symbian.tools.tmw.core.runtimes.ProjectCreationConfigFactory;
+import org.symbian.tools.tmw.internal.ui.wizard.NewApplicationDetailsWizardPage;
+import org.symbian.tools.tmw.internal.ui.wizard.NewApplicationFacetsWizardPage;
+import org.symbian.tools.tmw.internal.ui.wizard.NewApplicationTemplateWizardPage;
+import org.symbian.tools.tmw.internal.ui.wizard.PageContributions;
+import org.symbian.tools.tmw.internal.ui.wizard.WizardContext;
+
+/**
+ * @author Eugene Ostroukhov (eugeneo@symbian.org)
+ */
+public final class NewApplicationWizard extends ModifyFacetedProjectWizard implements INewWizard {
+ public static final String ID = "org.symbian.tools.tmw.newproject";
+ private final PageContributions contributions = new PageContributions();
+ private final DataBindingContext databindingContext = new DataBindingContext();
+ private NewApplicationFacetsWizardPage facetsPage;
+ private NewApplicationDetailsWizardPage firstPage;
+ private IStructuredSelection selection;
+ private IProjectTemplate template = null;
+ private INewApplicationWizardPage[] templatePages = new INewApplicationWizardPage[0];
+ private NewApplicationTemplateWizardPage templatesPage;
+ private final WizardContext wizardContext = new WizardContext();
+ private IWorkbench workbench;
+
+ public NewApplicationWizard() {
+ setShowFacetsSelectionPage(false);
+ }
+
+ public void addPages() {
+ this.firstPage = createFirstPage();
+ addPage(this.firstPage);
+ final IFacetedProject project = getFacetedProject();
+ final Set<IProjectFacetVersion> facets;
+ if (project == null) {
+ facets = Collections.emptySet();
+ } else {
+ facets = project.getProjectFacets();
+ }
+ facetsPage = new NewApplicationFacetsWizardPage(facets, getFacetedProjectWorkingCopy());
+ addPage(facetsPage);
+ templatesPage = new NewApplicationTemplateWizardPage(wizardContext, databindingContext);
+ addPage(templatesPage);
+ super.addPages();
+ }
+
+ public boolean canFinish() {
+ return getNextPage(getContainer().getCurrentPage()) == null && this.firstPage.isPageComplete()
+ && super.canFinish();
+ }
+
+ protected NewApplicationDetailsWizardPage createFirstPage() {
+ firstPage = new NewApplicationDetailsWizardPage(wizardContext, databindingContext);
+ return firstPage;
+ }
+
+ @Override
+ public IWizardPage getNextPage(final IWizardPage page) {
+ final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
+ if (page == this.firstPage) {
+ fpjwc.setProjectName(getProjectName());
+ fpjwc.setProjectLocation(getProjectLocation());
+ final IFProjSupport fprojSupport = TMWCore.getFProjSupport();
+ IRuntime runtime = fprojSupport.getRuntime(wizardContext.getRuntime());
+ fpjwc.setTargetedRuntimes(Collections.singleton(runtime));
+ fpjwc.setPrimaryRuntime(runtime);
+ Set<IProjectFacetVersion> facets = getCurrentFixedFacetVersions();
+ facets.addAll(fpjwc.getProjectFacets());
+ fpjwc.setProjectFacets(facets);
+ fpjwc.setFixedProjectFacets(getCurrentFixedFacets());
+ } else if (page == this.templatesPage) {
+ Set<IProjectFacetVersion> facets = getCurrentFixedFacetVersions();
+ facets.addAll(fpjwc.getProjectFacets());
+ fpjwc.setProjectFacets(facets);
+ fpjwc.setFixedProjectFacets(getCurrentFixedFacets());
+ }
+ final Collection<Action> actions = fpjwc.getProjectFacetActions();
+ final Collection<Action> toReplace = new HashSet<IFacetedProject.Action>();
+ for (Action action : actions) {
+ if (action.getConfig() == ProjectCreationConfigFactory.CONFIG_STANDIN) {
+ toReplace.add(action);
+ }
+ }
+ for (Action action : toReplace) {
+ fpjwc.setProjectFacetActionConfig(action.getProjectFacetVersion().getProjectFacet(), wizardContext);
+ }
+
+ IWizardPage nextPage = super.getNextPage(page);
+ return nextPage;
+ }
+
+ private Set<IProjectFacet> getCurrentFixedFacets() {
+ final Set<IProjectFacetVersion> fixedFacets = getCurrentFixedFacetVersions();
+ final Set<IProjectFacet> facets = new HashSet<IProjectFacet>();
+ for (IProjectFacetVersion facet : fixedFacets) {
+ facets.add(facet.getProjectFacet());
+ }
+ return facets;
+ }
+
+ private Set<IProjectFacetVersion> getCurrentFixedFacetVersions() {
+ final IFProjSupport fprojSupport = TMWCore.getFProjSupport();
+ Set<IProjectFacetVersion> facets = new HashSet<IProjectFacetVersion>(
+ fprojSupport.getFixedFacetsVersions(wizardContext.getRuntime()));
+ if (wizardContext.getTemplate() != null) {
+ facets.addAll(Arrays.asList(wizardContext.getTemplate().getRequiredFacets()));
+ }
+ return facets;
+ }
+
+ public IWizardPage[] getPages() {
+ final IProjectTemplate current = wizardContext.getTemplate();
+ if (template != current) {
+ for (INewApplicationWizardPage page : templatePages) {
+ page.remove();
+ page.dispose();
+ }
+ if (current == null) {
+ template = null;
+ templatePages = new INewApplicationWizardPage[0];
+ } else {
+ template = current;
+ templatePages = contributions.createPages(template.getId());
+ for (INewApplicationWizardPage page : templatePages) {
+ page.setWizard(this);
+ page.init(wizardContext, databindingContext);
+ }
+ }
+ }
+ final IWizardPage[] base = super.getPages();
+ final IWizardPage[] pages = new IWizardPage[base.length + 3 + templatePages.length];
+
+ pages[0] = this.firstPage;
+ pages[1] = this.templatesPage;
+ pages[2] = this.facetsPage;
+ if (templatePages.length > 0) {
+ System.arraycopy(templatePages, 0, pages, 3, templatePages.length);
+ }
+ System.arraycopy(base, 0, pages, 2, base.length);
+
+ return pages;
+ }
+
+ protected IPath getProjectLocation() {
+ return firstPage.getLocationPath();
+ }
+
+ protected String getProjectName() {
+ return wizardContext.getProjectName();
+ }
+
+ /**
+ * Returns the selection that this wizard was launched from.
+ *
+ * @return the selection that this wizard was launched from
+ * @since 1.4
+ */
+ public IStructuredSelection getSelection() {
+ return this.selection;
+ }
+
+ /**
+ * Returns the workbench that this wizard belongs to.
+ *
+ * @return the workbench that this wizard belongs to
+ * @since 1.4
+ */
+ public IWorkbench getWorkbench() {
+ return this.workbench;
+ }
+
+ public void init(final IWorkbench workbench, final IStructuredSelection selection) {
+ this.workbench = workbench;
+ this.selection = selection;
+ }
+
+ @Override
+ protected void performFinish(IProgressMonitor monitor) throws CoreException {
+ monitor.beginTask("Preparing project", 300);
+ super.performFinish(new SubProgressMonitor(monitor, 20));
+ wizardContext.initialize(getFacetedProject().getProject(), new SubProgressMonitor(monitor, 80));
+ getFacetedProject().getProject().build(IncrementalProjectBuilder.CLEAN_BUILD,
+ new SubProgressMonitor(monitor, 100));
+ getFacetedProject().getProject().build(IncrementalProjectBuilder.FULL_BUILD,
+ new SubProgressMonitor(monitor, 100));
+ monitor.done();
+ }
+}
--- a/plugins/org.symbian.tools.wrttools.product/META-INF/MANIFEST.MF Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools.product/META-INF/MANIFEST.MF Mon Aug 23 17:45:32 2010 -0700
@@ -17,6 +17,8 @@
org.eclipse.wst.html.ui;bundle-version="1.0.400",
org.eclipse.wst.xml.ui;bundle-version="1.1.0",
org.symbian.tools.tmw.previewer;bundle-version="0.9.0",
- org.eclipse.ui.intro
+ org.eclipse.ui.intro,
+ org.symbian.tools.tmw.ui;bundle-version="1.0.0",
+ org.eclipse.wst.common.project.facet.ui;bundle-version="1.4.100"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Binary file plugins/org.symbian.tools.wrttools.product/bin/org/symbian/tools/wrttools/product/actions/NewWRTProjectAction.class has changed
Binary file plugins/org.symbian.tools.wrttools.product/bin/org/symbian/tools/wrttools/product/perspective/WRTPerspective.class has changed
--- a/plugins/org.symbian.tools.wrttools.product/plugin.xml Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools.product/plugin.xml Mon Aug 23 17:45:32 2010 -0700
@@ -56,7 +56,7 @@
name="Web">
</category>
<primaryWizard
- id="org.symbian.tools.wrttools.core.wrtwidgetwizard">
+ id="org.symbian.tools.tmw.newproject">
</primaryWizard>
<primaryWizard
id="org.eclipse.wst.html.ui.internal.wizard.NewHTMLWizard">
@@ -248,13 +248,13 @@
<perspectiveExtension
targetID="org.symbian.tools.wrttools.mainPerspective">
<showInPart
- id="org.symbian.tools.wrttools.wrtnavigator">
+ id="org.eclipse.ui.navigator.ProjectExplorer">
</showInPart>
</perspectiveExtension>
<perspectiveExtension
targetID="org.eclipse.debug.ui.DebugPerspective">
<showInPart
- id="org.symbian.tools.wrttools.wrtnavigator">
+ id="org.eclipse.ui.navigator.ProjectExplorer">
</showInPart>
<perspectiveShortcut
id="org.symbian.tools.wrttools.mainPerspective">
--- a/plugins/org.symbian.tools.wrttools.product/src/org/symbian/tools/wrttools/product/actions/NewWRTProjectAction.java Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools.product/src/org/symbian/tools/wrttools/product/actions/NewWRTProjectAction.java Mon Aug 23 17:45:32 2010 -0700
@@ -8,7 +8,7 @@
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.wst.jsdt.ui.actions.AbstractOpenWizardAction;
-import org.symbian.tools.wrttools.wizards.WrtWidgetWizard;
+import org.symbian.tools.tmw.ui.project.NewApplicationWizard;
public class NewWRTProjectAction extends AbstractOpenWizardAction implements
IWorkbenchWindowActionDelegate {
@@ -29,7 +29,7 @@
@Override
protected INewWizard createWizard() throws CoreException {
- return new WrtWidgetWizard();
+ return new NewApplicationWizard();
}
public void dispose() {
--- a/plugins/org.symbian.tools.wrttools.product/src/org/symbian/tools/wrttools/product/perspective/WRTPerspective.java Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools.product/src/org/symbian/tools/wrttools/product/perspective/WRTPerspective.java Mon Aug 23 17:45:32 2010 -0700
@@ -9,6 +9,7 @@
import org.eclipse.ui.progress.IProgressConstants;
import org.eclipse.wst.jsdt.ui.JavaScriptUI;
import org.symbian.tools.tmw.previewer.PreviewerPlugin;
+import org.symbian.tools.tmw.ui.project.NewApplicationWizard;
public class WRTPerspective implements IPerspectiveFactory {
@@ -44,7 +45,6 @@
layout.addShowViewShortcut(IPageLayout.ID_PROJECT_EXPLORER);
layout.addShowViewShortcut(JavaScriptUI.ID_SOURCE_VIEW);
layout.addShowViewShortcut(JavaScriptUI.ID_JAVADOC_VIEW);
- layout.addShowViewShortcut("org.symbian.tools.wrttools.wrtnavigator");
layout.addPerspectiveShortcut(IDebugUIConstants.ID_DEBUG_PERSPECTIVE);
@@ -59,7 +59,7 @@
layout.addShowViewShortcut("org.eclipse.wst.common.snippets.internal.ui.SnippetsView");
// new actions - Java project creation wizard
- layout.addNewWizardShortcut("org.symbian.tools.wrttools.core.wrtwidgetwizard"); //$NON-NLS-1$
+ layout.addNewWizardShortcut(NewApplicationWizard.ID);
layout.addNewWizardShortcut("org.eclipse.wst.jsdt.ui.NewJSWizard"); //$NON-NLS-1$
layout.addNewWizardShortcut("org.eclipse.wst.html.ui.internal.wizard.NewHTMLWizard"); //$NON-NLS-1$
layout.addNewWizardShortcut("org.eclipse.wst.css.ui.internal.wizard.NewCSSWizard"); //$NON-NLS-1$
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/WRTProject.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/core/ProjectTemplate.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/AbstractDataBindingPage.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/DatabindingUtils.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/HelloWithWRTKitProjectDetailsWizardPage$Factory.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/HelloWithWRTKitProjectDetailsWizardPage.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/IWizardData.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/IWizardPageFactory.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/NonEmptyStringValidator.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/RssReaderProjectDetailsWizardPage$Factory.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/RssReaderProjectDetailsWizardPage.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectDetailsWizardPage$1.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectDetailsWizardPage$2.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectDetailsWizardPage$ProjectNameValidator.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectDetailsWizardPage.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectFilesWizardPage.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$1.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$2.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$3.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$4.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage$ProjectTemplateLabelProvider.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WizardContext.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtKitLibraryWizardPage.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard$1.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard$2.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/WrtWidgetWizard.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/libraries/WRTProjectLibraryWizardPage$LibraryCheckStateListener.class has changed
Binary file plugins/org.symbian.tools.wrttools/bin/org/symbian/tools/wrttools/wizards/libraries/WRTProjectLibraryWizardPage.class has changed
--- a/plugins/org.symbian.tools.wrttools/plugin.xml Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools/plugin.xml Mon Aug 23 17:45:32 2010 -0700
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
- <extension-point id="projectTemplates" name="WRT Project Templates" schema="schema/projectTemplates.exsd"/>
<extension-point id="jsLibraries" name="JavaScript Libraries" schema="schema/jsLibraries.exsd"/>
<!-- Generic Project Builder and Project Natures -->
@@ -100,41 +99,8 @@
</validator>
</extension>
- <extension point="org.eclipse.ui.newWizards">
- <category id="org.symbian.tools.wrttools.core.category" name="Mobile Web Tools">
- </category>
- <wizard category="org.symbian.tools.wrttools.core.category"
- class="org.symbian.tools.wrttools.wizards.WrtWidgetWizard"
- finalPerspective="org.symbian.tools.wrttools.mainPerspective"
- hasPages="true" icon="icons/WRT_main_16.png"
- id="org.symbian.tools.wrttools.core.wrtwidgetwizard" name="Mobile Web Application Project"
- project="true">
- <description>
- Creates a new Symbian WRT application project using one of the provided
- templates
- </description>
- </wizard>
- </extension>
<!-- WRT Project Templates -->
- <extension point="org.symbian.tools.wrttools.projectTemplates">
-
- <projectTemplate
- archive="projecttemplates/basic.zip"
- default-css-name="basic"
- default-html-name="index"
- default-js-name="basic"
- icon="icons/main16.gif"
- name="Minimal Project"
- order="10">
- <description>
- This wizard generates an empty widget project with a minimal Info.plist, html,css and js.
- </description>
- </projectTemplate>
-
-
-
- </extension>
<!-- Import Wizard -->
<extension point="org.eclipse.ui.importWizards">
--- a/plugins/org.symbian.tools.wrttools/schema/projectTemplates.exsd Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.symbian.tools.wrttools.editing.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.symbian.tools.wrttools.editing.core" id="projectTemplates" name="WRT application project templates"/>
- </appinfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element ref="projectTemplate"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="projectTemplate">
- <complexType>
- <sequence minOccurs="1" maxOccurs="unbounded">
- <choice>
- <element ref="description"/>
- <element ref="requires-library" minOccurs="0" maxOccurs="unbounded"/>
- </choice>
- </sequence>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="icon" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="resource"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="archive" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="resource"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="default-html-name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="default-css-name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="default-js-name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="wizard-page-factory" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.symbian.tools.wrttools.editing.core.wizard.IWizardPageFactory"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="screen-size" type="string">
- <annotation>
- <documentation>
- This template is for touch devices
- </documentation>
- </annotation>
- </attribute>
- <attribute name="order" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="description" type="string">
- <annotation>
- <appinfo>
- <meta.element translatable="true"/>
- </appinfo>
- </annotation>
- </element>
-
- <element name="requires-library" type="string">
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="implementation"/>
- </appinfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
-
-</schema>
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/WRTProject.java Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/WRTProject.java Mon Aug 23 17:45:32 2010 -0700
@@ -103,7 +103,8 @@
}
public IMobileWebRuntime getTargetRuntime() {
- return TMWCore.getDefault().getRuntimesManager().getRuntime(WRT11_RUNTIME, WRT11_VERSION);
+ TMWCore.getDefault();
+ return TMWCore.getRuntimesManager().getRuntime(WRT11_RUNTIME, WRT11_VERSION);
}
private void saveProperties(Properties props) {
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/ProjectTemplate.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- **/
-package org.symbian.tools.wrttools.core;
-
-import java.net.URL;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.osgi.framework.Bundle;
-import org.symbian.tools.wrttools.Activator;
-import org.symbian.tools.wrttools.core.libraries.JSLibrary;
-import org.symbian.tools.wrttools.wizards.IWizardPageFactory;
-import org.symbian.tools.wrttools.wizards.WRTProjectFilesWizardPage;
-import org.symbian.tools.wrttools.wizards.WizardContext;
-
-public class ProjectTemplate {
- private static ProjectTemplate[] templates;
- private final IConfigurationElement element;
- private Image icon;
-
- public ProjectTemplate(IConfigurationElement element) {
- this.element = element;
- }
-
- public Image getIcon() {
- if (icon == null) {
- String path = element.getAttribute("icon");
- final ImageDescriptor imageDescriptor;
- if (path != null) {
- imageDescriptor = Activator.imageDescriptorFromPlugin(element.getNamespaceIdentifier(), path);
- } else {
- imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
- }
- icon = imageDescriptor.createImage(true);
- }
- return icon;
- }
-
- public String getName() {
- return element.getAttribute("name");
- }
-
- public String getDescription() {
- IConfigurationElement[] children = element.getChildren("description");
- if (children.length == 1) {
- return children[0].getValue();
- } else {
- return "";
- }
- }
-
- private String[] getLibraryIds() {
- IConfigurationElement[] elements = element.getChildren("requires-library");
- String[] ids = new String[elements.length];
- for (int i = 0; i < elements.length; i++) {
- IConfigurationElement element = elements[i];
- ids[i] = element.getValue();
- }
- return ids;
- }
-
- public static ProjectTemplate[] getAllTemplates() {
- if (templates == null) {
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(Activator.PLUGIN_ID,
- "projectTemplates");
- IConfigurationElement[] elements = point.getConfigurationElements();
- templates = new ProjectTemplate[elements.length];
- for (int i = 0; i < elements.length; i++) {
- IConfigurationElement element = elements[i];
- templates[i] = new ProjectTemplate(element);
- }
- }
- return templates;
- }
-
- public String getDefaultCssFile() {
- String file = element.getAttribute("default-css-name");
- return file != null ? file : "main";
- }
-
- public String getDefaultJsFile() {
- String file = element.getAttribute("default-js-name");
- return file != null ? file : "main";
- }
-
- public String getDefaultHtmlFile() {
- String file = element.getAttribute("default-html-name");
- return file != null ? file : "index";
- }
-
- public WRTProjectFilesWizardPage createWizardPage(WizardContext context, DataBindingContext bindingContext) {
- try {
- if (element.getAttribute("wizard-page-factory") != null) {
- IWizardPageFactory factory = (IWizardPageFactory) element
- .createExecutableExtension("wizard-page-factory");
- return factory.createPage(context, bindingContext);
- }
- } catch (CoreException e) {
- Activator.log("Problem with template " + getName(), e);
- }
- return new WRTProjectFilesWizardPage(context, bindingContext);
- }
-
- @Override
- public String toString() {
- return getName();
- }
-
- public URL getProjectContents() {
- String uri = element.getAttribute("archive");
- if (uri != null) {
- Bundle bundle = Platform.getBundle(element.getContributor().getName());
- URL resource = bundle.getResource(uri);
- return resource;
- }
- return null;
- }
-
- public boolean requires(JSLibrary library) {
- for (String id : getLibraryIds()) {
- if (library.getId().equals(id)) {
- return true;
- }
- }
- return false;
- }
-
- public JSLibrary[] getRequiredLibraries() {
- Set<String> ids = new TreeSet<String>(Arrays.asList(getLibraryIds()));
- Set<JSLibrary> libraries = new HashSet<JSLibrary>();
- JSLibrary[] jsLibraries = Activator.getJSLibraries();
- for (JSLibrary jsLibrary : jsLibraries) {
- if (ids.contains(jsLibrary.getId())) {
- libraries.add(jsLibrary);
- }
- }
- return libraries.toArray(new JSLibrary[libraries.size()]);
- }
-
- public int getOrder() {
- String attribute = element.getAttribute("order");
- if (attribute != null) {
- return Integer.parseInt(attribute);
- }
- return Integer.MAX_VALUE;
- }
-
- public String getScreenSize() {
- return element.getAttribute("screen-size");
- }
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/AbstractDataBindingPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.WizardPage;
-
-public abstract class AbstractDataBindingPage extends WizardPage {
- public AbstractDataBindingPage(WizardContext context,
- DataBindingContext bindingContext, String name, String title,
- ImageDescriptor image, String description) {
- super(name, title, image);
- setDescription(description);
- }
-
- protected boolean isActive() {
- return true;
- }
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/DatabindingUtils.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-package org.symbian.tools.wrttools.wizards;
-
-public class DatabindingUtils {
-
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/HelloWithWRTKitProjectDetailsWizardPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.swt.widgets.Composite;
-
-public class HelloWithWRTKitProjectDetailsWizardPage extends
- WRTProjectFilesWizardPage {
-
- public HelloWithWRTKitProjectDetailsWizardPage(WizardContext context,
- DataBindingContext bindingContext) {
- super(context, bindingContext);
- }
-
- @Override
- protected void addTemplateControls(Composite root) {
- }
-
- public static final class Factory implements IWizardPageFactory {
- public WRTProjectFilesWizardPage createPage(WizardContext context,
- DataBindingContext bindingContext) {
- return new HelloWithWRTKitProjectDetailsWizardPage(context,
- bindingContext);
- }
- }
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/IWizardData.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import org.eclipse.jface.wizard.IWizardPage;
-
-import java.util.Map;
-
-/**
- * An extended interface for {@link IWizardPage} that provides the data
- * collected in the page as a {@link Map} of values indexed by field identifier.
- */
-public interface IWizardData extends IWizardPage {
-
- /**
- * Returns a <code>java.util.Map<String, Object></code> of values indexed by field identifier.
- * @return <code>java.util.Map<String, Object></code>
- */
- Map<String, Object> getPageValues();
-
-}
-
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/IWizardPageFactory.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import org.eclipse.core.databinding.DataBindingContext;
-
-public interface IWizardPageFactory {
- WRTProjectFilesWizardPage createPage(WizardContext context,
- DataBindingContext bindingContext);
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/NewWrtAppTemplatePage.java Mon Aug 23 17:20:11 2010 -0700
+++ b/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/NewWrtAppTemplatePage.java Mon Aug 23 17:45:32 2010 -0700
@@ -67,7 +67,7 @@
createLabel(root, "");
IObservableValue view = SWTObservables.observeSelection(homeScreen);
- IObservableValue model = context.getParameterObservable(WizardContext.HOME_SCREEN);
+ IObservableValue model = context.getParameterObservable("homeScreen");
bindingContext.bindValue(view, model);
addTemplateControls(root);
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/NonEmptyStringValidator.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.symbian.tools.wrttools.Activator;
-
-public class NonEmptyStringValidator implements IValidator {
- private final String propertyName;
- private final AbstractDataBindingPage page;
-
- public NonEmptyStringValidator(String propertyName, AbstractDataBindingPage page) {
- this.propertyName = propertyName;
- this.page = page;
- }
-
- public IStatus validate(Object value) {
- if (page != null && page.isActive()) {
- if (value == null || value.toString().trim().length() == 0) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- MessageFormat.format("Field {0} is empty",
- propertyName));
- }
- }
- return Status.OK_STATUS;
- }
-}
\ No newline at end of file
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/RssReaderProjectDetailsWizardPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import java.util.Map;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.swt.widgets.Composite;
-
-public class RssReaderProjectDetailsWizardPage extends
- WRTProjectFilesWizardPage {
-
- public RssReaderProjectDetailsWizardPage(WizardContext context,
- DataBindingContext bindingContext) {
- super(context, bindingContext);
- }
-
- @Override
- protected void addTemplateControls(Composite root) {
- Map<String, String> extensions = context.getExtensions();
- extensions.put("feedUrl", "http://twitter.com/statuses/user_timeline/21138778.rss");
- extensions.put("feedName", "Symbian Twitter");
-
- context.createLabel(root, "Feed URL:");
- context.createTextForExt(root, "feedUrl", "feed URL", bindingContext,
- this);
- context.createLabel(root, "Feed Name:");
- context.createTextForExt(root, "feedName", "feed name", bindingContext,
- this);
- context.createLabel(root, "");
- context.createLabel(root, "");
- }
-
- public static final class Factory implements IWizardPageFactory {
- public WRTProjectFilesWizardPage createPage(WizardContext context,
- DataBindingContext bindingContext) {
- return new RssReaderProjectDetailsWizardPage(context, bindingContext);
- }
-
- }
-
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/WRTProjectDetailsWizardPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import java.io.File;
-import java.net.URI;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.databinding.wizard.WizardPageSupport;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.ProjectContentsLocationArea;
-import org.eclipse.ui.internal.ide.dialogs.ProjectContentsLocationArea.IErrorMessageReporter;
-import org.symbian.tools.wrttools.Activator;
-import org.symbian.tools.wrttools.util.RegexpValidator;
-
-@SuppressWarnings("restriction")
-public final class WRTProjectDetailsWizardPage extends WizardPage {
- public static final class ProjectNameValidator implements IValidator {
-
- public IStatus validate(Object value) {
- IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-
- String projectFieldContents = (String) value;
- IStatus nameStatus = workspace.validateName(projectFieldContents, IResource.PROJECT);
- if (!nameStatus.isOK()) {
- return nameStatus;
- }
-
- IProject handle = ResourcesPlugin.getWorkspace().getRoot().getProject(projectFieldContents);
- if (handle.exists()) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- IDEWorkbenchMessages.WizardNewProjectCreationPage_projectExistsMessage);
- }
- return Status.OK_STATUS;
- }
-
- }
-
- private ProjectContentsLocationArea locationArea;
- private final DataBindingContext bindingContext;
- private final WizardContext context;
-
- public WRTProjectDetailsWizardPage(WizardContext context, DataBindingContext bindingContext) {
- super("WRTApp");
- setImageDescriptor(null);
- setTitle("Application Details");
- setDescription("Specify application details");
- this.context = context;
- this.bindingContext = bindingContext;
- }
-
- public void createControl(Composite parent) {
- Composite root = new Composite(parent, SWT.NONE);
-
- initializeDialogUnits(parent);
-
- PlatformUI.getWorkbench().getHelpSystem().setHelp(root, IIDEHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-
- WizardPageSupport.create(this, bindingContext);
- root.setLayout(new GridLayout(2, false));
- createProjectNameGroup(root);
-
- context.createLabel(root, "");
- context.createLabel(root, "");
- context.createLabel(root, "Application identifier:");
-
- context.createText(root, WizardContext.WIDGET_ID, "applicatoin identifier", bindingContext, null,
- new RegexpValidator("[\\w]*(\\.\\w[\\w]*)*", "{0} is not a valid applicatoin ID", true));
- context.createLabel(root, "");
- context.createLabel(root, "This id should be unique for successful installation of application on the device");
-
- context.createLabel(root, "");
- context.createLabel(root, "");
-
- context.createLabel(root, "Application name:");
-
- context.createText(root, WizardContext.WIDGET_NAME, "application name", bindingContext, null,
- new RegexpValidator("[^\\w\\. ]", "Application name cannot contain {0} character", false));
-
- context.createLabel(root, "");
- context.createLabel(root, "This will be the application display name on the device");
-
- Composite composite = new Composite(root, SWT.NONE);
- GridLayout gridLayout = new GridLayout(1, false);
- gridLayout.marginWidth = 0;
- composite.setLayout(gridLayout);
- composite.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, true, 2, 1));
-
- locationArea = new ProjectContentsLocationArea(getErrorReporter(), composite);
- if (context.getProjectName() != null && context.getProjectName().trim().length() > 0) {
- locationArea.updateProjectName(context.getProjectName());
- }
-
- // Scale the button based on the rest of the dialog
- setButtonLayoutData(locationArea.getBrowseButton());
-
- setPageComplete(validatePage());
- // Show description on opening
- setErrorMessage(null);
- setMessage(null);
- setControl(root);
- Dialog.applyDialogFont(root);
- }
-
- /**
- * Creates the project name specification controls.
- *
- * @param parent
- * the parent composite
- */
- private final void createProjectNameGroup(Composite parent) {
- // new project label
- Label projectLabel = new Label(parent, SWT.NONE);
- projectLabel.setText(IDEWorkbenchMessages.WizardNewProjectCreationPage_nameLabel);
- projectLabel.setFont(parent.getFont());
-
- Text projectNameField = context.createText(parent, WizardContext.PROJECT_NAME, "project name", bindingContext,
- null, new ProjectNameValidator());
-
- projectNameField.setFont(parent.getFont());
-
- projectNameField.addListener(SWT.Modify, nameModifyListener);
- }
-
- /**
- * Returns the current project location path as entered by the user, or its
- * anticipated initial value. Note that if the default has been returned the
- * path in a project description used to create a project should not be set.
- *
- * @return the project location path or its anticipated initial value.
- */
- public IPath getLocationPath() {
- return new Path(locationArea.getProjectLocation());
- }
-
- /**
- * /** Returns the current project location URI as entered by the user, or
- * <code>null</code> if a valid project location has not been entered.
- *
- * @return the project location URI, or <code>null</code>
- * @since 3.2
- */
- public URI getLocationURI() {
- return locationArea.getProjectLocationURI();
- }
-
- private final Listener nameModifyListener = new Listener() {
- public void handleEvent(Event e) {
- if (isPageComplete()) {
- setLocationForSelection();
- boolean valid = validatePage();
- setPageComplete(valid);
- }
- }
- };
-
- /**
- * Get an error reporter for the receiver.
- *
- * @return IErrorMessageReporter
- */
- private IErrorMessageReporter getErrorReporter() {
- return new IErrorMessageReporter() {
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.internal.ide.dialogs.ProjectContentsLocationArea
- * .IErrorMessageReporter#reportError(java.lang.String)
- */
- public void reportError(String errorMessage, boolean infoOnly) {
- if (infoOnly) {
- setMessage(errorMessage, IStatus.INFO);
- setErrorMessage(null);
- } else {
- setErrorMessage(errorMessage);
- }
- boolean valid = errorMessage == null;
- if (valid) {
- valid = validatePage();
- }
-
- setPageComplete(valid);
- }
- };
- }
-
- /**
- * Set the location to the default location if we are set to useDefaults.
- */
- void setLocationForSelection() {
- locationArea.updateProjectName(context.getProjectName());
- }
-
- /**
- * Returns whether this page's controls currently all contain valid values.
- *
- * @return <code>true</code> if all controls are valid, and
- * <code>false</code> if at least one is invalid
- */
- protected boolean validatePage() {
- if (isPageComplete() || context.getProjectName().trim().length() == 0) {
- return false;
- }
- String projectName = context.getProjectName();
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- locationArea.setExistingProject(project);
-
- String validLocationMessage = locationArea.checkValidLocation();
- if (validLocationMessage != null) { // there is no destination location
- // given
- setErrorMessage(validLocationMessage);
- return false;
- }
- File file = new File(locationArea.getProjectLocationURI());
- if (file.isFile()) {
- setErrorMessage(String.format("%s is an existing file", file));
- return false;
- } else if (file.isDirectory() && file.listFiles().length > 0) {
- setErrorMessage(String.format("%s is a non-empty folder", file));
- return false;
- }
-
- setErrorMessage(null);
- setMessage(null);
- return true;
- }
-
- /**
- * Returns the useDefaults.
- *
- * @return boolean
- */
- public boolean useDefaults() {
- return locationArea.isDefault();
- }
-
- @Override
- public void setVisible(boolean visible) {
- // TODO Auto-generated method stub
- super.setVisible(visible);
- setErrorMessage(null);
- }
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/WRTProjectFilesWizardPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.jface.databinding.wizard.WizardPageSupport;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-public class WRTProjectFilesWizardPage extends AbstractDataBindingPage {
- private boolean isActive;
- protected final DataBindingContext bindingContext;
- protected final WizardContext context;
-
- public WRTProjectFilesWizardPage(WizardContext context,
- DataBindingContext bindingContext) {
- super(context, bindingContext, "WRTApplicationFiles",
- "Application Files", null, "Specify application file names");
- this.context = context;
- this.bindingContext = bindingContext;
- }
-
- protected void addTemplateControls(Composite root) {
- // Subclasses will override
- }
-
- public void createControl(Composite parent) {
- Composite root = new Composite(parent, SWT.NONE);
- WizardPageSupport.create(this, bindingContext);
- root.setLayout(new GridLayout(2, false));
-
- context.createLabel(root, "Name of main HTML:");
- context.createText(root, WizardContext.HTML_FILE, "HTML file name",
- bindingContext, this);
- context.createLabel(root, "");
- context.createLabel(root, "");
- context.createLabel(root, "Name of CSS file:");
- context.createText(root, WizardContext.CSS_FILE, "CSS file name",
- bindingContext, this);
- context.createLabel(root, "");
- context.createLabel(root, "");
- context.createLabel(root, "Name of JavaScript file:");
- context.createText(root, WizardContext.JS_FILE, "JavaScript file name",
- bindingContext, this);
-
- context.createLabel(root, "");
- Button homeScreen = new Button(root, SWT.CHECK);
- homeScreen.setText("Enable HomeScreen");
-
- context.createLabel(root, "");
- context.createLabel(root, "");
-
- IObservableValue view = SWTObservables.observeSelection(homeScreen);
- IObservableValue model = BeansObservables.observeValue(context,
- WizardContext.HOME_SCREEN);
- bindingContext.bindValue(view, model);
-
- addTemplateControls(root);
-
- setControl(root);
- }
-
- @Override
- protected boolean isActive() {
- return isActive;
- }
-
- public void setActive(boolean isActive) {
- this.isActive = isActive;
- }
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/WRTProjectTemplateWizardPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.jface.databinding.viewers.IViewerObservableValue;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Text;
-import org.symbian.tools.wrttools.core.ProjectTemplate;
-
-public class WRTProjectTemplateWizardPage extends WizardPage {
- public class ProjectTemplateLabelProvider extends LabelProvider {
-
- @Override
- public Image getImage(Object element) {
- return ((ProjectTemplate) element).getIcon();
- }
-
- @Override
- public String getText(Object element) {
- return ((ProjectTemplate) element).getName();
- }
- }
-
- private TableViewer templates;
- private Text description;
- private final WizardContext context;
- private final DataBindingContext bindingContext;
-
- public WRTProjectTemplateWizardPage(WizardContext context,
- DataBindingContext bindingContext) {
- super("Create a New Mobile Web Application");
- setTitle("Create a New Mobile Web Application");
- this.context = context;
- this.bindingContext = bindingContext;
- setDescription("Select project name and template that will be used to populate");
- }
-
- public void createControl(Composite parent) {
- ProjectTemplate[] allTemplates = ProjectTemplate.getAllTemplates();
-
- Composite composite = new Composite(parent, SWT.NONE);
- composite.setLayoutData(new GridData(GridData.FILL, GridData.FILL,
- true, true));
- FormLayout layout = new FormLayout();
- layout.marginWidth = 5;
- composite.setLayout(layout);
-
- templates = new TableViewer(composite, SWT.BORDER | SWT.SINGLE);
- FormData templatesData = new FormData();
- templatesData.top = new FormAttachment(0, 0);
- templatesData.left = new FormAttachment(0, 0);
- templatesData.right = new FormAttachment(40, -2);
- templatesData.bottom = new FormAttachment(100, -8);
- templates.getControl().setLayoutData(templatesData);
- templates.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event
- .getSelection();
- final ProjectTemplate template = (ProjectTemplate) selection
- .getFirstElement();
- refreshSelection(template);
- }
- });
- templates.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent arg0) {
- switchWizardPage();
- }
- });
-
- description = new Text(composite, SWT.BORDER | SWT.MULTI | SWT.WRAP
- | SWT.READ_ONLY);
- FormData descriptionData = new FormData();
- descriptionData.top = new FormAttachment(0, 0);
- descriptionData.bottom = new FormAttachment(100, -8);
- descriptionData.left = new FormAttachment(templates.getControl(), 5);
- descriptionData.right = new FormAttachment(100, 0);
- descriptionData.width = 50;
- description.setLayoutData(descriptionData);
-
- templates.setContentProvider(new ArrayContentProvider());
- templates.setLabelProvider(new ProjectTemplateLabelProvider());
- templates.setSorter(new ViewerSorter() {
- @Override
- public int category(Object element) {
- return Integer.valueOf(((ProjectTemplate) element).getOrder());
- }
- });
- templates.setInput(allTemplates);
-
- setPageComplete(false);
-
- IViewerObservableValue selection = ViewersObservables
- .observeSingleSelection(templates);
- IObservableValue property = BeansObservables.observeValue(context,
- WizardContext.TEMPLATE);
-
- bindingContext.bindValue(selection, property);
- if (context.getTemplate() != null) {
- refreshSelection(context.getTemplate());
- }
- setErrorMessage(null);
- setControl(composite);
- }
-
- protected void switchWizardPage() {
- Display display = getShell().getDisplay();
- display.asyncExec(new Runnable() {
- public void run() {
- if (isPageComplete()) {
- IWizardPage nextPage = getWizard().getNextPage(
- WRTProjectTemplateWizardPage.this);
- getContainer().showPage(nextPage);
- }
- }
- });
- }
-
- protected void refreshSelection(ProjectTemplate template) {
- if (template != null) {
- description.setText(template.getDescription());
- } else {
- description.setText("");
- }
- validatePage();
- }
-
- protected boolean validatePage() {
- if (templates.getSelection().isEmpty()) {
- setErrorMessage("Project template is not selected");
- setPageComplete(false);
- return false;
- } else {
- setErrorMessage(null);
- setPageComplete(true);
- return true;
- }
- }
-
- public ProjectTemplate getSelectedProjectTemplate() {
- IStructuredSelection selection = (IStructuredSelection) templates
- .getSelection();
- return (ProjectTemplate) selection.getFirstElement();
- }
-
- @Override
- public void setVisible(boolean visible) {
- super.setVisible(visible);
- templates.getControl().setFocus();
- }
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/WizardContext.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.text.MessageFormat;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.Observables;
-import org.eclipse.core.databinding.observable.map.IObservableMap;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
-import org.eclipse.core.databinding.validation.IValidator;
-import org.eclipse.jface.databinding.swt.ISWTObservableValue;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.symbian.tools.wrttools.core.ProjectTemplate;
-import org.symbian.tools.wrttools.core.libraries.JSLibrary;
-import org.symbian.tools.wrttools.util.CompoundValidator;
-import org.symbian.tools.wrttools.util.Util;
-
-public class WizardContext {
- public static final String CSS_FILE = "cssFile";
- public static final String HTML_FILE = "htmlFile";
- public static final String JS_FILE = "jsFile";
- public static final String TEMPLATE = "template";
- public static final String WIDGET_ID = "widgetId";
- public static final String WIDGET_NAME = "widgetName";
- public static final String HOME_SCREEN = "homeScreen";
- public static final String LIBRARIES = "libraries";
- public static final String PROJECT_NAME = "projectName";
-
- private String cssFile;
- private String projectName = "";
- private String htmlFile;
- private String jsFile;
- private final PropertyChangeSupport propertySupport = new PropertyChangeSupport(
- this);
- private ProjectTemplate template;
- private String widgetId;
- private String widgetName;
- private Map<String, String> extensions = new TreeMap<String, String>();
- private boolean homeScreen;
- private Set<JSLibrary> libraries = new HashSet<JSLibrary>();
-
- public WizardContext() {
- setTemplate(getFirstTemplate(ProjectTemplate.getAllTemplates()));
- }
-
- private ProjectTemplate getFirstTemplate(ProjectTemplate[] allTemplates) {
- ProjectTemplate template = null;
- for (ProjectTemplate projectTemplate : allTemplates) {
- if (template == null
- || template.getOrder() > projectTemplate.getOrder()) {
- template = projectTemplate;
- }
- }
- return template;
- }
-
-
- public void addPropertyChangeListener(PropertyChangeListener arg0) {
- propertySupport.addPropertyChangeListener(arg0);
- }
-
- public void addPropertyChangeListener(String arg0,
- PropertyChangeListener arg1) {
- propertySupport.addPropertyChangeListener(arg0, arg1);
- }
-
- public String getProjectName() {
- return projectName;
- }
-
- public void setProjectName(String projectName) {
- String prev = getProjectName();
- String prevId = getWidgetId();
- String prevName = getWidgetName();
- this.projectName = projectName;
- propertySupport.firePropertyChange(PROJECT_NAME, getProjectName(), prev);
- if (widgetName == null) {
- propertySupport.firePropertyChange(WIDGET_NAME, getWidgetName(), prevName);
- if (widgetId == null) {
- propertySupport.firePropertyChange(WIDGET_ID, getWidgetId(), prevId);
- }
- }
- }
-
- public String getCssFile() {
- if (cssFile == null) {
- if (template != null) {
- return template.getDefaultCssFile();
- }
- }
- return cssFile;
- }
-
- private String getDefaultWidgetId() {
- String name = Util.removeSpaces(getWidgetName());
- return MessageFormat.format("com.company.{0}", name.length() > 0 ? name
- : "ApplicationName");
- }
-
- public String getHtmlFile() {
- if (htmlFile == null) {
- if (template != null) {
- return template.getDefaultHtmlFile();
- }
- }
- return htmlFile;
- }
-
- public String getJsFile() {
- if (jsFile == null) {
- if (template != null) {
- return template.getDefaultJsFile();
- }
- }
- return jsFile;
- }
-
- public ProjectTemplate getTemplate() {
- return template;
- }
-
- public String getWidgetId() {
- if (widgetId == null) {
- return getDefaultWidgetId();
- }
- return widgetId;
- }
-
- public String getWidgetName() {
- return widgetName == null ? getProjectName() : widgetName;
- }
-
- public void removePropertyChangeListener(PropertyChangeListener arg0) {
- propertySupport.removePropertyChangeListener(arg0);
- }
-
- public void removePropertyChangeListener(String arg0,
- PropertyChangeListener arg1) {
- propertySupport.removePropertyChangeListener(arg0, arg1);
- }
-
- public void setCssFile(String cssFile) {
- if (template != null && template.getDefaultCssFile().equals(cssFile)) {
- cssFile = null;
- }
- String prev = this.cssFile;
- this.cssFile = cssFile;
- propertySupport.firePropertyChange(CSS_FILE, cssFile, prev);
- }
-
- public void setHtmlFile(String htmlFile) {
- if (template != null && template.getDefaultHtmlFile().equals(htmlFile)) {
- htmlFile = null;
- }
- String prev = this.htmlFile;
- this.htmlFile = htmlFile;
- propertySupport.firePropertyChange(HTML_FILE, htmlFile, prev);
- }
-
- public void setJsFile(String jsFile) {
- if (template != null && template.getDefaultJsFile().equals(jsFile)) {
- jsFile = null;
- }
- String prev = this.jsFile;
- this.jsFile = jsFile;
- propertySupport.firePropertyChange(JS_FILE, jsFile, prev);
- }
-
- public void setTemplate(ProjectTemplate template) {
- String html = getHtmlFile();
- String js = getJsFile();
- String css = getCssFile();
- ProjectTemplate prev = this.template;
- this.template = template;
- propertySupport.firePropertyChange(TEMPLATE, template, prev);
- if (htmlFile == null) {
- propertySupport.firePropertyChange(HTML_FILE, getHtmlFile(), html);
- }
- if (jsFile == null) {
- propertySupport.firePropertyChange(JS_FILE, getJsFile(), js);
- }
- if (cssFile == null) {
- propertySupport.firePropertyChange(CSS_FILE, getCssFile(), css);
- }
- if (cssFile == null) {
- propertySupport.firePropertyChange(LIBRARIES, getLibraries(),
- libraries);
- }
- }
-
- public void setWidgetId(String widgetId) {
- String prev = getWidgetId();
- if (getDefaultWidgetId().equals(widgetId)) {
- widgetId = null;
- }
- this.widgetId = widgetId;
- propertySupport.firePropertyChange(WIDGET_ID, getWidgetId(), prev);
- }
-
- public void setWidgetName(String widgetName) {
- String prevId = getWidgetId();
- String prev = getWidgetName();
- if (widgetName == getProjectName()) {
- this.widgetName = null;
- } else {
- this.widgetName = widgetName;
- }
- propertySupport.firePropertyChange(WIDGET_NAME, getWidgetName(), prev);
- if (widgetId == null) {
- propertySupport
- .firePropertyChange(WIDGET_ID, getWidgetId(), prevId);
- }
- }
-
- public void setExtensions(Map<String, String> extensions) {
- this.extensions = extensions;
- }
-
- public Map<String, String> getExtensions() {
- return extensions;
- }
-
- public Map<String, String> getTemplateVars() {
- Map<String, String> vars = new TreeMap<String, String>();
-
- vars.put("widgetName", getWidgetName());
- vars.put("widgetId", getWidgetId());
- vars.put("mainHtml", getHtmlFileName());
- vars.put("mainCss", getCssFileName());
- vars.put("mainJs", getJsFileName());
- vars.put("homeScreen", String.valueOf(isHomeScreen()));
- vars.putAll(extensions);
-
- return vars;
- }
-
- public boolean isHomeScreen() {
- return homeScreen;
- }
-
- public void setHomeScreen(boolean homeScreen) {
- boolean old = homeScreen;
- this.homeScreen = homeScreen;
- propertySupport.firePropertyChange(HOME_SCREEN, old, homeScreen);
- }
-
- public String getHtmlFileName() {
- return stripExtension(getHtmlFile(), "htm", "html");
- }
-
- public String getJsFileName() {
- return stripExtension(getJsFile(), "js");
- }
-
- public String getCssFileName() {
- return stripExtension(getCssFile(), "css");
- }
-
- private String stripExtension(String fileName, String... extensions) {
- for (String extension : extensions) {
- String extensionAndDot = "." + extension;
- if (fileName.endsWith(extensionAndDot)) {
- return fileName.substring(0, fileName.length()
- - extensionAndDot.length());
- }
- }
- return fileName;
- }
-
- public boolean isRequiredLibrary(JSLibrary element) {
- return template != null && template.requires(element);
- }
-
- public Set<JSLibrary> getLibraries() {
- final Set<JSLibrary> set = new HashSet<JSLibrary>(libraries);
- if (template != null) {
- set.addAll(Arrays.asList(template.getRequiredLibraries()));
- }
- return set;
- }
-
- public void setLibraries(Set<JSLibrary> libraries) {
- Set<JSLibrary> prev = this.libraries;
- this.libraries = libraries;
- propertySupport.firePropertyChange(LIBRARIES, prev, libraries);
- }
-
- public Map<String, String> getLibraryParameters(JSLibrary library) {
- return Collections.emptyMap();
- }
-
- protected Text createText(Composite root, String property,
- String propertyName, DataBindingContext bindingContext,
- AbstractDataBindingPage page, IValidator... validators) {
- return createText(root, BeansObservables.observeValue(this, property),
- propertyName, bindingContext, page, validators);
- }
-
- protected Text createTextForExt(Composite root, String property,
- String propertyName, DataBindingContext bindingContext,
- AbstractDataBindingPage page) {
- IObservableMap map = BeansObservables.observeMap(this, "extensions");
- IObservableValue entry = Observables.observeMapEntry(map, property,
- String.class);
- return createText(root, entry, propertyName, bindingContext, page);
- }
-
- private Text createText(Composite root, IObservableValue model,
- String propertyName, DataBindingContext bindingContext,
- AbstractDataBindingPage page, IValidator... validators) {
- Text text = new Text(root, SWT.BORDER);
- text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- ISWTObservableValue view = SWTObservables.observeText(text, SWT.Modify);
- UpdateValueStrategy strategy = new UpdateValueStrategy(
- UpdateValueStrategy.POLICY_UPDATE);
- NonEmptyStringValidator validator = new NonEmptyStringValidator(
- propertyName, page);
- strategy.setBeforeSetValidator(validators.length == 0 ? validator
- : new CompoundValidator(validator, validators));
- bindingContext.bindValue(view, model, strategy, null);
- return text;
- }
-
- protected void createLabel(Composite root, String text) {
- Label label = new Label(root, SWT.NONE);
- label.setText(text);
- }
-
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/WrtKitLibraryWizardPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-package org.symbian.tools.wrttools.wizards;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.jsdt.core.IIncludePathEntry;
-import org.eclipse.wst.jsdt.core.IJavaScriptProject;
-import org.eclipse.wst.jsdt.core.JavaScriptCore;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.DialogField;
-import org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields.LayoutUtil;
-import org.eclipse.wst.jsdt.ui.wizards.IJsGlobalScopeContainerPage;
-import org.eclipse.wst.jsdt.ui.wizards.IJsGlobalScopeContainerPageExtension;
-import org.eclipse.wst.jsdt.ui.wizards.IJsGlobalScopeContainerPageExtension2;
-import org.eclipse.wst.jsdt.ui.wizards.NewElementWizardPage;
-
-@SuppressWarnings("restriction")
-public class WrtKitLibraryWizardPage extends NewElementWizardPage implements IJsGlobalScopeContainerPage, IJsGlobalScopeContainerPageExtension, IJsGlobalScopeContainerPageExtension2 {
-
- private static final String CONTAINER_ID="org.symbian.wrtkit";
-
- public WrtKitLibraryWizardPage() {
- super("WrtKitLib");
- setTitle("WRTKit JavaScript Library");
- }
-
- public boolean finish() {
- return true;
- }
-
- public IIncludePathEntry getSelection() {
- System.out.println("Unimplemented method:BaseLibraryWizardPage.getSelection");
- return null;
- }
-
- public void setSelection(IIncludePathEntry containerEntry) {
- }
-
- public void createControl(Composite parent) {
- Composite composite= new Composite(parent, SWT.NONE);
- composite.setFont(parent.getFont());
- DialogField field = new DialogField();
-
- field.setLabelText("Symbian WRTKit library support was added to your project");
- LayoutUtil.doDefaultLayout(composite, new DialogField[] {field }, false, SWT.DEFAULT, SWT.DEFAULT);
- Dialog.applyDialogFont(composite);
- setControl(composite);
- setDescription("Symbian WRTKit Support");
- }
-
- public void initialize(IJavaScriptProject project, IIncludePathEntry[] currentEntries) {
- // nothing to initialize
- }
-
- public IIncludePathEntry[] getNewContainers() {
- IIncludePathEntry library = JavaScriptCore.newContainerEntry( new Path(CONTAINER_ID));
- return new IIncludePathEntry[] {library};
- }
-
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/WrtWidgetWizard.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,291 +0,0 @@
-/**
- * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.Velocity;
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-import org.symbian.tools.wrttools.Activator;
-import org.symbian.tools.wrttools.WRTProject;
-import org.symbian.tools.wrttools.core.ProjectTemplate;
-import org.symbian.tools.wrttools.core.WRTImages;
-import org.symbian.tools.wrttools.core.libraries.JSLibrary;
-import org.symbian.tools.wrttools.util.NonClosingStream;
-import org.symbian.tools.wrttools.util.ProjectUtils;
-import org.symbian.tools.wrttools.wizards.libraries.WRTProjectLibraryWizardPage;
-
-public class WrtWidgetWizard extends Wizard implements INewWizard,
- IExecutableExtension {
- private WizardContext context;
- private DataBindingContext bindingContext;
- private final Map<ProjectTemplate, WRTProjectFilesWizardPage> templateDetails = new HashMap<ProjectTemplate, WRTProjectFilesWizardPage>();
- private WRTProjectTemplateWizardPage templatesPage;
- private WRTProjectDetailsWizardPage detailsPage;
- private IConfigurationElement config;
- private WRTProjectLibraryWizardPage librariesPage;
-
- public WrtWidgetWizard() {
- setDefaultPageImageDescriptor(WRTImages.newWizardBanner());
- setWindowTitle("New Mobile Web Application");
- setNeedsProgressMonitor(true);
- }
-
- public boolean performFinish() {
- final IProject[] holder = new IProject[1];
- final URI locationURI = detailsPage.getLocationURI();
- try {
- getContainer().run(true, true, new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor)
- throws InvocationTargetException, InterruptedException {
- holder[0] = action(locationURI, monitor);
- }
- });
- } catch (InvocationTargetException e) {
- Activator.log(e);
- } catch (InterruptedException e) {
- Activator.log(e);
- }
- BasicNewProjectResourceWizard.updatePerspective(config);
- if (holder[0] != null) {
- ProjectUtils.focusOn(holder[0]);
- }
- return true;
- }
-
- protected IProject action(final URI locationURI, IProgressMonitor monitor) {
- final IProject[] holder = new IProject[1];
- try {
- ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- holder[0] = createAndInitProject(locationURI, monitor);
- }
- }, monitor);
- } catch (CoreException e) {
- Activator.log(e);
- }
- return holder[0];
- }
-
- protected IProject createAndInitProject(URI locationURI,
- IProgressMonitor monitor) throws CoreException {
- monitor.beginTask("Creating project", 100);
- final IProject project = ProjectUtils.createWrtProject(context
- .getProjectName(), locationURI, new SubProgressMonitor(monitor,
- 30));
- populateProject(project, new SubProgressMonitor(monitor, 30));
- try {
- initLibraries(project, context.getLibraries(),
- new SubProgressMonitor(monitor, 40));
- } catch (IOException e) {
- throw new CoreException(new Status(IStatus.ERROR,
- Activator.PLUGIN_ID, "Failed to setup libraries", e));
- }
- monitor.done();
- return project;
- }
-
- private void initLibraries(IProject project, Set<JSLibrary> set,
- IProgressMonitor progressMonitor) throws IOException, CoreException {
- if (set.isEmpty()) {
- progressMonitor.done();
- return;
- }
- progressMonitor.beginTask("Installing JS libraries", 100);
- int perContainer = 90 / set.size();
- for (JSLibrary library : set) {
- library.install(project, context.getLibraryParameters(library),
- new SubProgressMonitor(progressMonitor, perContainer));
- }
- progressMonitor.done();
- }
-
- private void populateProject(IProject project, IProgressMonitor monitor)
- throws CoreException {
- ProjectTemplate t = context.getTemplate();
- new WRTProject(project).setPreferredScreenSize(t.getScreenSize());
- URL projectContents = t.getProjectContents();
- Map<String, String> vars = context.getTemplateVars();
-
- ZipInputStream stream = null;
- try {
- Velocity.init();
- VelocityContext ctx = new VelocityContext(vars);
- stream = new ZipInputStream(projectContents.openStream());
- monitor.beginTask("Generating project contents",
- IProgressMonitor.UNKNOWN);
- ZipEntry entry;
- while ((entry = stream.getNextEntry()) != null
- && !monitor.isCanceled()) {
- String name = entry.getName();
- boolean isVelocity = name.endsWith(".velocitytemplate");
- if (isVelocity) {
- name = name.substring(0, name.length()
- - ".velocitytemplate".length());
- }
- if (name.startsWith("$")) {
- int dotLocation = name.indexOf(".");
- String template = name.substring(1,
- dotLocation > 1 ? dotLocation : name.length());
- if (vars.containsKey(template)) {
- name = vars.get(template)
- + name.substring(dotLocation > 1 ? dotLocation
- : name.length());
- }
- }
- if (entry.isDirectory()) {
- IFolder folder = project.getFolder(entry.getName());
- folder.create(false, true, new SubProgressMonitor(monitor,
- 1));
- } else if (isVelocity) {
- copyTemplate(project, name, stream, (int) entry.getSize(),
- ctx, monitor);
- } else {
- ProjectUtils.copyFile(project, name, stream,
- entry.getSize(), monitor);
- }
- stream.closeEntry();
- }
- monitor.done();
- } catch (Exception e) {
- throw new CoreException(new Status(IStatus.ERROR,
- Activator.PLUGIN_ID, "Project creation failed", e));
- } finally {
- if (stream != null) {
- try {
- stream.close();
- } catch (IOException e) {
- // Ignore - something really bad happened
- }
- }
- }
- }
-
- private void copyTemplate(IProject project, String name,
- ZipInputStream stream, int size, VelocityContext ctx,
- IProgressMonitor monitor) throws IOException, CoreException {
- // Templates will not be more then a few megs - we can afford the memory
- ByteArrayOutputStream file = new ByteArrayOutputStream();
-
- Reader reader = new InputStreamReader(new NonClosingStream(stream));
- Writer writer = new OutputStreamWriter(file);
-
- Velocity.evaluate(ctx, writer, name, reader);
-
- reader.close();
- writer.close();
-
- ByteArrayInputStream contents = new ByteArrayInputStream(
- file.toByteArray());
- IFile f = project.getFile(name);
- f.create(contents, true, new SubProgressMonitor(monitor, 1));
- }
-
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- context = new WizardContext();
- bindingContext = new DataBindingContext();
- }
-
- @Override
- public void addPages() {
- detailsPage = new WRTProjectDetailsWizardPage(context, bindingContext);
- addPage(detailsPage);
-
- templatesPage = new WRTProjectTemplateWizardPage(context,
- bindingContext);
- addPage(templatesPage);
-
- ProjectTemplate[] templates = ProjectTemplate.getAllTemplates();
- for (ProjectTemplate projectTemplate : templates) {
- final WRTProjectFilesWizardPage page = projectTemplate
- .createWizardPage(context, bindingContext);
- addPage(page);
- templateDetails.put(projectTemplate, page);
- }
-
- librariesPage = new WRTProjectLibraryWizardPage(context, bindingContext);
- addPage(librariesPage);
- }
-
- @Override
- public boolean canFinish() {
- return super.canFinish()
- && getContainer().getCurrentPage() == getPages()[getPageCount() - 1];
- }
-
- @Override
- public IWizardPage getNextPage(IWizardPage page) {
- if (page == templatesPage) {
- ProjectTemplate template = context.getTemplate();
- if (template != null) {
- WRTProjectFilesWizardPage activePage = templateDetails
- .get(template);
- for (WRTProjectFilesWizardPage wizardPage : templateDetails
- .values()) {
- wizardPage.setActive(wizardPage == activePage);
- }
- bindingContext.updateModels();
- return activePage;
- }
- }
- if (page instanceof WRTProjectFilesWizardPage) {
- return librariesPage;
- }
- return super.getNextPage(page);
- }
-
- public void setInitializationData(IConfigurationElement config,
- String propertyName, Object data) throws CoreException {
- this.config = config;
- }
-}
--- a/plugins/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/wizards/libraries/WRTProjectLibraryWizardPage.java Mon Aug 23 17:20:11 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/**
- * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.wrttools.wizards.libraries;
-
-import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.beans.BeansObservables;
-import org.eclipse.core.databinding.observable.set.IObservableSet;
-import org.eclipse.jface.databinding.viewers.IViewerObservableSet;
-import org.eclipse.jface.databinding.viewers.ViewersObservables;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.symbian.tools.wrttools.Activator;
-import org.symbian.tools.wrttools.core.libraries.JSLibrary;
-import org.symbian.tools.wrttools.wizards.WizardContext;
-
-public class WRTProjectLibraryWizardPage extends WizardPage {
- public static final class LibraryCheckStateListener implements ICheckStateListener {
- private final WizardContext context;
-
- public LibraryCheckStateListener(WizardContext context) {
- this.context = context;
- }
-
- public void checkStateChanged(CheckStateChangedEvent event) {
- if (!event.getChecked() && context.isRequiredLibrary((JSLibrary) event.getElement())) {
- event.getCheckable().setChecked(event.getElement(), true);
- }
- }
-
- }
- private CheckboxTableViewer list;
- private final WizardContext context;
- private final DataBindingContext bindingContext;
-
- public WRTProjectLibraryWizardPage(WizardContext context, DataBindingContext bindingContext) {
- super("ProjectLibraries", "WRT Project Libraries", null);
- this.context = context;
- this.bindingContext = bindingContext;
- setDescription("Select libraries to add to your project");
- }
-
- public void createControl(Composite parent) {
- list = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
- list.setLabelProvider(new LibraryLabelProvider());
- list.setContentProvider(new ArrayContentProvider());
- list.setInput(Activator.getJSLibraries());
- list.addCheckStateListener(new LibraryCheckStateListener(context));
- IViewerObservableSet ui = ViewersObservables.observeCheckedElements(list, JSLibrary.class);
- IObservableSet model = BeansObservables.observeSet(context, WizardContext.LIBRARIES);
- bindingContext.bindSet(model, ui);
- setControl(list.getControl());
- }
-
-}