Warnings in new projects were fixed
authorEugene Ostroukhov <eugeneo@symbian.org>
Fri, 05 Feb 2010 11:54:28 -0800
changeset 102 30e0796f3ebb
parent 101 15f3b303bbb1
child 103 ef9f02ee3266
Warnings in new projects were fixed
org.symbian.tools.wrttools/plugin.xml
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ActionControl.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Ajax.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ContentPanel.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Control.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/FormButton.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Label.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ListView.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/NavigationButton.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/NotificationPopup.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Scrollbar.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionControl.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionList.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionMenu.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Separator.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextArea.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextEntryControl.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextField.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/UIElement.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/UIManager.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/View.js
org.symbian.tools.wrttools/projecttemplates/WRTKit/Utils/Logger.js
org.symbian.tools.wrttools/projecttemplates/flickr.zip
org.symbian.tools.wrttools/projecttemplates/rssreader.zip
org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/packager/WrtPackageActionDelegate.java
--- a/org.symbian.tools.wrttools/plugin.xml	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/plugin.xml	Fri Feb 05 11:54:28 2010 -0800
@@ -84,22 +84,6 @@
 	             menubarPath="org.symbian.tools.wrttools.contextMenuGroupMarker">
 	       </action>
           </objectContribution> 
-          	      <objectContribution
-			 adaptable="true"
-			 id="org.symbian.tools.wrttools.core.validator"
-             objectClass="org.eclipse.core.resources.IResource">
-           <filter
-         	name="projectNature"
-         	value="org.symbian.tools.wrttools.WidgetProjectNature"/>
-           <action
-                 class="org.symbian.tools.wrttools.core.validator.ValidateAction"
-                 enablesFor="+"
-                 icon="icons/validate_widget.gif"
-                 id="org.symbian.tools.wrttools.core.validator.ValidateAction"
-                 label="Validate Widget"
-                 menubarPath="org.symbian.tools.wrttools.contextMenuGroupMarker">
-			</action>
-		   </objectContribution>
           		<objectContribution
             objectClass="org.eclipse.core.resources.IResource"            
             id="org.symbian.tools.wrttools.widget.wrttool.packageoptions">
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ActionControl.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ActionControl.js	Fri Feb 05 11:54:28 2010 -0800
@@ -71,7 +71,7 @@
     
     // the control defaults to enabled
     this.enabled = true;
-}
+};
 
 // Common event listeners hookup function called from subclasses.
 ActionControl.prototype.bindActionControlListeners = function() {
@@ -93,19 +93,19 @@
                                                         event.preventDefault();
                                                     }
                                                  }, true);
-}
+};
 
 // Returns the enabled state.
 ActionControl.prototype.isEnabled = function() {
     return this.enabled;
-}
+};
 
 // Sets the enabled state.
 ActionControl.prototype.setEnabled = function(enabled) {
     uiLogger.debug("ActionControl.setEnabled(" + enabled + ")");
     // switch the state
     this.enabled = enabled;
-}
+};
 
 // Sets the focused state for the control.
 // Note: This may not always succeed.
@@ -118,7 +118,7 @@
             this.linkElement.blur();
         }
     }
-}
+};
 
 // Callback for clicks.
 ActionControl.prototype.controlClicked = function(event) {
@@ -134,11 +134,11 @@
         // notify event listeners
         this.actionPerformed(event);
     }
-}
+};
 
 // Callback for action performed events.
 ActionControl.prototype.actionPerformed = function(event) {
     uiLogger.debug("ActionControl.actionPerformed()");
     // notify event listeners
     this.fireEvent(this.createEvent("ActionPerformed", event));
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Ajax.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Ajax.js	Fri Feb 05 11:54:28 2010 -0800
@@ -74,7 +74,7 @@
 							//	call the native XmlHttpRequest.open method
 							this._open(method, url, flag);
 						}
-					}
+					};
 				}
 			}
 			catch(e)
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ContentPanel.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ContentPanel.js	Fri Feb 05 11:54:28 2010 -0800
@@ -160,12 +160,12 @@
     
     // update style
     this.updateStyleFromState();
-}
+};
 
 // Returns the enabled state.
 ContentPanel.prototype.isEnabled = function() {
     return this.enabled;
-}
+};
 
 // Sets the enabled state.
 ContentPanel.prototype.setEnabled = function(enabled) {
@@ -197,12 +197,12 @@
     
     // update style
     this.updateStyleFromState();    
-}
+};
 
 // Returns the caption; null if none.
 ContentPanel.prototype.getCaption = function() {
     return this.caption;
-}
+};
 
 // Sets the caption; null if none.
 ContentPanel.prototype.setCaption = function(caption) {
@@ -223,24 +223,24 @@
     
     // update style
     this.updateStyleFromState();
-}
+};
 
 // Returns the content.
 ContentPanel.prototype.getContent = function() {
     return this.contentElement.innerHTML;
-}
+};
 
 // Sets the content.
 ContentPanel.prototype.setContent = function(content) {
     uiLogger.debug("ContentPanel.setContent(" + content + ")");
     this.contentElement.innerHTML = (content == null) ? "" : content;
-}
+};
 
 // Returns the focusable state for the control.
 ContentPanel.prototype.isFocusable = function() {
     // a content panel is focusable if it's foldable and enabled
     return (this.foldable && this.enabled);
-}
+};
 
 // Sets the focused state for the control.
 // Note: This may not always succeed.
@@ -255,12 +255,12 @@
     }
     // note that this.focused gets set as a result of focusStateChanged() being called
     // rather than setting it explicitly here
-}
+};
 
 // Returns the expanded state.
 ContentPanel.prototype.isExpanded = function() {
     return this.expanded;
-}
+};
 
 // Sets the expanded state.
 ContentPanel.prototype.setExpanded = function(expanded) {
@@ -307,7 +307,7 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Returns the absolute position (y) of the given element.
 ContentPanel.prototype.getAbsoluteTop = function(element) {
@@ -319,7 +319,7 @@
         element = element.offsetParent;
     }
     return absTop;
-}
+};
 
 // Callback for when the caption is clicked.
 ContentPanel.prototype.captionClicked = function() {
@@ -335,7 +335,7 @@
         // toggle the expanded state
         this.setExpanded(!this.expanded);
     }
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 ContentPanel.prototype.updateStyleFromState = function() {
@@ -364,4 +364,4 @@
     
     // set the content element class names
     this.setClassName(this.contentElement, "ContentPanelContent");
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Control.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Control.js	Fri Feb 05 11:54:28 2010 -0800
@@ -104,12 +104,12 @@
     // style is not updated because the subclass will update the style later
     // when it has completely initialized the component
     this.setCaption(caption, true);
-}
+};
 
 // Returns the caption; null if none.
 Control.prototype.getCaption = function() {
     return this.caption;
-}
+};
 
 // Sets the caption; null if none.
 Control.prototype.setCaption = function(caption, noStyleUpdate) {
@@ -126,30 +126,30 @@
     if (!noStyleUpdate) {
         this.updateStyleFromState();
     }
-}
+};
 
 // Returns the enabled state.
 // Override this in subclasses as required to implement the state change.
 Control.prototype.isEnabled = function() {
     return false;
-}
+};
 
 // Sets the enabled state.
 // Override this in subclasses as required to implement the state change.
 Control.prototype.setEnabled = function(enabled) {
     uiLogger.debug("Control.setEnabled(" + enabled + ")");
-}
+};
 
 // Returns the focusable state for the control.
 // Defaults focusable if enabled - override this in subclasses as required.
 Control.prototype.isFocusable = function() {
     return this.isEnabled();
-}
+};
 
 // Returns the focused state for the control.
 Control.prototype.isFocused = function() {
     return this.focused;
-}
+};
 
 // Sets the focused state for the control.
 // Note: This may not always succeed.
@@ -158,7 +158,7 @@
     uiLogger.debug("Control.setFocused(" + focused + ")");
     // note that this.focused gets set as a result of focusStateChanged() being called
     // rather than setting it explicitly here
-}
+};
 
 // Called when the focus state has changed for this control.
 Control.prototype.focusStateChanged = function(focused) {
@@ -177,7 +177,7 @@
         // notify event listeners
         this.fireEvent(this.createEvent("FocusStateChanged", focused));
     }
-}
+};
 
 // Called when the hover state has changed for this control.
 Control.prototype.hoverStateChanged = function(hovering) {
@@ -191,7 +191,7 @@
         // notify event listeners
         this.fireEvent(this.createEvent("HoverStateChanged", hovering));
     }
-}
+};
 
 // Helper method that returns the state name for the current state.
 Control.prototype.getStyleStateName = function() {
@@ -205,7 +205,7 @@
     } else {
         return "Normal";
     }
-}
+};
 
 // Resets the state tracking for focus and hover.
 // Override this in subclasses as required to implement the state reset.
@@ -214,7 +214,7 @@
     this.hovering = false;
     this.focused = false;
     this.updateStyleFromState();
-}
+};
 
 // Helper function that sets a classname for an element.
 // Only sets the class name if it actually is different from the current value.
@@ -222,10 +222,10 @@
     if (element.className != className) {
         element.className = className;
     }
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 // Override this in subclasses as required to implement the state change.
 Control.prototype.updateStyleFromState = function() {
     uiLogger.debug("Control.updateStyleFromState()");
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/FormButton.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/FormButton.js	Fri Feb 05 11:54:28 2010 -0800
@@ -107,7 +107,7 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Sets the enabled state.
 FormButton.prototype.setEnabled = function(enabled) {
@@ -135,18 +135,18 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Returns the button text.
 FormButton.prototype.getText = function() {
     return this.textElement.innerHTML;
-}
+};
 
 // Sets the button text.
 FormButton.prototype.setText = function(text) {
     uiLogger.debug("FormButton.setText(" + text + ")");
     this.textElement.innerHTML = (text == null) ? "" : text;;
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 FormButton.prototype.updateStyleFromState = function() {
@@ -174,4 +174,4 @@
     
     // set the button text class name
     this.setClassName(this.textElement, "FormButtonText FormButtonText" + stateName);
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Label.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Label.js	Fri Feb 05 11:54:28 2010 -0800
@@ -68,29 +68,29 @@
     
     // set the text
     this.setText(text);
-}
+};
 
 // Returns the enabled state for the control.
 Label.prototype.isEnabled = function() {
     return true;
-}
+};
 
 // Returns the focusable state for the control.
 Label.prototype.isFocusable = function() {
     return false;
-}
+};
 
 // Returns the control text.
 Label.prototype.getText = function() {
     return this.contentElement.innerHTML;
-}
+};
 
 // Sets the text for the control.
 Label.prototype.setText = function(text) {
     uiLogger.debug("Label.setText(" + text + ")");
     this.contentElement.innerHTML = (text == null) ? "" : text;
     this.updateStyleFromState();
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 Label.prototype.updateStyleFromState = function() {
@@ -102,4 +102,4 @@
     this.setClassName(this.captionElement, "ControlCaption ControlCaptionNormal");
     this.setClassName(this.controlElement, "ControlElement");
     this.setClassName(this.contentElement, "LabelText");
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ListView.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/ListView.js	Fri Feb 05 11:54:28 2010 -0800
@@ -96,12 +96,12 @@
     
     // set the caption
     this.setCaption(caption);
-}
+};
 
 // Returns the caption; null if none.
 ListView.prototype.getCaption = function() {
     return this.caption;
-}
+};
 
 // Sets the caption; null if none.
 ListView.prototype.setCaption = function(caption) {
@@ -113,12 +113,12 @@
     // set the caption
     this.caption = caption;
     this.captionTextElement.innerHTML = (caption == null) ? "" : caption;
-}
+};
 
 // Returns an array of controls in the view.
 ListView.prototype.getControls = function() {
     return this.controls;
-}
+};
 
 // Adds a control to the view.
 ListView.prototype.addControl = function(control) {
@@ -128,7 +128,7 @@
     this.controls.push(control);
     this.listElement.appendChild(control.rootElement);
     control.view = this;
-}
+};
 
 // Inserts a control to the view before the specified control.
 ListView.prototype.insertControl = function(control, beforeControl) {
@@ -148,7 +148,7 @@
     
     // the control wasn't found so we'll add it last
     this.addControl(control);
-}
+};
 
 // Removes a control from the view.
 ListView.prototype.removeControl = function(control) {
@@ -164,7 +164,7 @@
             control.view = null;
         }
     }
-}
+};
 
 // Attempts to focus the first focusable control.
 ListView.prototype.focusFirstControl = function() {
@@ -177,7 +177,7 @@
             break;
         }
     }
-}
+};
 
 // Attempts to reset all control focus states.
 // Override in subclasses as required.
@@ -186,4 +186,4 @@
     for (var i = 0; i < this.controls.length; i++) {
         this.controls[i].resetFocusState();
     }
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/NavigationButton.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/NavigationButton.js	Fri Feb 05 11:54:28 2010 -0800
@@ -111,7 +111,7 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Sets the enabled state.
 NavigationButton.prototype.setEnabled = function(enabled) {
@@ -139,12 +139,12 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Returns the button image (URL); null if none.
 NavigationButton.prototype.getImage = function() {
     return (this.imageElement != null) ? this.imageElement.src : null;
-}
+};
 
 // Sets the button image (URL); null if none.
 NavigationButton.prototype.setImage = function(image) {
@@ -174,18 +174,18 @@
             this.tableLeftCellElement.appendChild(this.imageElement);
         }
     }
-}
+};
 
 // Returns the button text.
 NavigationButton.prototype.getText = function() {
     return this.textElement.innerHTML;
-}
+};
 
 // Sets the button text.
 NavigationButton.prototype.setText = function(text) {
     uiLogger.debug("NavigationButton.setText(" + text + ")");
     this.textElement.innerHTML = (text == null) ? "" : text;;
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 NavigationButton.prototype.updateStyleFromState = function() {
@@ -217,4 +217,4 @@
     
     // set the button text class name
     this.setClassName(this.textElement, "NavigationButtonText NavigationButtonText" + stateName);
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/NotificationPopup.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/NotificationPopup.js	Fri Feb 05 11:54:28 2010 -0800
@@ -159,7 +159,7 @@
     if (this.progressBarImageLoaded) {
         this.completeShowNotification();
     }
-}
+};
 
 // Completes displaying of a notification.
 // Note: Used internally - don't call this directly.
@@ -195,7 +195,7 @@
     
     // mark us as no longer processing a show notification call
     this.processingShowNotification = false;
-}
+};
 
 // Hides the currently displayed notification.
 NotificationPopup.prototype.hideNotification = function() {
@@ -214,7 +214,7 @@
         this.autoHideTimerId = null;
         uiLogger.debug("Auto hide timer stopped");
     }
-}
+};
 
 // Starts animation of the popup (1 to show, -1 to hide).
 NotificationPopup.prototype.animatePopup = function(direction) {
@@ -226,7 +226,7 @@
         this.animTimerId = setInterval(function() { self.animate(); }, this.ANIM_TIMER_INTERVAL);
         uiLogger.debug("Notification popup animation started");
     }
-}
+};
 
 // Callback for animation timer.
 NotificationPopup.prototype.animate = function() {
@@ -259,7 +259,7 @@
         this.animTimerId = null;
         uiLogger.debug("Notification popup animation stopped");
     }
-}
+};
 
 // Returns a URL for the progress bar image to use for the specified progress.
 NotificationPopup.prototype.getProgressBarImage = function(progress) {
@@ -279,7 +279,7 @@
         }
         return progressBarImagePath + "ProgressBar" + progPct + ".png";
     }
-}
+};
 
 // Sets the contents of the popup.
 NotificationPopup.prototype.setPopupContents = function(type, text, progress) {
@@ -313,7 +313,7 @@
         // to load any progress bar image
         this.progressBarImageLoaded = true;
     }
-}
+};
 
 // Callback for notifying the object that its progress bar image completed loading.
 NotificationPopup.prototype.progressBarImageLoadingCompleted = function() {
@@ -327,4 +327,4 @@
     if (this.processingShowNotification) {
         this.completeShowNotification();
     }
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Scrollbar.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Scrollbar.js	Fri Feb 05 11:54:28 2010 -0800
@@ -170,4 +170,4 @@
     this.thumbMiddleElement.style.top = Math.round(thumbTop + thumbTopHeight) + "px";
     this.thumbMiddleElement.style.height = Math.round(thumbHeight - thumbTopHeight - thumbBottomHeight + 1) + "px";
     this.thumbBottomElement.style.top = Math.round(thumbBottom - thumbBottomHeight) + "px";
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionControl.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionControl.js	Fri Feb 05 11:54:28 2010 -0800
@@ -82,12 +82,12 @@
         this.selected = selected;
     }
     this.validateSelected();
-}
+};
 
 // Returns true if the control is a multiple selection control; false if single.
 SelectionControl.prototype.isMultipleSelection = function() {
     return this.multipleSelection;
-}
+};
 
 // Returns true if the specified option is selected; false if not.
 SelectionControl.prototype.isSelected = function(option) {
@@ -104,7 +104,7 @@
         // single selection
         return (this.selected == option);
     }
-}
+};
 
 // Returns the currently selected option in a single selection control or
 // an array of selected options in a multiple selection control. If there are
@@ -112,7 +112,7 @@
 // selection control returns an empty array.
 SelectionControl.prototype.getSelected = function() {
     return this.multipleSelection ? this.selected.slice(0) : this.selected;
-}
+};
 
 // Sets the currently selected options. Pass a single option in a single selection
 // control or an array of selected controls in a multiple selection control. To
@@ -123,7 +123,7 @@
     this.selected = this.multipleSelection ? selected.slice(0) : selected;
     // make sure the selected option or options are legal
     this.validateSelected();
-}
+};
 
 // Ensures that the selected option or options exist among the options in this control.
 SelectionControl.prototype.validateSelected = function() {
@@ -161,13 +161,13 @@
             this.selected = null;
         }
     }
-}
+};
 
 // Returns the options in the control as an array of option objects with
 // a value and text property.
 SelectionControl.prototype.getOptions = function() {
     return this.options;
-}
+};
 
 // Sets the options in the control.
 // Override in sublcasses to provide full implementation.
@@ -175,7 +175,7 @@
     this.options = options.slice(0);
     // make sure the selected option or options are legal
     this.validateSelected();
-}
+};
 
 // Returns the option that has the specified value; null if none.
 SelectionControl.prototype.getOptionForValue = function(value) {
@@ -186,4 +186,4 @@
         }
     }
     return null;
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionList.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionList.js	Fri Feb 05 11:54:28 2010 -0800
@@ -84,12 +84,12 @@
     
     // update the option elements to match the options in this control
     this.updateOptionElements();
-}
+};
 
 // Returns the enabled state.
 SelectionList.prototype.isEnabled = function() {
     return this.enabled;
-}
+};
 
 // Sets the enabled state.
 SelectionList.prototype.setEnabled = function(enabled) {
@@ -97,7 +97,7 @@
     // switch the state and update the the control
     this.enabled = enabled;
     this.updateOptionElements();
-}
+};
 
 // Sets the focused state for the control.
 // Note: This may not always succeed.
@@ -110,7 +110,7 @@
             this.optionElements[0].link.blur();
         }
     }
-}
+};
 
 // Sets the currently selected options. Pass a single option in a single selection
 // control or an array of selected controls in a multiple selection control. To
@@ -120,14 +120,14 @@
     // call superclass setSelected()
     SelectionControl.prototype.setSelected.call(this, selected);
     this.updateStyleFromState();
-}
+};
 
 // Sets the options in the control.
 SelectionList.prototype.setOptions = function(options) {
     // call superclass setOptions()
     SelectionControl.prototype.setOptions.call(this, options);
     this.updateOptionElements();
-}
+};
 
 // Updates the option elements for the control element.
 SelectionList.prototype.updateOptionElements = function() {
@@ -168,14 +168,14 @@
             optionElement.addEventListener("mouseover", function() { self.hoverStateChanged(true); }, false);
             optionElement.addEventListener("mouseout", function() { self.hoverStateChanged(false); }, false);
             optionElement.addEventListener("mousedown", function(event) {
-                                                               self.optionClicked(event)
+                                                               self.optionClicked(event);
                                                                event.stopPropagation();
                                                                event.preventDefault();
                                                         }, true);
             optionElement.addEventListener("keydown", function(event) {
                                                             // center and enter trigger the action
                                                             if (event.keyCode == 0 || event.keyCode == 13) {
-                                                                self.optionClicked(event)
+                                                                self.optionClicked(event);
                                                                 event.stopPropagation();
                                                                 event.preventDefault();
                                                             }
@@ -219,7 +219,7 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Callback for focus state change events.
 SelectionList.prototype.optionFocusStateChanged = function(event, focused) {
@@ -245,7 +245,7 @@
     
     // call the superclass focus state change handler
     this.focusStateChanged(focused);
-}
+};
 
 // Callback for clicks.
 SelectionList.prototype.optionClicked = function(event) {
@@ -298,7 +298,7 @@
     
     // notify event listeners
     this.fireEvent(this.createEvent("SelectionChanged", this.getSelected()));
-}
+};
 
 // Resets the state tracking for focus and hover.
 // Override this in subclasses as required to implement the state reset.
@@ -308,7 +308,7 @@
     this.focused = false;
     this.focusedOption = null;
     this.updateStyleFromState();
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 SelectionList.prototype.updateStyleFromState = function() {
@@ -352,4 +352,4 @@
         // set option text class names
         this.setClassName(optionTextElement, "SelectionListOptionText SelectionListOptionText" + stateName);
     }
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionMenu.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionMenu.js	Fri Feb 05 11:54:28 2010 -0800
@@ -84,18 +84,18 @@
     this.peerElement.addEventListener("mouseover", function() { self.hoverStateChanged(true); }, false);
     this.peerElement.addEventListener("mouseout", function() { self.hoverStateChanged(false); }, false);
     this.peerElement.addEventListener("change", function() { self.selectionChanged(); }, false);
-}
+};
 
 // Returns the enabled state.
 SelectionMenu.prototype.isEnabled = function() {
     return !this.peerElement.disabled;
-}
+};
 
 // Sets the enabled state.
 SelectionMenu.prototype.setEnabled = function(enabled) {
     uiLogger.debug("SelectionMenu.setEnabled(" + enabled + ")");
     this.peerElement.disabled = !enabled;
-}
+};
 
 // Sets the focused state for the control.
 // Note: This may not always succeed.
@@ -106,7 +106,7 @@
     } else {
         this.peerElement.blur();
     }
-}
+};
 
 // Sets the currently selected options. Pass a single option in a single selection
 // control or an array of selected controls in a multiple selection control. To
@@ -121,14 +121,14 @@
     for (var i = 0; i < this.options.length; i++) {
         this.optionElements[i].selected = this.isSelected(this.options[i]);
     }
-}
+};
 
 // Sets the options in the control.
 SelectionMenu.prototype.setOptions = function(options) {
     // call superclass setOptions()
     SelectionControl.prototype.setOptions.call(this, options);
     this.updateOptionElements();
-}
+};
 
 // Updates the option elements for the peer select element.
 SelectionMenu.prototype.updateOptionElements = function() {
@@ -158,7 +158,7 @@
     
     // update the style
     this.updateStyleFromState();    
-}
+};
 
 // Callback for selection change events.
 SelectionMenu.prototype.selectionChanged = function() {
@@ -179,7 +179,7 @@
     
     // notify event listeners
     this.fireEvent(this.createEvent("SelectionChanged", this.getSelected()));
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 SelectionMenu.prototype.updateStyleFromState = function() {
@@ -201,4 +201,4 @@
         var option = this.optionElements[i];
         this.setClassName(option, "SelectionMenuOption SelectionMenuOption" + peerStateName);
     }
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Separator.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/Separator.js	Fri Feb 05 11:54:28 2010 -0800
@@ -92,17 +92,17 @@
     
     // update style
     this.updateStyleFromState();
-}
+};
 
 // Returns the enabled state for the control.
 Separator.prototype.isEnabled = function() {
     return true;
-}
+};
 
 // Returns the focusable state for the control.
 Separator.prototype.isFocusable = function() {
     return false;
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 Separator.prototype.updateStyleFromState = function() {
@@ -116,4 +116,4 @@
     this.setClassName(this.tableLeftCellElement, "SeparatorLeftCell");
     this.setClassName(this.tableCenterCellElement, "SeparatorCenterCell");
     this.setClassName(this.tableRightCellElement, "SeparatorRightCell");
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextArea.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextArea.js	Fri Feb 05 11:54:28 2010 -0800
@@ -75,7 +75,7 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 TextArea.prototype.updateStyleFromState = function() {
@@ -93,4 +93,4 @@
     // set peer element class names
     var peerStateName = this.isEnabled() ? stateName : "Disabled";
     this.setClassName(this.peerElement, "TextArea TextArea" + stateName);
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextEntryControl.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextEntryControl.js	Fri Feb 05 11:54:28 2010 -0800
@@ -63,7 +63,7 @@
     
     // call superclass initializer
     Control.prototype.init.call(this, id, caption);
-}
+};
 
 // Common event listeners hookup function called from subclasses.
 TextEntryControl.prototype.bindTextEntryControlListeners = function() {
@@ -73,13 +73,13 @@
     this.peerElement.addEventListener("mouseover", function() { self.hoverStateChanged(true); }, false);
     this.peerElement.addEventListener("mouseout", function() { self.hoverStateChanged(false); }, false);
     this.peerElement.addEventListener("change", function() { self.valueChanged(); }, false);
-}
+};
 
 // Returns the enabled state.
 // Override this in subclasses as required to implement the state change.
 TextEntryControl.prototype.isEnabled = function() {
     return !this.peerElement.readOnly;
-}
+};
 
 // Sets the enabled state.
 // Override this in subclasses as required to implement the state change.
@@ -88,23 +88,23 @@
     this.peerElement.readOnly = !enabled;
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Returns the control text.
 TextEntryControl.prototype.getText = function() {
     return this.peerElement.value;
-}
+};
 
 // Sets the text for the control.
 TextEntryControl.prototype.setText = function(text) {
     this.peerElement.value = text;
-}
+};
 
 // Returns the focusable state for the control.
 TextEntryControl.prototype.isFocusable = function() {
     // text entry controls are always focusable
     return true;
-}
+};
 
 // Sets the focused state for the control.
 // Note: This may not always succeed.
@@ -115,11 +115,11 @@
     } else {
         this.peerElement.blur();
     }
-}
+};
 
 // Callback for value change events.
 TextEntryControl.prototype.valueChanged = function() {
     uiLogger.debug("TextEntryControl.valueChanged()");
     // notify event listeners
     this.fireEvent(this.createEvent("ValueChanged", this.peerElement.value));
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextField.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextField.js	Fri Feb 05 11:54:28 2010 -0800
@@ -72,7 +72,7 @@
     
     // update the style
     this.updateStyleFromState();
-}
+};
 
 // Updates the style of the control to reflects the state of the control.
 TextField.prototype.updateStyleFromState = function() {
@@ -90,4 +90,4 @@
     // set peer element class names
     var peerStateName = this.isEnabled() ? stateName : "Disabled";
     this.setClassName(this.peerElement, "TextField TextField" + peerStateName);
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/UIElement.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/UIElement.js	Fri Feb 05 11:54:28 2010 -0800
@@ -70,18 +70,18 @@
     if (id != null) {
         this.rootElement.id = id;
     }
-}
+};
 
 // Returns an array containing the current event listeners.
 UIElement.prototype.getEventListeners = function() {
     return this.eventListeners;
-}
+};
 
 // Adds an event listener.
 UIElement.prototype.addEventListener = function(eventType, listener) {
     var listenerDef = { type: eventType, listener: listener };
     this.eventListeners.push(listenerDef);
-}
+};
 
 // Removes an event listener.
 UIElement.prototype.removeEventListener = function(eventType, listener) {
@@ -95,12 +95,12 @@
             return;
         }
     }
-}
+};
 
 // Factory method for an event object where this object is the source object.
 UIElement.prototype.createEvent = function(type, value) {
     return { source: this, type: type, value: value };
-}
+};
 
 // Fires an event to all listeners.
 UIElement.prototype.fireEvent = function(event) {
@@ -111,4 +111,4 @@
             listenerDef.listener.call(this, event);
         }
     }
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/UIManager.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/UIManager.js	Fri Feb 05 11:54:28 2010 -0800
@@ -134,12 +134,12 @@
             self.updateScrollbar();
         }, false);
     }
-}
+};
 
 // Returns the current view.
 UIManager.prototype.getView = function() {
     return this.currentView;
-}
+};
 
 // Switches to the specified view.
 UIManager.prototype.setView = function(view) {
@@ -168,7 +168,7 @@
     // focus the first focusable control
     // a timer is used to prevent unwanted focus shift
     setTimeout(function() { view.focusFirstControl(); }, 1);
-}
+};
 
 // Updates the scrollbar.
 UIManager.prototype.updateScrollbar = function() {
@@ -192,7 +192,7 @@
             uiLogger.debug("Scrollbar updated");
         }
     }
-}
+};
 
 // Starts the view manager timer.
 UIManager.prototype.startTimer = function() {
@@ -204,7 +204,7 @@
     } else {
         uiLogger.warn("UIManager timer already running");
     }
-}
+};
 
 // Stops the view manager timer.
 UIManager.prototype.stopTimer = function() {
@@ -215,7 +215,7 @@
     } else {
         uiLogger.warn("UIManager timer already stopped");
     }
-}
+};
 
 // Timer callback function.
 UIManager.prototype.onTimer = function() {
@@ -223,18 +223,18 @@
         // make sure the scrollbar is up to date
         this.updateScrollbar();
     }
-}
+};
 
 // Displays a notification.
 UIManager.prototype.showNotification = function(displayTime, type, text, progress) {
     uiLogger.debug("UIManager.showNotification(" + displayTime + ", " + type + ", " + text + ", " + progress + ")");
     // use the notification popup to show the notification
     this.notificationPopup.showNotification(displayTime, type, text, progress);
-}
+};
 
 // Hides the currently displayed notification.
 UIManager.prototype.hideNotification = function() {
     uiLogger.debug("UIManager.hideNotification()");
     // hide the notification popup
     this.notificationPopup.hideNotification();
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/View.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/View.js	Fri Feb 05 11:54:28 2010 -0800
@@ -62,12 +62,12 @@
     
     // call superclass initializer
     UIElement.prototype.init.call(this, id);
-}
+};
 
 // Returns the currently focused control; null if none.
 View.prototype.getFocusedControl = function() {
     return this.focusedControl;
-}
+};
 
 // Used to notify the view that the focused control has changed.
 View.prototype.focusedControlChanged = function(control) {
@@ -75,16 +75,16 @@
     this.focusedControl = control;
     // notify event listeners
     this.fireEvent(this.createEvent("FocusedControlChanged", this.focusedControl));
-}
+};
 
 // Attempts to focus the first focusable control.
 // Override in subclasses as required.
 View.prototype.focusFirstControl = function() {
     uiLogger.debug("View.focusFirstControl()");
-}
+};
 
 // Attempts to reset all control focus states.
 // Override in subclasses as required.
 View.prototype.resetControlFocusStates = function() {
     uiLogger.debug("View.resetControlFocusStates()");
-}
+};
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/Utils/Logger.js	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/projecttemplates/WRTKit/Utils/Logger.js	Fri Feb 05 11:54:28 2010 -0800
@@ -66,14 +66,14 @@
     if (this.enabled) {
         console.dir(obj);
     }
-}
+};
 
 // Dumps a stracktrace to the console.
 Logger.prototype.trace = function() {
     if (this.enabled) {
         console.trace();
     }
-}
+};
 
 // Prints a debug message to the console.
 Logger.prototype.debug = function(str) {
@@ -93,25 +93,25 @@
             }
         }
     }
-}
+};
 
 // Prints an info message to the console.
 Logger.prototype.info = function(str) {
     if (this.enabled && this.level <= this.LOG_LEVEL_INFO) {
         console.info(str);
     }
-}
+};
 
 // Prints a warning message to the console.
 Logger.prototype.warn = function(str) {
     if (this.enabled && this.level <= this.LOG_LEVEL_WARN) {
         console.warn(str);
     }
-}
+};
 
 // Prints an error message to the console.
 Logger.prototype.error = function(str) {
     if (this.enabled && this.level <= this.LOG_LEVEL_ERROR) {
         console.error(str);
     }
-}
+};
Binary file org.symbian.tools.wrttools/projecttemplates/flickr.zip has changed
Binary file org.symbian.tools.wrttools/projecttemplates/rssreader.zip has changed
--- a/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/packager/WrtPackageActionDelegate.java	Fri Feb 05 09:22:26 2010 -0800
+++ b/org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/packager/WrtPackageActionDelegate.java	Fri Feb 05 11:54:28 2010 -0800
@@ -24,9 +24,11 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -40,14 +42,10 @@
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.actions.ActionDelegate;
-
 import org.symbian.tools.wrttools.Activator;
 import org.symbian.tools.wrttools.WRTStatusListener;
-import org.symbian.tools.wrttools.core.status.IWRTStatusListener;
-
 import org.symbian.tools.wrttools.core.status.IWRTConstants;
 import org.symbian.tools.wrttools.core.status.WRTStatus;
-import org.symbian.tools.wrttools.core.validator.ValidateAction;
 
 public class WrtPackageActionDelegate extends ActionDelegate implements
 		IObjectActionDelegate {
@@ -74,14 +72,26 @@
 	public boolean packageProject(IProject project) {
 		boolean packaedSucess=false;
 		if (project != null) {
-
-			ValidateAction validator = new ValidateAction();
-			if(!validator.isValidProject(project)) {
-				System.out.println("Invalid widget, can not be packaged!");
-				reportStatus("For the project "+ project.getLocation());
-				reportStatus(WRTPackagerConstants.STA_PKG_FAILED);
-				reportStatus("See errors from the Problems View for more details...");
-				return packaedSucess;
+			try {
+				project.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
+				IMarker[] markers = project.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
+				
+				boolean hasErrors = false;
+				for (IMarker marker : markers) {
+					if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
+						hasErrors = true;
+						break;
+					}
+				}
+				if(hasErrors) {
+					reportStatus("For the project "+ project.getLocation());
+					reportStatus(WRTPackagerConstants.STA_PKG_FAILED);
+					reportStatus("See errors from the Problems View for more details...");
+					return packaedSucess;
+				}
+			} catch (CoreException e1) {
+				Activator.log(e1);
+				return false;
 			}
 
 			try {