org.symbian.tools.wrttools/projecttemplates/WRTKit/UI/TextField.js
author Eugene Ostroukhov <eugeneo@symbian.org>
Tue, 16 Mar 2010 18:01:11 -0700
changeset 273 b1f63c2c240c
parent 211 7b148352159e
permissions -rw-r--r--
Bug 2072 - Update .js files with EPL
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     1
/**
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     2
 * Copyright (c) 2009-2010 Symbian Foundation and/or its subsidiary(-ies).
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     3
 * All rights reserved.
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     4
 * This component and the accompanying materials are made available
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     5
 * under the terms of the License "Eclipse Public License v1.0"
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     6
 * which accompanies this distribution, and is available
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     8
 *
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
     9
 * Initial Contributors:
273
b1f63c2c240c Bug 2072 - Update .js files with EPL
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 211
diff changeset
    10
 * Nokia Corporation - initial contribution.
b1f63c2c240c Bug 2072 - Update .js files with EPL
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 211
diff changeset
    11
 * 
210
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
    12
 * Contributors:
273
b1f63c2c240c Bug 2072 - Update .js files with EPL
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 211
diff changeset
    13
 * 
b1f63c2c240c Bug 2072 - Update .js files with EPL
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 211
diff changeset
    14
 * Description:
b1f63c2c240c Bug 2072 - Update .js files with EPL
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 211
diff changeset
    15
 * 
210
0f7abfd6ae62 Fixed bug 2072: update .js files with EPL
tasneems@symbian.org
parents: 102
diff changeset
    16
 */
73
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    17
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    18
///////////////////////////////////////////////////////////////////////////////
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    19
// The TextField class implements a single line text entry control.
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    20
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    21
// Constructor.
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    22
function TextField(id, caption, value, masked) {
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    23
    if (id != UI_NO_INIT_ID) {
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    24
        this.init(id, caption, value, masked);
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    25
    }
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    26
}
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    27
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    28
// TextField inherits from TextEntryControl.
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    29
TextField.prototype = new TextEntryControl(UI_NO_INIT_ID);
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    30
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    31
// Initializer - called from constructor.
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    32
TextField.prototype.init = function(id, caption, value, masked) {
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    33
    uiLogger.debug("TextField.init(" + id + ", " + caption + ", " + value + ", " + masked + ")");
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    34
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    35
    // call superclass initializer
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    36
    TextEntryControl.prototype.init.call(this, id, caption);
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    37
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    38
    // create the peer element
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    39
    this.peerElement = document.createElement("input");
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    40
    this.peerElement.type = masked ? "password" : "text";
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    41
    this.controlElement.appendChild(this.peerElement);
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    42
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    43
    // set the value
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    44
    this.peerElement.value = (value == null) ? "" : value;
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    45
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    46
    // bind event listeners
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    47
    this.bindTextEntryControlListeners();
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    48
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    49
    // update the style
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    50
    this.updateStyleFromState();
102
30e0796f3ebb Warnings in new projects were fixed
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 73
diff changeset
    51
};
73
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    52
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    53
// Updates the style of the control to reflects the state of the control.
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    54
TextField.prototype.updateStyleFromState = function() {
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    55
    uiLogger.debug("TextField.updateStyleFromState()");
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    56
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    57
    // determine the state name
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    58
    var stateName = this.getStyleStateName();
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    59
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    60
    // set element class names
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    61
    this.setClassName(this.rootElement, "Control");
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    62
    this.setClassName(this.controlElement, "ControlElement");
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    63
    this.setClassName(this.assemblyElement, "ControlAssembly ControlAssembly" + stateName);
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    64
    this.setClassName(this.captionElement, "ControlCaption ControlCaption" + stateName);
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    65
    
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    66
    // set peer element class names
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    67
    var peerStateName = this.isEnabled() ? stateName : "Disabled";
c56c874eef47 Added WRTKit
tasneems@symbian.org
parents:
diff changeset
    68
    this.setClassName(this.peerElement, "TextField TextField" + peerStateName);
102
30e0796f3ebb Warnings in new projects were fixed
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 73
diff changeset
    69
};