org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionControl.js
changeset 309 c01f5ab28a11
parent 308 c521df56b15d
child 310 e9484be98cfe
--- a/org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/SelectionControl.js	Thu Apr 15 16:00:54 2010 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/**
- * Copyright (c) 2009-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:
- * Nokia Corporation - initial contribution.
- * 
- * Contributors:
- * 
- * Description:
- * 
- */
-
-///////////////////////////////////////////////////////////////////////////////
-// The SelectionControl class is an abstract base class for controls that lets
-// the user select one or more options from a list of options. Don't use
-// SelectionControl directly.
-
-// Constructor.
-function SelectionControl(id, caption, options, multipleSelection, selected) {
-    if (id != UI_NO_INIT_ID) {
-        this.init(id, caption, options, multipleSelection, selected);
-    }
-}
-
-// SelectionControl inherits from Control.
-SelectionControl.prototype = new Control(UI_NO_INIT_ID);
-
-// List of options.
-SelectionControl.prototype.options = null;
-
-// The single selected option in single selection controls
-// or list of options in multi selection controls.
-SelectionControl.prototype.selected = null;
-
-// Single or multiple selection.
-SelectionControl.prototype.multipleSelection = false;
-
-// Initializer - called from constructor.
-SelectionControl.prototype.init = function(id, caption, options, multipleSelection, selected) {
-    uiLogger.debug("SelectionControl.init(" + id + ", " + caption + ", " + options + ", " + multipleSelection + ", " + selected + ")");
-    
-    // call superclass initializer
-    Control.prototype.init.call(this, id, caption);
-    
-    // set the multiple selection property
-    this.multipleSelection = multipleSelection;
-    
-    // init options and selected (makes copies of the original arrays)
-    this.options = (options != null) ? options.slice(0) : [];
-    if (multipleSelection) {
-        this.selected = (selected == null) ? [] : selected.slice(0);
-    } else {
-        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) {
-    if (this.multipleSelection) {
-        // multiple selection
-        // iterate through all selected options and look for the specified option
-        for (var i = 0; i < this.selected.length; i++) {
-            if (this.selected[i] == option) {
-                return true;
-            }
-        }
-        return false;
-    } else {
-        // 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
-// no selected options a single selection control returns null and a multiple
-// 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
-// deselect all options pass null in a single selection control and an empty array
-// in a multiple selection control.
-// Override in sublcasses to provide full implementation.
-SelectionControl.prototype.setSelected = function(selected) {
-    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() {
-    if (this.multipleSelection) {
-        // multiple selection
-        // iterate through all selected options and ensure they exist among the options
-        for (var i = 0; i < this.selected.length; i++) {
-            // check that the selected option exists among the options
-            var found = false;
-            for (var j = 0; j < this.options.length; j++) {
-                if (this.options[j] == this.selected[i]) {
-                    // found - stop looking for this option
-                    found = true;
-                    break;
-                }
-            }
-            // not found - remove this selected element
-            if (!found) {
-                this.selected.splice(i, 1);
-                // since we removed an entry we must re-check this position
-                i--;
-            }
-        }
-    } else {
-        // single selection
-        if (this.selected != null) {
-            // check that the selected option exists among the options
-            for (var i = 0; i < this.options.length; i++) {
-                if (this.options[i] == this.selected) {
-                    // found - we're done
-                    return;
-                }
-            }
-            // not found - remove the selection
-            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.
-SelectionControl.prototype.setOptions = function(options) {
-    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) {
-    // iterate through all options and look for a match
-    for (var i = 0; i < this.options.length; i++) {
-        if (this.options[i].value == value) {
-            return this.options[i];
-        }
-    }
-    return null;
-};