summaryrefslogtreecommitdiff
path: root/cpp/doc/symboltree.js
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2007-01-15 07:30:37 +0000
committerMichi Henning <michi@zeroc.com>2007-01-15 07:30:37 +0000
commit396d6d01a6ba06044621735fd6aced2e490bc22f (patch)
treed0f1f2df09370cfcc08f348659ace3673bb769ba /cpp/doc/symboltree.js
parent*** empty log message *** (diff)
downloadice-396d6d01a6ba06044621735fd6aced2e490bc22f.tar.bz2
ice-396d6d01a6ba06044621735fd6aced2e490bc22f.tar.xz
ice-396d6d01a6ba06044621735fd6aced2e490bc22f.zip
*** empty log message ***
Diffstat (limited to 'cpp/doc/symboltree.js')
-rw-r--r--cpp/doc/symboltree.js45
1 files changed, 39 insertions, 6 deletions
diff --git a/cpp/doc/symboltree.js b/cpp/doc/symboltree.js
index e6d773d9579..f36c6b7a46d 100644
--- a/cpp/doc/symboltree.js
+++ b/cpp/doc/symboltree.js
@@ -57,7 +57,7 @@ symboltree.main = function()
//
// Attach an event listener to the widget.
//
- list[i].addEventListener('click', symboltree.handleEvent, false);
+ symboltree.addHandler(list[i], 'click', symboltree.handleEvent);
//
// The list starts out collapsed by default. Set state and class name, and
@@ -87,7 +87,7 @@ symboltree.main = function()
//
// Save expanded list indexes in cookie when page unloads.
//
- window.addEventListener('unload', symboltree.save, false);
+ symboltree.addHandler(window, 'unload', symboltree.save);
//
// Load state of list.
@@ -98,10 +98,10 @@ symboltree.main = function()
// Set handler for the "Expand All" and "Collapse All" buttons.
//
var expandAll = document.getElementById('ExpandAllButton');
- expandAll.addEventListener('click', symboltree.expandAll, false);
+ symboltree.addHandler(expandAll, 'click', symboltree.expandAll);
var collapseAll = document.getElementById('CollapseAllButton');
- collapseAll.addEventListener('click', symboltree.collapseAll, false);
+ symboltree.addHandler(collapseAll, 'click', symboltree.collapseAll);
}
//
@@ -110,14 +110,32 @@ symboltree.main = function()
symboltree.handleEvent = function(e)
{
var target;
+ if(!e)
+ {
+ e = window.event;
+ }
+
if(e.target)
{
target = e.target;
}
+ else if(e.currentTarget)
+ {
+ target = e.currentTarget;
+ }
else if(e.srcObject)
{
target = e.srcObject;
}
+ else if(e.srcElement)
+ {
+ target = e.srcElement;
+ }
+ if(!target)
+ {
+ alert('No target for event!');
+ }
+
if(!target.className || (target.className != 'CollapsedList' && target.className != 'ExpandedList'))
{
return; // Ignore event because it bubbled up from child element (namely, from a link in the list).
@@ -128,11 +146,11 @@ symboltree.handleEvent = function(e)
//
if(target.getAttribute('state') == 'expanded')
{
- symboltree.collapse(e.currentTarget);
+ symboltree.collapse(target);
}
else
{
- symboltree.expand(e.currentTarget);
+ symboltree.expand(target);
}
//
@@ -267,4 +285,19 @@ symboltree.restore = function()
}
}
+//
+// Add an event handler.
+//
+symboltree.addHandler = function(target, event, handler)
+{
+ if(target.addEventListener)
+ {
+ target.addEventListener(event, handler, false);
+ }
+ else
+ {
+ target.attachEvent('on' + event, handler);
+ }
+}
+
symboltree.main(); // Start running.