mypackage_wrt/WRTKit/UI/TextPane.js
author victorp@symbian.org
Fri, 30 Apr 2010 15:01:03 +0100
changeset 42 20be4dd42b12
permissions -rwxr-xr-x
My package widget code
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     1
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     2
// Symbian Foundation Example Code
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     3
//
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     4
// This software is in the public domain. No copyright is claimed, and you 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     5
// may use it for any purpose without license from the Symbian Foundation.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     6
// No warranty for any purpose is expressed or implied by the authors or
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     7
// the Symbian Foundation. 
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     8
// ////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
     9
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    10
///////////////////////////////////////////////////////////////////////////////
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    11
// The TextPane class implements a control that displays HTML content.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    12
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    13
// Constructor.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    14
function TextPane(id, caption, text) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    15
    if (id != UI_NO_INIT_ID) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    16
        this.init(id, caption, text);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    17
    }
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    18
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    19
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    20
// TextPane inherits from Control.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    21
TextPane.prototype = new Control(UI_NO_INIT_ID);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    22
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    23
// Content element for TextPane text.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    24
TextPane.prototype.contentElement = null;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    25
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    26
// Initializer - called from constructor.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    27
TextPane.prototype.init = function(id, caption, text) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    28
    uiLogger.debug("TextPane.init(" + id + ", " + caption + ", " + text + ")");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    29
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    30
    // call superclass initializer
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    31
    Control.prototype.init.call(this, id, caption);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    32
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    33
    // create content element
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    34
    this.contentElement = document.createElement("div");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    35
    this.controlElement.appendChild(this.contentElement);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    36
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    37
    // set the text
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    38
    this.setText(text);
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    39
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    40
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    41
// Returns the enabled state for the control.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    42
TextPane.prototype.isEnabled = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    43
    return true;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    44
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    45
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    46
// Returns the focusable state for the control.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    47
TextPane.prototype.isFocusable = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    48
    return false;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    49
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    50
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    51
// Returns the control text.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    52
TextPane.prototype.getText = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    53
    return this.contentElement.innerHTML;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    54
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    55
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    56
// Sets the text for the control.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    57
TextPane.prototype.setText = function(text) {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    58
    uiLogger.debug("TextPane.setText(" + text + ")");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    59
    this.contentElement.innerHTML = (text == null) ? "" : text;
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    60
    this.updateStyleFromState();
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    61
}
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    62
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    63
// Updates the style of the control to reflects the state of the control.
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    64
TextPane.prototype.updateStyleFromState = function() {
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    65
    uiLogger.debug("TextPane.updateStyleFromState()");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    66
    
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    67
    // set element class names
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    68
    this.setClassName(this.rootElement, "TextPane");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    69
//    this.setClassName(this.assemblyElement, "ControlAssembly ControlAssemblyNormal");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    70
//    this.setClassName(this.captionElement, "ControlCaption ControlCaptionNormal");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    71
//    this.setClassName(this.controlElement, "ControlElement");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    72
//    this.setClassName(this.contentElement, "TextPane");
20be4dd42b12 My package widget code
victorp@symbian.org
parents:
diff changeset
    73
}