1 dump('entering util/widgets.js\n');
3 if (typeof util == 'undefined') var util = {};
6 util.widgets.EXPORT_OK = [
7 'get_list_from_tree_selection',
8 'disable_accesskeys_in_node_and_children',
9 'enable_accesskeys_in_node_and_children',
14 util.widgets.EXPORT_TAGS = { ':all' : util.widgets.EXPORT_OK };
16 util.widgets.make_menulist = function( items ) {
17 var menulist = document.createElement('menulist');
18 var menupopup = document.createElement('menupopup'); menulist.appendChild(menupopup);
19 for (var i = 0; i < items.length; i++) {
20 var menuitem = document.createElement('menuitem'); menupopup.appendChild(menuitem);
21 menuitem.setAttribute('label',items[i][0]);
22 menuitem.setAttribute('value',items[i][1]);
27 util.widgets.make_grid = function( cols ) {
28 var grid = document.createElement('grid');
29 var columns = document.createElement('columns'); grid.appendChild(columns);
30 for (var i = 0; i < cols.length; i++) {
31 var column = document.createElement('column'); columns.appendChild(column);
32 for (var j in cols[i]) {
33 column.setAttribute(j,cols[i][j]);
36 var rows = document.createElement('rows'); grid.appendChild(rows);
40 util.widgets.get_list_from_tree_selection = function(tree_w) {
42 if (typeof(tree_w) != 'object') {
43 tree = document.getElementById(tree_w);
48 var start = new Object();
49 var end = new Object();
50 var numRanges = tree.view.selection.getRangeCount();
51 for (var t=0; t<numRanges; t++){
52 tree.view.selection.getRangeAt(t,start,end);
53 for (var v=start.value; v<=end.value; v++){
54 var i = tree.contentView.getItemAtIndex(v);
61 util.widgets.remove_children = function(w) {
62 if (typeof w != 'object') w = document.getElementById(w);
63 while(w.lastChild) w.removeChild( w.lastChild );
66 util.widgets.disable_accesskeys_in_node_and_children = function( node ) {
67 if (node.getAttribute('accesskey')) {
68 node.setAttribute('oldaccesskey', node.getAttribute('accesskey'));
69 node.setAttribute('accesskey',''); node.accessKey = '';
71 for (var i = 0; i < node.childNodes.length; i++) {
72 util.widgets.disable_accesskeys_in_node_and_children( node.childNodes[i] );
74 dump('- node = <' + node.id + '> accesskey = <' + node.accessKey + '> accesskey = <' + node.getAttribute('accesskey') + '> oldaccesskey = <' + node.getAttribute('oldaccesskey') + '>\n');
77 util.widgets.enable_accesskeys_in_node_and_children = function( node ) {
78 if (node.getAttribute('oldaccesskey')) {
79 node.setAttribute('accesskey', node.getAttribute('oldaccesskey'));
80 node.accessKey = node.getAttribute('oldaccesskey');
81 node.setAttribute('oldaccesskey','');
83 for (var i = 0; i < node.childNodes.length; i++) {
84 util.widgets.enable_accesskeys_in_node_and_children( node.childNodes[i] );
86 dump('+ node = <' + node.id + '> accesskey = <' + node.accessKey + '> accesskey = <' + node.getAttribute('accesskey') + '> oldaccesskey = <' + node.getAttribute('oldaccesskey') + '>\n');
89 dump('exiting util/widgets.js\n');