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