Snippets support introduced
authorEugene Ostroukhov <eugeneo@symbian.org>
Mon, 14 Jun 2010 11:48:28 -0700
changeset 373 85c2a2a29aad
parent 372 1e408ee32d8a
child 374 92f6ae438d71
Snippets support introduced
org.symbian.tools.wrttools.product/launch/WRT IDE Product (Windows).launch
org.symbian.tools.wrttools.product/plugin.xml
org.symbian.tools.wrttools.product/src/org/symbian/tools/wrttools/product/perspective/WRTPerspective.java
org.symbian.tools.wrttools/META-INF/MANIFEST.MF
org.symbian.tools.wrttools/plugin.xml
org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/libraries/WRTInferEngine.java
org.symbian.tools.wrttools/templates/default-templates.xml
--- a/org.symbian.tools.wrttools.product/launch/WRT IDE Product (Windows).launch	Fri Jun 11 13:33:03 2010 -0700
+++ b/org.symbian.tools.wrttools.product/launch/WRT IDE Product (Windows).launch	Mon Jun 14 11:48:28 2010 -0700
@@ -22,8 +22,8 @@
 <stringAttribute key="productFile" value="\org.symbian.tools.wrttools.product\wrt-ide.product"/>
 <booleanAttribute key="restart" value="false"/>
 <stringAttribute key="selectedPlugin" value="org.symbian.tools.wrttools.previewer"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.wst.jsdt.support.ie@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.wst.jsdt.web.core@default:default,org.apache.commons.el@default:default,org.eclipse.wst.html.core@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.cvs@default:default,org.apache.commons.collections@default:default,org.eclipse.ui.views@default:default,org.eclipse.compare.win32@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.apache.lucene@default:default,org.eclipse.team.core@default:default,com.ibm.icu@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.mortbay.jetty.server@default:default,org.eclipse.rcp@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.common@2:true,org.eclipse.wst.validation.ui@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.wst.internet.cache@default:default,org.eclipse.update.ui@default:default,org.eclipse.core.jobs@default:default,org.eclipse.wst.validation@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.wst.common.emf@default:default,org.mozilla.xpcom@default:default,org.eclipse.wst.jsdt.web.ui@default:default,org.eclipse.wst.xml.ui@default:default,org.eclipse.wst.xml.ui.infopop@default:default,org.eclipse.jem.util@default:default,org.eclipse.ui.ide@default:default,org.eclipse.core.expressions@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.core.net.win32.x86@default:false,org.eclipse.update.core@default:default,org.eclipse.wst.internet.monitor.core@default:default,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.wst.jsdt.ui@default:default,org.apache.log4j@default:default,org.eclipse.core.resources@default:default,org.apache.xalan@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.jsch.core@default:default,org.eclipse.equinox.security@default:default,org.apache.commons.lang@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.equinox.security.ui@default:default,org.apache.commons.logging@default:default,org.apache.commons.codec@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.wst.internet.monitor.ui@default:default,org.eclipse.compare.core@default:default,org.apache.velocity@default:default,org.eclipse.search@default:default,org.eclipse.platform@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.wst.xml.xpath.core@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.wst.xml.core@default:default,org.eclipse.core.databinding.observable@default:default,org.apache.xml.resolver@default:default,org.eclipse.wst.common.snippets@default:default,org.eclipse.wst.jsdt.support.firefox@default:default,org.eclipse.wst.css.ui@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.emf.ecore.edit@default:default,java_cup.runtime@default:default,javax.servlet.jsp@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ecf@default:default,org.eclipse.wst.xmleditor.doc.user@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.emf.common.ui@default:default,com.jcraft.jsch@default:default,org.eclipse.help@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.wst.common.infopop@default:default,org.eclipse.wst.jsdt.core@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ecf.identity@default:default,org.sat4j.core@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.osgi.util@default:default,org.mozilla.xulrunner@default:default,org.apache.commons.httpclient@default:default,org.eclipse.wst.sse.ui@default:default,org.eclipse.wst.common.environment@default:default,org.apache.xerces@default:default,org.eclipse.wst.xml.xpath.ui@default:default,org.eclipse.debug.core@default:default,org.eclipse.ui.editors@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.wst.common.frameworks.ui@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.help.ui@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.wst.jsdt.doc@default:default,org.eclipse.wst.css.core@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.wst.standard.schemas@default:default,org.eclipse.core.commands@default:default,org.eclipse.wst.validation.infopop@default:default,org.eclipse.osgi@-1:true,org.eclipse.ui.net@default:default,org.eclipse.ui.win32@default:false,org.eclipse.wst.common.frameworks@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.wst.common.ui@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.ui.navigator.resources@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.wst.common.core@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.text@default:default,org.eclipse.wst.html.ui.infopop@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.wst.sse.doc.user@default:default,org.sat4j.pb@default:default,org.eclipse.osgi.services@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.util@default:default,org.jdom@default:default,org.eclipse.wst.sse.ui.infopop@default:default,javax.xml@default:default,org.apache.bcel@default:default,org.apache.lucene.analysis@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.swt@default:default,org.eclipse.wst.doc.user@default:default,org.eclipse.team.ui@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.debug.ui@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ui.navigator@default:default,org.eclipse.jface.text@default:default,org.mortbay.jetty.util@default:default,org.eclipse.draw2d@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.help.appserver@default:default,org.eclipse.wst.xml.xpath2.processor@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.help.webapp@default:default,org.eclipse.equinox.app@default:default,org.eclipse.core.databinding@default:default,org.eclipse.wst.dtd.core@default:default,javax.servlet@default:default,org.eclipse.ui.browser@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.core.net@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.gef@default:default,org.eclipse.wst.common.modulecore@default:default,org.eclipse.core.variables@default:default,org.eclipse.ui.cheatsheets@default:default,org.apache.jasper@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.help.base@default:default,org.mozilla.xulrunner.win32.win32.x86@default:false,org.eclipse.ui.forms@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.update.configurator@3:true,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.compare@default:default,org.eclipse.ui.console@default:default,org.eclipse.core.boot@default:default,org.eclipse.wst.html.ui@default:default,org.apache.xml.serializer@default:default,org.eclipse.ecf.filetransfer@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.symbian.tools.wrttools.previewer@default:default,org.chromium.sdk@default:default,org.symbian.tools.wrttools@default:default,org.symbian.tools.wrttools.doc.WRTKit@default:default,org.symbian.tools.wrttools.debug.core@default:default,org.w3c.css@default:default,org.symbian.tools.wrttools.product@default:default,org.symbian.tools.wrttools.doc.WebDeveloper@default:default,org.chromium.debug.core@default:default,org.chromium.debug.ui@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.ui.cheatsheets@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.emf.edit@default:default,org.eclipse.wst.html.ui.infopop@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.wst.jsdt.support.firefox@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.compare.win32@default:default,org.eclipse.debug.ui@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.ui.ide@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.wst.common.modulecore@default:default,org.eclipse.ui.intro@default:default,org.eclipse.wst.xml.xpath2.processor@default:default,org.eclipse.wst.internet.monitor.core@default:default,org.eclipse.wst.doc.user@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ui.net@default:default,org.eclipse.wst.xml.xpath.ui@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.rcp@default:default,org.eclipse.wst.sse.ui@default:default,org.eclipse.debug.core@default:default,org.eclipse.cvs@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ltk.ui.refactoring@default:default,com.jcraft.jsch@default:default,org.eclipse.equinox.app@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.compare@default:default,org.eclipse.ui.editors@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.sat4j.pb@default:default,org.eclipse.ecf@default:default,org.eclipse.wst.xml.ui.infopop@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.osgi.services@default:default,org.mozilla.xulrunner@default:default,org.eclipse.wst.common.environment@default:default,org.eclipse.jface@default:default,org.jdom@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.equinox.http.registry@default:default,org.apache.commons.lang@default:default,org.eclipse.platform@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.wst.jsdt.support.ie@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.team.ui@default:default,org.eclipse.jsch.core@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.core.variables@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.ui.views@default:default,org.apache.lucene.analysis@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.equinox.common@2:true,org.eclipse.wst.jsdt.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.core.net@default:default,org.eclipse.search@default:default,org.eclipse.wst.validation@default:default,org.eclipse.wst.common.snippets@default:default,org.eclipse.ui.console@default:default,org.apache.xalan@default:default,org.eclipse.wst.dtd.core@default:default,org.eclipse.wst.sse.ui.infopop@default:default,org.eclipse.core.databinding@default:default,org.eclipse.wst.xml.xpath.core@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.wst.common.ui@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,javax.xml@default:default,org.eclipse.wst.jsdt.doc@default:default,org.eclipse.core.boot@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.ui.browser@default:default,com.ibm.icu@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.wst.standard.schemas@default:default,org.mortbay.jetty.util@default:default,org.eclipse.wst.xml.ui@default:default,org.eclipse.equinox.util@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.jem.util@default:default,org.eclipse.wst.internet.monitor.ui@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.help@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.wst.css.ui@default:default,javax.servlet.jsp@default:default,org.eclipse.osgi@-1:true,org.eclipse.team.cvs.ui@default:default,org.sat4j.core@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.ui.workbench.compatibility@default:false,org.apache.lucene@default:default,org.mozilla.xpcom@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.draw2d@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.update.ui@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.equinox.concurrent@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.swt@default:default,org.eclipse.update.core@default:default,java_cup.runtime@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.gef@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.el@default:default,org.eclipse.core.expressions@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.apache.bcel@default:default,org.eclipse.equinox.security@default:default,org.mozilla.xulrunner.win32.win32.x86@default:false,org.apache.commons.collections@default:default,org.eclipse.jface.text@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.text@default:default,org.eclipse.wst.validation.infopop@default:default,org.apache.commons.codec@default:default,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.wst.xmleditor.doc.user@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.team.core@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.commands@default:default,org.apache.xml.serializer@default:default,org.eclipse.wst.html.ui@default:default,org.eclipse.ui.workbench.texteditor@default:default,javax.servlet@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.update.configurator@3:true,org.eclipse.equinox.security.ui@default:default,org.eclipse.wst.common.infopop@default:default,org.eclipse.ui.win32@default:false,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.commons.logging@default:default,org.eclipse.wst.common.frameworks.ui@default:default,org.eclipse.wst.sse.doc.user@default:default,org.eclipse.wst.internet.cache@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.wst.common.emf@default:default,org.apache.log4j@default:default,org.eclipse.wst.validation.ui@default:default,org.eclipse.wst.html.core@default:default,org.apache.velocity@default:default,org.eclipse.compare.core@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.wst.common.frameworks@default:default,org.eclipse.help.appserver@default:default,org.mortbay.jetty.server@default:default,org.eclipse.help.webapp@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.wst.css.core@default:default,org.eclipse.wst.jsdt.web.ui@default:default,org.eclipse.wst.jsdt.web.core@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.osgi.util@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.apache.jasper@default:default,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false"/>
+<stringAttribute key="selected_workspace_plugins" value="org.chromium.debug.ui@default:default,org.chromium.debug.core@default:default,org.w3c.css@default:default,org.symbian.tools.wrttools.doc.WRTKit@default:default,org.symbian.tools.wrttools@default:default,org.symbian.tools.wrttools.product@default:default,org.symbian.tools.wrttools.debug.core@default:default,org.symbian.tools.wrttools.previewer@default:default,org.chromium.sdk@default:default,org.symbian.tools.wrttools.doc.WebDeveloper@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="true"/>
 <mapAttribute key="tracingOptions">
--- a/org.symbian.tools.wrttools.product/plugin.xml	Fri Jun 11 13:33:03 2010 -0700
+++ b/org.symbian.tools.wrttools.product/plugin.xml	Mon Jun 14 11:48:28 2010 -0700
@@ -248,6 +248,9 @@
          <showInPart
                id="org.symbian.tools.wrttools.wrtnavigator">
          </showInPart>
+         <perspectiveShortcut
+               id="org.symbian.tools.wrttools.mainPerspective">
+         </perspectiveShortcut>
       </perspectiveExtension>
    </extension>
 </plugin>
--- a/org.symbian.tools.wrttools.product/src/org/symbian/tools/wrttools/product/perspective/WRTPerspective.java	Fri Jun 11 13:33:03 2010 -0700
+++ b/org.symbian.tools.wrttools.product/src/org/symbian/tools/wrttools/product/perspective/WRTPerspective.java	Mon Jun 14 11:48:28 2010 -0700
@@ -19,6 +19,9 @@
 		IFolderLayout folder= layout.createFolder("left", IPageLayout.LEFT, (float)0.15, editorArea); //$NON-NLS-1$
 		folder.addView(Activator.NAVIGATOR_ID);
 		folder.addView(JavaScriptUI.ID_TYPE_HIERARCHY);
+
+        IFolderLayout snippetsFolder = layout.createFolder("snippets", IPageLayout.BOTTOM, (float) 0.5, "left"); //$NON-NLS-1$
+        snippetsFolder.addView("org.eclipse.wst.common.snippets.internal.ui.SnippetsView");
 		
 		IFolderLayout outputfolder= layout.createFolder("bottom", IPageLayout.BOTTOM, (float)0.75, editorArea); //$NON-NLS-1$
 		outputfolder.addView(IPageLayout.ID_PROBLEM_VIEW);
@@ -54,6 +57,7 @@
 		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
 		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
 		layout.addShowViewShortcut(PreviewerPlugin.PREVIEW_VIEW);
+        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$
--- a/org.symbian.tools.wrttools/META-INF/MANIFEST.MF	Fri Jun 11 13:33:03 2010 -0700
+++ b/org.symbian.tools.wrttools/META-INF/MANIFEST.MF	Mon Jun 14 11:48:28 2010 -0700
@@ -26,7 +26,8 @@
  org.eclipse.core.expressions;bundle-version="3.4.101",
  org.eclipse.wst.xml.ui;bundle-version="1.1.2",
  org.eclipse.ltk.core.refactoring,
- org.eclipse.ui.editors
+ org.eclipse.ui.editors,
+ org.eclipse.wst.common.snippets
 Bundle-RequiredExecutionEnvironment: J2SE-1.5,
  JavaSE-1.6
 Bundle-ActivationPolicy: lazy
--- a/org.symbian.tools.wrttools/plugin.xml	Fri Jun 11 13:33:03 2010 -0700
+++ b/org.symbian.tools.wrttools/plugin.xml	Mon Jun 14 11:48:28 2010 -0700
@@ -246,9 +246,6 @@
 			<newWizardShortcut id="org.symbian.tools.wrttools.core.wrtwidgetwizard">
 			</newWizardShortcut>
 		</perspectiveExtension>
-  <perspectiveExtension
-        targetID="org.symbian.tools.wrttools.mainPerspective">
-  </perspectiveExtension>
 	</extension>
 	
 <!-- Navigator Extensions -->
@@ -888,5 +885,140 @@
     <include
           file="templates/default-templates.xml">
     </include>
+ </extension>
+ <extension
+       point="org.eclipse.wst.common.snippets.SnippetContributions">
+    <category
+          description="WRT-specific JavaScript snippets"
+          id="org.symbian.tools.wrttools.wrtsnippets"
+          label="Symbian Web Runtime"
+          smallicon="icons/main16.gif"
+          contenttypes="org.eclipse.wst.jsdt.core.jsSource">
+       <item
+             description="This function can be used as a callback in GetLocation and Trace calls to location service."
+             id="org.symbian.tools.wrttools.location"
+             label="Location callback">
+          <content>
+function locationUpdated(transactionId, code, result) {
+	if (result.ErrorCode == 0) {
+		var longitude = result.ReturnValue.Longitude; // Longitude estimate in degrees. The value range is [+180, -180].
+		var latitude = result.ReturnValue.Latitude; // Latitude estimate in degrees. The value range is [+90, -90].
+		var altitude = result.ReturnValue.Altitude; // Elevation estimate in meters relative to the WGS 84 datum.
+		var satelliteNumView = result.ReturnValue.SatelliteNumView; // Number of satellites currently in view.
+		var satelliteNumViewUsed = result.ReturnValue.SatelliteNumViewUsed; // Number of satellites used to obtain the location fix.
+		var horizontalSpeed = result.ReturnValue.HorizontalSpeed; // Horizontal speed estimate in meters per second. This is the speed of the device at the time the location fix was obtained.
+		var horizontalSpeedError = result.ReturnValue.HorizontalSpeedError; // Horizontal speed error in meters per second.
+		var trueCourse = result.ReturnValue.TrueCourse; // Current direction of movement in degrees in relation to true north.
+		var trueCourseError = result.ReturnValue.TrueCourseError; // TrueCourse error in degrees.
+		var magneticHeading = result.ReturnValue.MagneticHeading; // Current direction of movement in degrees in relation to magnetic north.
+		var magneticHeadingError = result.ReturnValue.MagneticHeadingError; // MagneticHeading error in degrees.
+		var heading = result.ReturnValue.Heading; // Current instantaneous direction of movement in degrees in relation to true north.
+		var headingError = result.ReturnValue.HeadingError; // Heading error in degrees.
+		var magneticCourse = result.ReturnValue.MagneticCourse; // Current instantaneous direction of movement in degrees in relation to magnetic north.
+		var magneticCourseError = result.ReturnValue.MagneticCourseError; // MagneticCourse error in degrees
+		// TODO Location information was received
+	} else {
+		var errorCode = result.ErrorCode;
+		var errorMessage = result.ErrorMessage;
+		// TODO Failed to retrieve location information
+	}
+}          </content>
+       </item>
+       <item
+             description="Retrieves list of the contacts"
+             id="org.symbian.tools.wrttools.contacts"
+             label="Get contacts">
+          <content>
+var contactService = device.getServiceObject("Service.Contact",
+			"IDataSource");
+	var result = contactService.IDataSource.GetList(
+			{ Type : "Contact", Sort : { Order : "Ascending" } }
+			);
+	if (result.ErrorCode == 0) {
+		var contacts = result.ReturnValue;
+		for ( var contact = contacts.getNext(); contact != null; contact = contacts.getNext()) {
+			var firstName = contact.FirstName;
+			var lastName = contact.LastName;
+			var mobile = contact.MobilePhoneGen;
+			var landPhone = contact.LandPhoneGen;
+			var jobTitle = contact.JobTitle;
+			// Consult WRT documentation for possible values
+			// TODO Process contact information
+		}
+	} else {
+		var errorCode = result.ErrorCode;
+		var errorMessage = result.ErrorMessage;
+		// TODO Cannot retrieve contacts list
+	}
+          </content>
+       </item>
+       <item
+             description="Sends SMS message"
+             id="org.symbian.tools.wrttools.contacts"
+             label="Send SMS message">
+          <content>
+var phoneNumber = "+6505551214";
+	var text = "Sent from WRT application";
+	var messaging = device.getServiceObject("Service.Messaging", "IMessaging");
+	var result = messaging.IMessaging.Send({ MessageType : "SMS", To : phoneNumber, BodyText : text });
+	if (result.ErrorCode != null) {
+		var errorCode = result.ErrorCode;
+		var errorMessage = result.ErrorMessage;
+	}
+          </content>
+       </item>
+       <item
+             description="Adds callback that will be notified of orientation chnages"
+             id="org.symbian.tools.wrttools.contacts"
+             label="Add orientation callback">
+          <content>
+var sensors = device.getServiceObject("Service.Sensor", "ISensor");
+	var SensorParams = {
+		SearchCriterion : "Orientation"
+	};
+	var result = sensors.ISensor.FindSensorChannel(SensorParams);
+
+	if (result.ErrorCode == 0) {
+		var result2 = sensors.ISensor.RegisterForNotification({ ChannelInfoMap : result.ReturnValue[0], ListeningType : "ChannelData" }, ${orientationCallback});
+		if (result.ErrorCode == 0) {
+			var transactionId = result.TransactionID;
+			// TODO Use this transaction ID to cancel notifications when watching orientation is no longer needed
+		} else {
+			var errorCode = result.ErrorCode;
+			var errorMessage = result.ErrorMessage;
+			// TODO Handle error
+		}
+	} else {
+		var errorCode = result.ErrorCode;
+		var errorMessage = result.ErrorMessage;
+		// TODO Handle error
+	}
+         </content>
+       </item>
+       <item
+             description="Function that processes notifications from the orientation sensor"
+             id="org.symbian.tools.wrttools.contacts"
+             label="Orientation callback">
+          <content>
+function orientationCallback(transactionId, code, result) {
+	if (result.ErrorCode == 0) {
+		var orientation = result.ReturnValue.DeviceOrientation;
+		// TODO Possible values:
+		// "Undefined"
+		// "DisplayUp"
+		// "DisplayDown"
+		// "DisplayLeftUp"
+		// "DisplayRightUp"
+		// "DisplayUpwards"
+		// "DisplayDownwards"
+	} else {
+		var errorCode = result.ErrorCode;
+		var errorMessage = result.ErrorMessage;
+		// TODO Handle error
+	}
+}
+         </content>
+       </item>
+    </category>
  </extension>
 </plugin>
--- a/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/libraries/WRTInferEngine.java	Fri Jun 11 13:33:03 2010 -0700
+++ b/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/libraries/WRTInferEngine.java	Mon Jun 14 11:48:28 2010 -0700
@@ -27,6 +27,7 @@
 import org.eclipse.wst.jsdt.core.ast.IFunctionDeclaration;
 import org.eclipse.wst.jsdt.core.infer.InferEngine;
 import org.eclipse.wst.jsdt.core.infer.InferredType;
+import org.eclipse.wst.jsdt.internal.compiler.ast.LocalDeclaration;
 import org.eclipse.wst.jsdt.internal.compiler.ast.SingleNameReference;
 import org.eclipse.wst.jsdt.internal.compiler.ast.StringLiteral;
 
@@ -48,6 +49,14 @@
     }
 
     @Override
+    protected boolean handleFunctionCall(IFunctionCall messageSend, LocalDeclaration assignmentExpression) {
+        if (assignmentExpression != null) {
+            assignmentExpression.setInferredType(getTypeOf(messageSend));
+        }
+        return super.handleFunctionCall(messageSend, assignmentExpression);
+    }
+
+    @Override
     protected InferredType getTypeOf(IExpression expression) {
         if (expression.getASTType() == IASTNode.FUNCTION_CALL) {
             IFunctionCall call = (IFunctionCall) expression;
--- a/org.symbian.tools.wrttools/templates/default-templates.xml	Fri Jun 11 13:33:03 2010 -0700
+++ b/org.symbian.tools.wrttools/templates/default-templates.xml	Mon Jun 14 11:48:28 2010 -0700
@@ -47,7 +47,7 @@
 		var ${locationService} = device.getServiceObject("Service.Location", "ILocation");
 	</template>
 	<template name="logging" description="Access WRT 1.1 logging service. This API allows widgets to access and manage logging events such as call logs, messaging logs, and data logs."
-		id="org.symbian.tools.wrttools.templates.calendar" context="javaScript"
+		id="org.symbian.tools.wrttools.templates.logging" context="javaScript"
 		enabled="true" autoinsert="false">
 		var ${loggingService} = device.getServiceObject("Service.Logging", "IDataSource");
 	</template>
@@ -62,7 +62,7 @@
 		var ${messaging} = device.getServiceObject("Service.Messaging", "IMessaging");
 	</template>
 	<template name="sensor" description="Access WRT 1.1 sensors API. This API allows widgets to access data provided by the physical sensors of the device."
-		id="org.symbian.tools.wrttools.templates.calendar" context="javaScript"
+		id="org.symbian.tools.wrttools.templates.sensor" context="javaScript"
 		enabled="true" autoinsert="false">
 		var ${sensors} = device.getServiceObject("Service.Sensor", "ISensor");
 	</template>