2 * QLIB 1.0 Text Label
\r
3 * Copyright (C) 2002 2003, Quazzle.com Serge Dolgov
\r
4 * This program is free software; you can redistribute it and/or
\r
5 * modify it under the terms of the GNU General Public License
\r
6 * as published by the Free Software Foundation; either version 2
\r
7 * of the License, or (at your option) any later version.
\r
8 * http://qlib.quazzle.com
\r
11 function QLabel_set_ie(value) {
\r
12 this.label.innerText = (this.value = value) || "\xA0";
\r
15 function QLabel_set_dom2(value) {
\r
17 replaceChild(this.document.createTextNode((this.value = value) || "\xA0"), firstChild);
\r
21 function QLabel_set_ns4(value) {
\r
22 this.value = value || "";
\r
25 document.write('<div class="qlabel">' + (clickable ? '<a href="#" title="' + tooltip + '" onClick="return ' +
\r
26 name + '.doEvent()" onMouseOut="window.top.status=\'\'" onMouseOver="window.top.status=' + name +
\r
27 '.tooltip;return true">' + value + '</a>' : value) + '</div>');
\r
32 function QLabel_doEvent() {
\r
33 this.onClick(this.value, this.tag);
\r
37 function QLabel(parent, name, value, clickable, tooltip) {
\r
38 this.init(parent, name);
\r
39 this.value = value || "";
\r
40 this.clickable = clickable || false;
\r
41 this.tooltip = tooltip || "";
\r
42 this.doEvent = QLabel_doEvent;
\r
43 this.onClick = QControl.event;
\r
45 if (document.getElementById || document.all) {
\r
46 document.write(clickable ? '<div class="qlabel" unselectable="on"><a id="' + id + '" href="#" title="' +
\r
47 tooltip + '" onClick="return ' + name + '.doEvent()" onMouseOver="window.top.status=' + name +
\r
48 '.tooltip;return true" onMouseOut="window.top.status=\'\'" hidefocus="true" unselectable="on">' +
\r
49 (value || ' ') + '</a></div>' : '<div id="' + id + '" class="qlabel" unselectable="on">' +
\r
50 (value || ' ') + '</div>');
\r
51 this.label = document.getElementById ? document.getElementById(id) :
\r
52 (document.all.item ? document.all.item(id) : document.all[id]);
\r
53 this.set = (label && (label.innerText ? QLabel_set_ie :
\r
54 (label.replaceChild && QLabel_set_dom2))) || QControl.nop;
\r
55 } else if (document.layers) {
\r
57 for (var j=value.length; j<QLabel.TEXTQUOTA; j++) suffix += " ";
\r
58 document.write('<div><ilayer id="i' + id + '"><layer id="' + id + '"><div class="qlabel">' +
\r
59 (clickable ? '<a href="#" title="' + tooltip + '" onClick="return ' + name +
\r
60 '.doEvent()" onMouseOver="window.top.status=' + name +
\r
61 '.tooltip;return true" onMouseOut="window.top.status=\'\'">' + value + suffix + '</a>' :
\r
62 value + suffix) + '</div></layer></ilayer></div>');
\r
63 this.label = (this.label = document.layers["i" + id]) && label.document.layers[id];
\r
64 this.document = label && label.document;
\r
65 this.set = (label && document) ? QLabel_set_ns4 : QControl.nop;
\r
67 document.write("Object is not supported");
\r
71 QLabel.prototype = new QControl();
\r
72 QLabel.TEXTQUOTA = 50;
\r