You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/07/16 21:14:56 UTC

svn commit: r794787 [29/34] - in /geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src: ./ animation/ cal/ charting/ charting/svg/ charting/vml/ collections/ crypto/ data/ data/core/ data/old/ data/old/format/ data/old/provider/ date/ debug/...

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNode.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNode.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNode.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNode.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,246 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeNode");
+dojo.require("dojo.html.*");
+dojo.require("dojo.event.*");
+dojo.require("dojo.io.*");
+dojo.widget.defineWidget("dojo.widget.TreeNode", dojo.widget.HtmlWidget, function () {
+	this.actionsDisabled = [];
+}, {widgetType:"TreeNode", loadStates:{UNCHECKED:"UNCHECKED", LOADING:"LOADING", LOADED:"LOADED"}, actions:{MOVE:"MOVE", REMOVE:"REMOVE", EDIT:"EDIT", ADDCHILD:"ADDCHILD"}, isContainer:true, lockLevel:0, templateString:("<div class=\"dojoTreeNode\"> " + "<span treeNode=\"${this.widgetId}\" class=\"dojoTreeNodeLabel\" dojoAttachPoint=\"labelNode\"> " + "\t\t<span dojoAttachPoint=\"titleNode\" dojoAttachEvent=\"onClick: onTitleClick\" class=\"dojoTreeNodeLabelTitle\">${this.title}</span> " + "</span> " + "<span class=\"dojoTreeNodeAfterLabel\" dojoAttachPoint=\"afterLabelNode\">${this.afterLabel}</span> " + "<div dojoAttachPoint=\"containerNode\" style=\"display:none\"></div> " + "</div>").replace(/(>|<)\s+/g, "$1"), childIconSrc:"", childIconFolderSrc:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/closed.gif"), childIconDocumentSrc:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/document.gif"), childIcon:null, isTreeNode:true, objectId:"", afterLabel:"", af
 terLabelNode:null, expandIcon:null, title:"", object:"", isFolder:false, labelNode:null, titleNode:null, imgs:null, expandLevel:"", tree:null, depth:0, isExpanded:false, state:null, domNodeInitialized:false, isFirstChild:function () {
+	return this.getParentIndex() == 0 ? true : false;
+}, isLastChild:function () {
+	return this.getParentIndex() == this.parent.children.length - 1 ? true : false;
+}, lock:function () {
+	return this.tree.lock.apply(this, arguments);
+}, unlock:function () {
+	return this.tree.unlock.apply(this, arguments);
+}, isLocked:function () {
+	return this.tree.isLocked.apply(this, arguments);
+}, cleanLock:function () {
+	return this.tree.cleanLock.apply(this, arguments);
+}, actionIsDisabled:function (action) {
+	var _this = this;
+	var disabled = false;
+	if (this.tree.strictFolders && action == this.actions.ADDCHILD && !this.isFolder) {
+		disabled = true;
+	}
+	if (dojo.lang.inArray(_this.actionsDisabled, action)) {
+		disabled = true;
+	}
+	if (this.isLocked()) {
+		disabled = true;
+	}
+	return disabled;
+}, getInfo:function () {
+	var info = {widgetId:this.widgetId, objectId:this.objectId, index:this.getParentIndex(), isFolder:this.isFolder};
+	return info;
+}, initialize:function (args, frag) {
+	this.state = this.loadStates.UNCHECKED;
+	for (var i = 0; i < this.actionsDisabled.length; i++) {
+		this.actionsDisabled[i] = this.actionsDisabled[i].toUpperCase();
+	}
+	this.expandLevel = parseInt(this.expandLevel);
+}, adjustDepth:function (depthDiff) {
+	for (var i = 0; i < this.children.length; i++) {
+		this.children[i].adjustDepth(depthDiff);
+	}
+	this.depth += depthDiff;
+	if (depthDiff > 0) {
+		for (var i = 0; i < depthDiff; i++) {
+			var img = this.tree.makeBlankImg();
+			this.imgs.unshift(img);
+			dojo.html.insertBefore(this.imgs[0], this.domNode.firstChild);
+		}
+	}
+	if (depthDiff < 0) {
+		for (var i = 0; i < -depthDiff; i++) {
+			this.imgs.shift();
+			dojo.html.removeNode(this.domNode.firstChild);
+		}
+	}
+}, markLoading:function () {
+	this._markLoadingSavedIcon = this.expandIcon.src;
+	this.expandIcon.src = this.tree.expandIconSrcLoading;
+}, unMarkLoading:function () {
+	if (!this._markLoadingSavedIcon) {
+		return;
+	}
+	var im = new Image();
+	im.src = this.tree.expandIconSrcLoading;
+	if (this.expandIcon.src == im.src) {
+		this.expandIcon.src = this._markLoadingSavedIcon;
+	}
+	this._markLoadingSavedIcon = null;
+}, setFolder:function () {
+	dojo.event.connect(this.expandIcon, "onclick", this, "onTreeClick");
+	this.expandIcon.src = this.isExpanded ? this.tree.expandIconSrcMinus : this.tree.expandIconSrcPlus;
+	this.isFolder = true;
+}, createDOMNode:function (tree, depth) {
+	this.tree = tree;
+	this.depth = depth;
+	this.imgs = [];
+	for (var i = 0; i < this.depth + 1; i++) {
+		var img = this.tree.makeBlankImg();
+		this.domNode.insertBefore(img, this.labelNode);
+		this.imgs.push(img);
+	}
+	this.expandIcon = this.imgs[this.imgs.length - 1];
+	this.childIcon = this.tree.makeBlankImg();
+	this.imgs.push(this.childIcon);
+	dojo.html.insertBefore(this.childIcon, this.titleNode);
+	if (this.children.length || this.isFolder) {
+		this.setFolder();
+	} else {
+		this.state = this.loadStates.LOADED;
+	}
+	dojo.event.connect(this.childIcon, "onclick", this, "onIconClick");
+	for (var i = 0; i < this.children.length; i++) {
+		this.children[i].parent = this;
+		var node = this.children[i].createDOMNode(this.tree, this.depth + 1);
+		this.containerNode.appendChild(node);
+	}
+	if (this.children.length) {
+		this.state = this.loadStates.LOADED;
+	}
+	this.updateIcons();
+	this.domNodeInitialized = true;
+	dojo.event.topic.publish(this.tree.eventNames.createDOMNode, {source:this});
+	return this.domNode;
+}, onTreeClick:function (e) {
+	dojo.event.topic.publish(this.tree.eventNames.treeClick, {source:this, event:e});
+}, onIconClick:function (e) {
+	dojo.event.topic.publish(this.tree.eventNames.iconClick, {source:this, event:e});
+}, onTitleClick:function (e) {
+	dojo.event.topic.publish(this.tree.eventNames.titleClick, {source:this, event:e});
+}, markSelected:function () {
+	dojo.html.addClass(this.titleNode, "dojoTreeNodeLabelSelected");
+}, unMarkSelected:function () {
+	dojo.html.removeClass(this.titleNode, "dojoTreeNodeLabelSelected");
+}, updateExpandIcon:function () {
+	if (this.isFolder) {
+		this.expandIcon.src = this.isExpanded ? this.tree.expandIconSrcMinus : this.tree.expandIconSrcPlus;
+	} else {
+		this.expandIcon.src = this.tree.blankIconSrc;
+	}
+}, updateExpandGrid:function () {
+	if (this.tree.showGrid) {
+		if (this.depth) {
+			this.setGridImage(-2, this.isLastChild() ? this.tree.gridIconSrcL : this.tree.gridIconSrcT);
+		} else {
+			if (this.isFirstChild()) {
+				this.setGridImage(-2, this.isLastChild() ? this.tree.gridIconSrcX : this.tree.gridIconSrcY);
+			} else {
+				this.setGridImage(-2, this.isLastChild() ? this.tree.gridIconSrcL : this.tree.gridIconSrcT);
+			}
+		}
+	} else {
+		this.setGridImage(-2, this.tree.blankIconSrc);
+	}
+}, updateChildGrid:function () {
+	if ((this.depth || this.tree.showRootGrid) && this.tree.showGrid) {
+		this.setGridImage(-1, (this.children.length && this.isExpanded) ? this.tree.gridIconSrcP : this.tree.gridIconSrcC);
+	} else {
+		if (this.tree.showGrid && !this.tree.showRootGrid) {
+			this.setGridImage(-1, (this.children.length && this.isExpanded) ? this.tree.gridIconSrcZ : this.tree.blankIconSrc);
+		} else {
+			this.setGridImage(-1, this.tree.blankIconSrc);
+		}
+	}
+}, updateParentGrid:function () {
+	var parent = this.parent;
+	for (var i = 0; i < this.depth; i++) {
+		var idx = this.imgs.length - (3 + i);
+		var img = (this.tree.showGrid && !parent.isLastChild()) ? this.tree.gridIconSrcV : this.tree.blankIconSrc;
+		this.setGridImage(idx, img);
+		parent = parent.parent;
+	}
+}, updateExpandGridColumn:function () {
+	if (!this.tree.showGrid) {
+		return;
+	}
+	var _this = this;
+	var icon = this.isLastChild() ? this.tree.blankIconSrc : this.tree.gridIconSrcV;
+	dojo.lang.forEach(_this.getDescendants(), function (node) {
+		node.setGridImage(_this.depth, icon);
+	});
+	this.updateExpandGrid();
+}, updateIcons:function () {
+	this.imgs[0].style.display = this.tree.showRootGrid ? "inline" : "none";
+	this.buildChildIcon();
+	this.updateExpandGrid();
+	this.updateChildGrid();
+	this.updateParentGrid();
+	dojo.profile.stop("updateIcons");
+}, buildChildIcon:function () {
+	if (this.childIconSrc) {
+		this.childIcon.src = this.childIconSrc;
+	}
+	this.childIcon.style.display = this.childIconSrc ? "inline" : "none";
+}, setGridImage:function (idx, src) {
+	if (idx < 0) {
+		idx = this.imgs.length + idx;
+	}
+	this.imgs[idx].style.backgroundImage = "url(" + src + ")";
+}, updateIconTree:function () {
+	this.tree.updateIconTree.call(this);
+}, expand:function () {
+	if (this.isExpanded) {
+		return;
+	}
+	if (this.children.length) {
+		this.showChildren();
+	}
+	this.isExpanded = true;
+	this.updateExpandIcon();
+	dojo.event.topic.publish(this.tree.eventNames.expand, {source:this});
+}, collapse:function () {
+	if (!this.isExpanded) {
+		return;
+	}
+	this.hideChildren();
+	this.isExpanded = false;
+	this.updateExpandIcon();
+	dojo.event.topic.publish(this.tree.eventNames.collapse, {source:this});
+}, hideChildren:function () {
+	this.tree.toggleObj.hide(this.containerNode, this.toggleDuration, this.explodeSrc, dojo.lang.hitch(this, "onHide"));
+	if (dojo.exists(dojo, "dnd.dragManager.dragObjects") && dojo.dnd.dragManager.dragObjects.length) {
+		dojo.dnd.dragManager.cacheTargetLocations();
+	}
+}, showChildren:function () {
+	this.tree.toggleObj.show(this.containerNode, this.toggleDuration, this.explodeSrc, dojo.lang.hitch(this, "onShow"));
+	if (dojo.exists(dojo, "dnd.dragManager.dragObjects") && dojo.dnd.dragManager.dragObjects.length) {
+		dojo.dnd.dragManager.cacheTargetLocations();
+	}
+}, addChild:function () {
+	return this.tree.addChild.apply(this, arguments);
+}, doAddChild:function () {
+	return this.tree.doAddChild.apply(this, arguments);
+}, edit:function (props) {
+	dojo.lang.mixin(this, props);
+	if (props.title) {
+		this.titleNode.innerHTML = this.title;
+	}
+	if (props.afterLabel) {
+		this.afterLabelNode.innerHTML = this.afterLabel;
+	}
+	if (props.childIconSrc) {
+		this.buildChildIcon();
+	}
+}, removeNode:function () {
+	return this.tree.removeNode.apply(this, arguments);
+}, doRemoveNode:function () {
+	return this.tree.doRemoveNode.apply(this, arguments);
+}, toString:function () {
+	return "[" + this.widgetType + " Tree:" + this.tree + " ID:" + this.widgetId + " Title:" + this.title + "]";
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNode.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNode.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNode.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNodeV3.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNodeV3.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNodeV3.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNodeV3.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,310 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeNodeV3");
+dojo.require("dojo.html.*");
+dojo.require("dojo.event.*");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.TreeWithNode");
+dojo.widget.defineWidget("dojo.widget.TreeNodeV3", [dojo.widget.HtmlWidget, dojo.widget.TreeWithNode], function () {
+	this.actionsDisabled = [];
+	this.object = {};
+}, {tryLazyInit:true, actions:{MOVE:"MOVE", DETACH:"DETACH", EDIT:"EDIT", ADDCHILD:"ADDCHILD", SELECT:"SELECT"}, labelClass:"", contentClass:"", expandNode:null, labelNode:null, nodeDocType:"", selected:false, getnodeDocType:function () {
+	return this.nodeDocType;
+}, cloneProperties:["actionsDisabled", "tryLazyInit", "nodeDocType", "objectId", "object", "title", "isFolder", "isExpanded", "state"], clone:function (deep) {
+	var ret = new this.constructor();
+	for (var i = 0; i < this.cloneProperties.length; i++) {
+		var prop = this.cloneProperties[i];
+		ret[prop] = dojo.lang.shallowCopy(this[prop], true);
+	}
+	if (this.tree.unsetFolderOnEmpty && !deep && this.isFolder) {
+		ret.isFolder = false;
+	}
+	ret.toggleObj = this.toggleObj;
+	dojo.widget.manager.add(ret);
+	ret.tree = this.tree;
+	ret.buildRendering({}, {});
+	ret.initialize({}, {});
+	if (deep && this.children.length) {
+		for (var i = 0; i < this.children.length; i++) {
+			var child = this.children[i];
+			if (child.clone) {
+				ret.children.push(child.clone(deep));
+			} else {
+				ret.children.push(dojo.lang.shallowCopy(child, deep));
+			}
+		}
+		ret.setChildren();
+	}
+	return ret;
+}, markProcessing:function () {
+	this.markProcessingSavedClass = dojo.html.getClass(this.expandNode);
+	dojo.html.setClass(this.expandNode, this.tree.classPrefix + "ExpandLoading");
+}, unmarkProcessing:function () {
+	dojo.html.setClass(this.expandNode, this.markProcessingSavedClass);
+}, buildRendering:function (args, fragment, parent) {
+	if (args.tree) {
+		this.tree = dojo.lang.isString(args.tree) ? dojo.widget.manager.getWidgetById(args.tree) : args.tree;
+	} else {
+		if (parent && parent.tree) {
+			this.tree = parent.tree;
+		}
+	}
+	if (!this.tree) {
+		dojo.raise("Can't evaluate tree from arguments or parent");
+	}
+	this.domNode = this.tree.nodeTemplate.cloneNode(true);
+	this.expandNode = this.domNode.firstChild;
+	this.contentNode = this.domNode.childNodes[1];
+	this.labelNode = this.contentNode.firstChild;
+	if (this.labelClass) {
+		dojo.html.addClass(this.labelNode, this.labelClass);
+	}
+	if (this.contentClass) {
+		dojo.html.addClass(this.contentNode, this.contentClass);
+	}
+	this.domNode.widgetId = this.widgetId;
+	this.labelNode.innerHTML = this.title;
+}, isTreeNode:true, object:{}, title:"", isFolder:null, contentNode:null, expandClass:"", isExpanded:false, containerNode:null, getInfo:function () {
+	var info = {widgetId:this.widgetId, objectId:this.objectId, index:this.getParentIndex()};
+	return info;
+}, setFolder:function () {
+	this.isFolder = true;
+	this.viewSetExpand();
+	if (!this.containerNode) {
+		this.viewAddContainer();
+	}
+	dojo.event.topic.publish(this.tree.eventNames.afterSetFolder, {source:this});
+}, initialize:function (args, frag, parent) {
+	if (args.isFolder) {
+		this.isFolder = true;
+	}
+	if (this.children.length || this.isFolder) {
+		this.setFolder();
+	} else {
+		this.viewSetExpand();
+	}
+	for (var i = 0; i < this.actionsDisabled.length; i++) {
+		this.actionsDisabled[i] = this.actionsDisabled[i].toUpperCase();
+	}
+	dojo.event.topic.publish(this.tree.eventNames.afterChangeTree, {oldTree:null, newTree:this.tree, node:this});
+}, unsetFolder:function () {
+	this.isFolder = false;
+	this.viewSetExpand();
+	dojo.event.topic.publish(this.tree.eventNames.afterUnsetFolder, {source:this});
+}, insertNode:function (parent, index) {
+	if (!index) {
+		index = 0;
+	}
+	if (index == 0) {
+		dojo.html.prependChild(this.domNode, parent.containerNode);
+	} else {
+		dojo.html.insertAfter(this.domNode, parent.children[index - 1].domNode);
+	}
+}, updateTree:function (newTree) {
+	if (this.tree === newTree) {
+		return;
+	}
+	var oldTree = this.tree;
+	dojo.lang.forEach(this.getDescendants(), function (elem) {
+		elem.tree = newTree;
+	});
+	if (oldTree.classPrefix != newTree.classPrefix) {
+		var stack = [this.domNode];
+		var elem;
+		var reg = new RegExp("(^|\\s)" + oldTree.classPrefix, "g");
+		while (elem = stack.pop()) {
+			for (var i = 0; i < elem.childNodes.length; i++) {
+				var childNode = elem.childNodes[i];
+				if (childNode.nodeDocType != 1) {
+					continue;
+				}
+				dojo.html.setClass(childNode, dojo.html.getClass(childNode).replace(reg, "$1" + newTree.classPrefix));
+				stack.push(childNode);
+			}
+		}
+	}
+	var message = {oldTree:oldTree, newTree:newTree, node:this};
+	dojo.event.topic.publish(this.tree.eventNames.afterChangeTree, message);
+	dojo.event.topic.publish(newTree.eventNames.afterChangeTree, message);
+}, addedTo:function (parent, index, dontPublishEvent) {
+	if (this.tree !== parent.tree) {
+		this.updateTree(parent.tree);
+	}
+	if (parent.isTreeNode) {
+		if (!parent.isFolder) {
+			parent.setFolder();
+			parent.state = parent.loadStates.LOADED;
+		}
+	}
+	var siblingsCount = parent.children.length;
+	this.insertNode(parent, index);
+	this.viewAddLayout();
+	if (siblingsCount > 1) {
+		if (index == 0 && parent.children[1] instanceof dojo.widget.Widget) {
+			parent.children[1].viewUpdateLayout();
+		}
+		if (index == siblingsCount - 1 && parent.children[siblingsCount - 2] instanceof dojo.widget.Widget) {
+			parent.children[siblingsCount - 2].viewUpdateLayout();
+		}
+	} else {
+		if (parent.isTreeNode) {
+			parent.viewSetHasChildren();
+		}
+	}
+	if (!dontPublishEvent) {
+		var message = {child:this, index:index, parent:parent};
+		dojo.event.topic.publish(this.tree.eventNames.afterAddChild, message);
+	}
+}, createSimple:function (args, parent) {
+	if (args.tree) {
+		var tree = args.tree;
+	} else {
+		if (parent) {
+			var tree = parent.tree;
+		} else {
+			dojo.raise("createSimple: can't evaluate tree");
+		}
+	}
+	tree = dojo.widget.byId(tree);
+	var treeNode = new tree.defaultChildWidget();
+	for (var x in args) {
+		treeNode[x] = args[x];
+	}
+	treeNode.toggleObj = dojo.lfx.toggle[treeNode.toggle.toLowerCase()] || dojo.lfx.toggle.plain;
+	dojo.widget.manager.add(treeNode);
+	treeNode.buildRendering(args, {}, parent);
+	treeNode.initialize(args, {}, parent);
+	if (treeNode.parent) {
+		delete dojo.widget.manager.topWidgets[treeNode.widgetId];
+	}
+	return treeNode;
+}, viewUpdateLayout:function () {
+	this.viewRemoveLayout();
+	this.viewAddLayout();
+}, viewAddContainer:function () {
+	this.containerNode = this.tree.containerNodeTemplate.cloneNode(true);
+	this.domNode.appendChild(this.containerNode);
+}, viewAddLayout:function () {
+	if (this.parent["isTree"]) {
+		dojo.html.setClass(this.domNode, dojo.html.getClass(this.domNode) + " " + this.tree.classPrefix + "IsRoot");
+	}
+	if (this.isLastChild()) {
+		dojo.html.setClass(this.domNode, dojo.html.getClass(this.domNode) + " " + this.tree.classPrefix + "IsLast");
+	}
+}, viewRemoveLayout:function () {
+	dojo.html.removeClass(this.domNode, this.tree.classPrefix + "IsRoot");
+	dojo.html.removeClass(this.domNode, this.tree.classPrefix + "IsLast");
+}, viewGetExpandClass:function () {
+	if (this.isFolder) {
+		return this.isExpanded ? "ExpandOpen" : "ExpandClosed";
+	} else {
+		return "ExpandLeaf";
+	}
+}, viewSetExpand:function () {
+	var expand = this.tree.classPrefix + this.viewGetExpandClass();
+	var reg = new RegExp("(^|\\s)" + this.tree.classPrefix + "Expand\\w+", "g");
+	dojo.html.setClass(this.domNode, dojo.html.getClass(this.domNode).replace(reg, "") + " " + expand);
+	this.viewSetHasChildrenAndExpand();
+}, viewGetChildrenClass:function () {
+	return "Children" + (this.children.length ? "Yes" : "No");
+}, viewSetHasChildren:function () {
+	var clazz = this.tree.classPrefix + this.viewGetChildrenClass();
+	var reg = new RegExp("(^|\\s)" + this.tree.classPrefix + "Children\\w+", "g");
+	dojo.html.setClass(this.domNode, dojo.html.getClass(this.domNode).replace(reg, "") + " " + clazz);
+	this.viewSetHasChildrenAndExpand();
+}, viewSetHasChildrenAndExpand:function () {
+	var clazz = this.tree.classPrefix + "State" + this.viewGetChildrenClass() + "-" + this.viewGetExpandClass();
+	var reg = new RegExp("(^|\\s)" + this.tree.classPrefix + "State[\\w-]+", "g");
+	dojo.html.setClass(this.domNode, dojo.html.getClass(this.domNode).replace(reg, "") + " " + clazz);
+}, viewUnfocus:function () {
+	dojo.html.removeClass(this.labelNode, this.tree.classPrefix + "LabelFocused");
+}, viewFocus:function () {
+	dojo.html.addClass(this.labelNode, this.tree.classPrefix + "LabelFocused");
+}, viewEmphasize:function () {
+	dojo.html.clearSelection(this.labelNode);
+	dojo.html.addClass(this.labelNode, this.tree.classPrefix + "NodeEmphasized");
+}, viewUnemphasize:function () {
+	dojo.html.removeClass(this.labelNode, this.tree.classPrefix + "NodeEmphasized");
+}, detach:function () {
+	if (!this.parent) {
+		return;
+	}
+	var parent = this.parent;
+	var index = this.getParentIndex();
+	this.doDetach.apply(this, arguments);
+	dojo.event.topic.publish(this.tree.eventNames.afterDetach, {child:this, parent:parent, index:index});
+}, doDetach:function () {
+	var parent = this.parent;
+	if (!parent) {
+		return;
+	}
+	var index = this.getParentIndex();
+	this.viewRemoveLayout();
+	dojo.widget.DomWidget.prototype.removeChild.call(parent, this);
+	var siblingsCount = parent.children.length;
+	if (siblingsCount > 0) {
+		if (index == 0) {
+			parent.children[0].viewUpdateLayout();
+		}
+		if (index == siblingsCount) {
+			parent.children[siblingsCount - 1].viewUpdateLayout();
+		}
+	} else {
+		if (parent.isTreeNode) {
+			parent.viewSetHasChildren();
+		}
+	}
+	if (this.tree.unsetFolderOnEmpty && !parent.children.length && parent.isTreeNode) {
+		parent.unsetFolder();
+	}
+	this.parent = null;
+}, destroy:function () {
+	dojo.event.topic.publish(this.tree.eventNames.beforeNodeDestroy, {source:this});
+	this.detach();
+	return dojo.widget.HtmlWidget.prototype.destroy.apply(this, arguments);
+}, expand:function () {
+	if (this.isExpanded) {
+		return;
+	}
+	if (this.tryLazyInit) {
+		this.setChildren();
+		this.tryLazyInit = false;
+	}
+	this.isExpanded = true;
+	this.viewSetExpand();
+	this.showChildren();
+}, collapse:function () {
+	if (!this.isExpanded) {
+		return;
+	}
+	this.isExpanded = false;
+	this.hideChildren();
+}, hideChildren:function () {
+	this.tree.toggleObj.hide(this.containerNode, this.tree.toggleDuration, this.explodeSrc, dojo.lang.hitch(this, "onHideChildren"));
+}, showChildren:function () {
+	this.tree.toggleObj.show(this.containerNode, this.tree.toggleDuration, this.explodeSrc, dojo.lang.hitch(this, "onShowChildren"));
+}, onShowChildren:function () {
+	this.onShow();
+	dojo.event.topic.publish(this.tree.eventNames.afterExpand, {source:this});
+}, onHideChildren:function () {
+	this.viewSetExpand();
+	this.onHide();
+	dojo.event.topic.publish(this.tree.eventNames.afterCollapse, {source:this});
+}, setTitle:function (title) {
+	var oldTitle = this.title;
+	this.labelNode.innerHTML = this.title = title;
+	dojo.event.topic.publish(this.tree.eventNames.afterSetTitle, {source:this, oldTitle:oldTitle});
+}, toString:function () {
+	return "[" + this.widgetType + ", " + this.title + "]";
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNodeV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNodeV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeNodeV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRPCController.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRPCController.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRPCController.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRPCController.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,72 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeRPCController");
+dojo.require("dojo.event.*");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.TreeLoadingController");
+dojo.widget.defineWidget("dojo.widget.TreeRPCController", dojo.widget.TreeLoadingController, {doMove:function (child, newParent, index) {
+	var params = {child:this.getInfo(child), childTree:this.getInfo(child.tree), newParent:this.getInfo(newParent), newParentTree:this.getInfo(newParent.tree), newIndex:index};
+	var success;
+	this.runRPC({url:this.getRPCUrl("move"), load:function (response) {
+		success = this.doMoveProcessResponse(response, child, newParent, index);
+	}, sync:true, lock:[child, newParent], params:params});
+	return success;
+}, doMoveProcessResponse:function (response, child, newParent, index) {
+	if (!dojo.lang.isUndefined(response.error)) {
+		this.RPCErrorHandler("server", response.error);
+		return false;
+	}
+	var args = [child, newParent, index];
+	return dojo.widget.TreeLoadingController.prototype.doMove.apply(this, args);
+}, doRemoveNode:function (node, callObj, callFunc) {
+	var params = {node:this.getInfo(node), tree:this.getInfo(node.tree)};
+	this.runRPC({url:this.getRPCUrl("removeNode"), load:function (response) {
+		this.doRemoveNodeProcessResponse(response, node, callObj, callFunc);
+	}, params:params, lock:[node]});
+}, doRemoveNodeProcessResponse:function (response, node, callObj, callFunc) {
+	if (!dojo.lang.isUndefined(response.error)) {
+		this.RPCErrorHandler("server", response.error);
+		return false;
+	}
+	if (!response) {
+		return false;
+	}
+	if (response == true) {
+		var args = [node, callObj, callFunc];
+		dojo.widget.TreeLoadingController.prototype.doRemoveNode.apply(this, args);
+		return;
+	} else {
+		if (dojo.lang.isObject(response)) {
+			dojo.raise(response.error);
+		} else {
+			dojo.raise("Invalid response " + response);
+		}
+	}
+}, doCreateChild:function (parent, index, output, callObj, callFunc) {
+	var params = {tree:this.getInfo(parent.tree), parent:this.getInfo(parent), index:index, data:output};
+	this.runRPC({url:this.getRPCUrl("createChild"), load:function (response) {
+		this.doCreateChildProcessResponse(response, parent, index, callObj, callFunc);
+	}, params:params, lock:[parent]});
+}, doCreateChildProcessResponse:function (response, parent, index, callObj, callFunc) {
+	if (!dojo.lang.isUndefined(response.error)) {
+		this.RPCErrorHandler("server", response.error);
+		return false;
+	}
+	if (!dojo.lang.isObject(response)) {
+		dojo.raise("Invalid result " + response);
+	}
+	var args = [parent, index, response, callObj, callFunc];
+	dojo.widget.TreeLoadingController.prototype.doCreateChild.apply(this, args);
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRPCController.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRPCController.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRPCController.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRpcControllerV3.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRpcControllerV3.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRpcControllerV3.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRpcControllerV3.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,182 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeRpcControllerV3");
+dojo.require("dojo.event.*");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.TreeLoadingControllerV3");
+dojo.widget.defineWidget("dojo.widget.TreeRpcControllerV3", dojo.widget.TreeLoadingControllerV3, {extraRpcOnEdit:false, doMove:function (child, newParent, index, sync) {
+	var params = {child:this.getInfo(child), childTree:this.getInfo(child.tree), oldParent:this.getInfo(child.parent), oldParentTree:this.getInfo(child.parent.tree), newParent:this.getInfo(newParent), newParentTree:this.getInfo(newParent.tree), newIndex:index};
+	var deferred = this.runRpc({url:this.getRpcUrl("move"), sync:sync, params:params});
+	var _this = this;
+	var args = arguments;
+	deferred.addCallback(function () {
+		dojo.widget.TreeBasicControllerV3.prototype.doMove.apply(_this, args);
+	});
+	return deferred;
+}, prepareDetach:function (node, sync) {
+	var deferred = this.startProcessing(node);
+	return deferred;
+}, finalizeDetach:function (node) {
+	this.finishProcessing(node);
+}, doDetach:function (node, sync) {
+	var params = {node:this.getInfo(node), tree:this.getInfo(node.tree)};
+	var deferred = this.runRpc({url:this.getRpcUrl("detach"), sync:sync, params:params});
+	var _this = this;
+	var args = arguments;
+	deferred.addCallback(function () {
+		dojo.widget.TreeBasicControllerV3.prototype.doDetach.apply(_this, args);
+	});
+	return deferred;
+}, requestEditConfirmation:function (node, action, sync) {
+	if (!this.extraRpcOnEdit) {
+		return dojo.Deferred.prototype.makeCalled();
+	}
+	var _this = this;
+	var deferred = this.startProcessing(node);
+	var params = {node:this.getInfo(node), tree:this.getInfo(node.tree)};
+	deferred.addCallback(function () {
+		return _this.runRpc({url:_this.getRpcUrl(action), sync:sync, params:params});
+	});
+	deferred.addBoth(function (r) {
+		_this.finishProcessing(node);
+		return r;
+	});
+	return deferred;
+}, editLabelSave:function (node, newContent, sync) {
+	var deferred = this.startProcessing(node);
+	var _this = this;
+	var params = {node:this.getInfo(node), tree:this.getInfo(node.tree), newContent:newContent};
+	deferred.addCallback(function () {
+		return _this.runRpc({url:_this.getRpcUrl("editLabelSave"), sync:sync, params:params});
+	});
+	deferred.addBoth(function (r) {
+		_this.finishProcessing(node);
+		return r;
+	});
+	return deferred;
+}, editLabelStart:function (node, sync) {
+	if (!this.canEditLabel(node)) {
+		return false;
+	}
+	var _this = this;
+	if (!this.editor.isClosed()) {
+		var deferred = this.editLabelFinish(this.editor.saveOnBlur, sync);
+		deferred.addCallback(function () {
+			return _this.editLabelStart(node, sync);
+		});
+		return deferred;
+	}
+	var deferred = this.requestEditConfirmation(node, "editLabelStart", sync);
+	deferred.addCallback(function () {
+		_this.doEditLabelStart(node);
+	});
+	return deferred;
+}, editLabelFinish:function (save, sync) {
+	var _this = this;
+	var node = this.editor.node;
+	var deferred = dojo.Deferred.prototype.makeCalled();
+	if (!save && !node.isPhantom) {
+		deferred = this.requestEditConfirmation(this.editor.node, "editLabelFinishCancel", sync);
+	}
+	if (save) {
+		if (node.isPhantom) {
+			deferred = this.sendCreateChildRequest(node.parent, node.getParentIndex(), {title:this.editor.getContents()}, sync);
+		} else {
+			deferred = this.editLabelSave(node, this.editor.getContents(), sync);
+		}
+	}
+	deferred.addCallback(function (server_data) {
+		_this.doEditLabelFinish(save, server_data);
+	});
+	deferred.addErrback(function (r) {
+		_this.doEditLabelFinish(false);
+		return false;
+	});
+	return deferred;
+}, createAndEdit:function (parent, index, sync) {
+	var data = {title:parent.tree.defaultChildTitle};
+	if (!this.canCreateChild(parent, index, data)) {
+		return false;
+	}
+	if (!this.editor.isClosed()) {
+		var deferred = this.editLabelFinish(this.editor.saveOnBlur, sync);
+		deferred.addCallback(function () {
+			return _this.createAndEdit(parent, index, sync);
+		});
+		return deferred;
+	}
+	var _this = this;
+	var deferred = this.prepareCreateChild(parent, index, data, sync);
+	deferred.addCallback(function () {
+		var child = _this.makeDefaultNode(parent, index);
+		child.isPhantom = true;
+		return child;
+	});
+	deferred.addBoth(function (r) {
+		_this.finalizeCreateChild(parent, index, data, sync);
+		return r;
+	});
+	deferred.addCallback(function (child) {
+		var d = _this.exposeCreateChild(parent, index, data, sync);
+		d.addCallback(function () {
+			return child;
+		});
+		return d;
+	});
+	deferred.addCallback(function (child) {
+		_this.doEditLabelStart(child);
+		return child;
+	});
+	return deferred;
+}, prepareDestroyChild:function (node, sync) {
+	var deferred = this.startProcessing(node);
+	return deferred;
+}, finalizeDestroyChild:function (node) {
+	this.finishProcessing(node);
+}, doDestroyChild:function (node, sync) {
+	var params = {node:this.getInfo(node), tree:this.getInfo(node.tree)};
+	var deferred = this.runRpc({url:this.getRpcUrl("destroyChild"), sync:sync, params:params});
+	var _this = this;
+	var args = arguments;
+	deferred.addCallback(function () {
+		dojo.widget.TreeBasicControllerV3.prototype.doDestroyChild.apply(_this, args);
+	});
+	return deferred;
+}, sendCreateChildRequest:function (parent, index, data, sync) {
+	var params = {tree:this.getInfo(parent.tree), parent:this.getInfo(parent), index:index, data:data};
+	var deferred = this.runRpc({url:this.getRpcUrl("createChild"), sync:sync, params:params});
+	return deferred;
+}, doCreateChild:function (parent, index, data, sync) {
+	if (dojo.lang.isUndefined(data.title)) {
+		data.title = parent.tree.defaultChildTitle;
+	}
+	var deferred = this.sendCreateChildRequest(parent, index, data, sync);
+	var _this = this;
+	var args = arguments;
+	deferred.addCallback(function (server_data) {
+		dojo.lang.mixin(data, server_data);
+		return dojo.widget.TreeBasicControllerV3.prototype.doCreateChild.call(_this, parent, index, data);
+	});
+	return deferred;
+}, doClone:function (child, newParent, index, deep, sync) {
+	var params = {child:this.getInfo(child), oldParent:this.getInfo(child.parent), oldParentTree:this.getInfo(child.parent.tree), newParent:this.getInfo(newParent), newParentTree:this.getInfo(newParent.tree), index:index, deep:deep ? true : false, tree:this.getInfo(child.tree)};
+	var deferred = this.runRpc({url:this.getRpcUrl("clone"), sync:sync, params:params});
+	var _this = this;
+	var args = arguments;
+	deferred.addCallback(function () {
+		dojo.widget.TreeBasicControllerV3.prototype.doClone.apply(_this, args);
+	});
+	return deferred;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRpcControllerV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRpcControllerV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeRpcControllerV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelector.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelector.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelector.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelector.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,102 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeSelector");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.widget.defineWidget("dojo.widget.TreeSelector", dojo.widget.HtmlWidget, function () {
+	this.eventNames = {};
+	this.listenedTrees = [];
+}, {widgetType:"TreeSelector", selectedNode:null, dieWithTree:false, eventNamesDefault:{select:"select", destroy:"destroy", deselect:"deselect", dblselect:"dblselect"}, initialize:function () {
+	for (var name in this.eventNamesDefault) {
+		if (dojo.lang.isUndefined(this.eventNames[name])) {
+			this.eventNames[name] = this.widgetId + "/" + this.eventNamesDefault[name];
+		}
+	}
+}, destroy:function () {
+	dojo.event.topic.publish(this.eventNames.destroy, {source:this});
+	return dojo.widget.HtmlWidget.prototype.destroy.apply(this, arguments);
+}, listenTree:function (tree) {
+	dojo.event.topic.subscribe(tree.eventNames.titleClick, this, "select");
+	dojo.event.topic.subscribe(tree.eventNames.iconClick, this, "select");
+	dojo.event.topic.subscribe(tree.eventNames.collapse, this, "onCollapse");
+	dojo.event.topic.subscribe(tree.eventNames.moveFrom, this, "onMoveFrom");
+	dojo.event.topic.subscribe(tree.eventNames.removeNode, this, "onRemoveNode");
+	dojo.event.topic.subscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");
+	this.listenedTrees.push(tree);
+}, unlistenTree:function (tree) {
+	dojo.event.topic.unsubscribe(tree.eventNames.titleClick, this, "select");
+	dojo.event.topic.unsubscribe(tree.eventNames.iconClick, this, "select");
+	dojo.event.topic.unsubscribe(tree.eventNames.collapse, this, "onCollapse");
+	dojo.event.topic.unsubscribe(tree.eventNames.moveFrom, this, "onMoveFrom");
+	dojo.event.topic.unsubscribe(tree.eventNames.removeNode, this, "onRemoveNode");
+	dojo.event.topic.unsubscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");
+	for (var i = 0; i < this.listenedTrees.length; i++) {
+		if (this.listenedTrees[i] === tree) {
+			this.listenedTrees.splice(i, 1);
+			break;
+		}
+	}
+}, onTreeDestroy:function (message) {
+	this.unlistenTree(message.source);
+	if (this.dieWithTree) {
+		this.destroy();
+	}
+}, onCollapse:function (message) {
+	if (!this.selectedNode) {
+		return;
+	}
+	var node = message.source;
+	var parent = this.selectedNode.parent;
+	while (parent !== node && parent.isTreeNode) {
+		parent = parent.parent;
+	}
+	if (parent.isTreeNode) {
+		this.deselect();
+	}
+}, select:function (message) {
+	var node = message.source;
+	var e = message.event;
+	if (this.selectedNode === node) {
+		if (e.ctrlKey || e.shiftKey || e.metaKey) {
+			this.deselect();
+			return;
+		}
+		dojo.event.topic.publish(this.eventNames.dblselect, {node:node});
+		return;
+	}
+	if (this.selectedNode) {
+		this.deselect();
+	}
+	this.doSelect(node);
+	dojo.event.topic.publish(this.eventNames.select, {node:node});
+}, onMoveFrom:function (message) {
+	if (message.child !== this.selectedNode) {
+		return;
+	}
+	if (!dojo.lang.inArray(this.listenedTrees, message.newTree)) {
+		this.deselect();
+	}
+}, onRemoveNode:function (message) {
+	if (message.child !== this.selectedNode) {
+		return;
+	}
+	this.deselect();
+}, doSelect:function (node) {
+	node.markSelected();
+	this.selectedNode = node;
+}, deselect:function () {
+	var node = this.selectedNode;
+	this.selectedNode = null;
+	node.unMarkSelected();
+	dojo.event.topic.publish(this.eventNames.deselect, {node:node});
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelector.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelector.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelector.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelectorV3.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelectorV3.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelectorV3.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelectorV3.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,160 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeSelectorV3");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeCommon");
+dojo.widget.defineWidget("dojo.widget.TreeSelectorV3", [dojo.widget.HtmlWidget, dojo.widget.TreeCommon], function () {
+	this.eventNames = {};
+	this.listenedTrees = {};
+	this.selectedNodes = [];
+	this.lastClicked = {};
+}, {listenTreeEvents:["afterTreeCreate", "afterCollapse", "afterChangeTree", "afterDetach", "beforeTreeDestroy"], listenNodeFilter:function (elem) {
+	return elem instanceof dojo.widget.Widget;
+}, allowedMulti:true, dblselectTimeout:300, eventNamesDefault:{select:"select", deselect:"deselect", dblselect:"dblselect"}, onAfterTreeCreate:function (message) {
+	var tree = message.source;
+	dojo.event.browser.addListener(tree.domNode, "onclick", dojo.lang.hitch(this, this.onTreeClick));
+	if (dojo.render.html.ie) {
+		dojo.event.browser.addListener(tree.domNode, "ondblclick", dojo.lang.hitch(this, this.onTreeDblClick));
+	}
+	dojo.event.browser.addListener(tree.domNode, "onKey", dojo.lang.hitch(this, this.onKey));
+}, onKey:function (e) {
+	if (!e.key || e.ctrkKey || e.altKey) {
+		return;
+	}
+	switch (e.key) {
+	  case e.KEY_ENTER:
+		var node = this.domElement2TreeNode(e.target);
+		if (node) {
+			this.processNode(node, e);
+		}
+	}
+}, onAfterChangeTree:function (message) {
+	if (!message.oldTree && message.node.selected) {
+		this.select(message.node);
+	}
+	if (!message.newTree || !this.listenedTrees[message.newTree.widgetId]) {
+		if (this.selectedNode && message.node.children) {
+			this.deselectIfAncestorMatch(message.node);
+		}
+	}
+}, initialize:function (args) {
+	for (var name in this.eventNamesDefault) {
+		if (dojo.lang.isUndefined(this.eventNames[name])) {
+			this.eventNames[name] = this.widgetId + "/" + this.eventNamesDefault[name];
+		}
+	}
+}, onBeforeTreeDestroy:function (message) {
+	this.unlistenTree(message.source);
+}, onAfterCollapse:function (message) {
+	this.deselectIfAncestorMatch(message.source);
+}, onTreeDblClick:function (event) {
+	this.onTreeClick(event);
+}, checkSpecialEvent:function (event) {
+	return event.shiftKey || event.ctrlKey;
+}, onTreeClick:function (event) {
+	var node = this.domElement2TreeNode(event.target);
+	if (!node) {
+		return;
+	}
+	var checkLabelClick = function (domElement) {
+		return domElement === node.labelNode;
+	};
+	if (this.checkPathCondition(event.target, checkLabelClick)) {
+		this.processNode(node, event);
+	}
+}, processNode:function (node, event) {
+	if (node.actionIsDisabled(node.actions.SELECT)) {
+		return;
+	}
+	if (dojo.lang.inArray(this.selectedNodes, node)) {
+		if (this.checkSpecialEvent(event)) {
+			this.deselect(node);
+			return;
+		}
+		var _this = this;
+		var i = 0;
+		var selectedNode;
+		while (this.selectedNodes.length > i) {
+			selectedNode = this.selectedNodes[i];
+			if (selectedNode !== node) {
+				this.deselect(selectedNode);
+				continue;
+			}
+			i++;
+		}
+		var wasJustClicked = this.checkRecentClick(node);
+		eventName = wasJustClicked ? this.eventNames.dblselect : this.eventNames.select;
+		if (wasJustClicked) {
+			eventName = this.eventNames.dblselect;
+			this.forgetLastClicked();
+		} else {
+			eventName = this.eventNames.select;
+			this.setLastClicked(node);
+		}
+		dojo.event.topic.publish(eventName, {node:node});
+		return;
+	}
+	this.deselectIfNoMulti(event);
+	this.setLastClicked(node);
+	this.select(node);
+}, forgetLastClicked:function () {
+	this.lastClicked = {};
+}, setLastClicked:function (node) {
+	this.lastClicked.date = new Date();
+	this.lastClicked.node = node;
+}, checkRecentClick:function (node) {
+	var diff = new Date() - this.lastClicked.date;
+	if (this.lastClicked.node && diff < this.dblselectTimeout) {
+		return true;
+	} else {
+		return false;
+	}
+}, deselectIfNoMulti:function (event) {
+	if (!this.checkSpecialEvent(event) || !this.allowedMulti) {
+		this.deselectAll();
+	}
+}, deselectIfAncestorMatch:function (ancestor) {
+	var _this = this;
+	dojo.lang.forEach(this.selectedNodes, function (node) {
+		var selectedNode = node;
+		node = node.parent;
+		while (node && node.isTreeNode) {
+			if (node === ancestor) {
+				_this.deselect(selectedNode);
+				return;
+			}
+			node = node.parent;
+		}
+	});
+}, onAfterDetach:function (message) {
+	this.deselectIfAncestorMatch(message.child);
+}, select:function (node) {
+	var index = dojo.lang.find(this.selectedNodes, node, true);
+	if (index >= 0) {
+		return;
+	}
+	this.selectedNodes.push(node);
+	dojo.event.topic.publish(this.eventNames.select, {node:node});
+}, deselect:function (node) {
+	var index = dojo.lang.find(this.selectedNodes, node, true);
+	if (index < 0) {
+		return;
+	}
+	this.selectedNodes.splice(index, 1);
+	dojo.event.topic.publish(this.eventNames.deselect, {node:node});
+}, deselectAll:function () {
+	while (this.selectedNodes.length) {
+		this.deselect(this.selectedNodes[0]);
+	}
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelectorV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelectorV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeSelectorV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeTimeoutIterator.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeTimeoutIterator.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeTimeoutIterator.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeTimeoutIterator.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,88 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeTimeoutIterator");
+dojo.require("dojo.event.*");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.TreeCommon");
+dojo.declare("dojo.widget.TreeTimeoutIterator", null, function (elem, callFunc, callObj) {
+	var _this = this;
+	this.currentParent = elem;
+	this.callFunc = callFunc;
+	this.callObj = callObj ? callObj : this;
+	this.stack = [];
+}, {maxStackDepth:Number.POSITIVE_INFINITY, stack:null, currentParent:null, currentIndex:0, filterFunc:function () {
+	return true;
+}, finishFunc:function () {
+	return true;
+}, setFilter:function (func, obj) {
+	this.filterFunc = func;
+	this.filterObj = obj;
+}, setMaxLevel:function (level) {
+	this.maxStackDepth = level - 2;
+}, forward:function (timeout) {
+	var _this = this;
+	if (this.timeout) {
+		var tid = setTimeout(function () {
+			_this.processNext();
+			clearTimeout(tid);
+		}, _this.timeout);
+	} else {
+		return this.processNext();
+	}
+}, start:function (processFirst) {
+	if (processFirst) {
+		return this.callFunc.call(this.callObj, this.currentParent, this);
+	}
+	return this.processNext();
+}, processNext:function () {
+	var handler;
+	var _this = this;
+	var found;
+	var next;
+	if (this.maxStackDepth == -2) {
+		return;
+	}
+	while (true) {
+		var children = this.currentParent.children;
+		if (children && children.length) {
+			do {
+				next = children[this.currentIndex];
+			} while (this.currentIndex++ < children.length && !(found = this.filterFunc.call(this.filterObj, next)));
+			if (found) {
+				if (next.isFolder && this.stack.length <= this.maxStackDepth) {
+					this.moveParent(next, 0);
+				}
+				return this.callFunc.call(this.callObj, next, this);
+			}
+		}
+		if (this.stack.length) {
+			this.popParent();
+			continue;
+		}
+		break;
+	}
+	return this.finishFunc.call(this.finishObj);
+}, setFinish:function (func, obj) {
+	this.finishFunc = func;
+	this.finishObj = obj;
+}, popParent:function () {
+	var p = this.stack.pop();
+	this.currentParent = p[0];
+	this.currentIndex = p[1];
+}, moveParent:function (nextParent, nextIndex) {
+	this.stack.push([this.currentParent, this.currentIndex]);
+	this.currentParent = nextParent;
+	this.currentIndex = nextIndex;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeTimeoutIterator.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeTimeoutIterator.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeTimeoutIterator.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeToggleOnSelect.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeToggleOnSelect.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeToggleOnSelect.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeToggleOnSelect.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,23 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeToggleOnSelect");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.widget.defineWidget("dojo.widget.TreeToggleOnSelect", dojo.widget.HtmlWidget, {selector:"", controller:"", selectEvent:"select", initialize:function () {
+	this.selector = dojo.widget.byId(this.selector);
+	this.controller = dojo.widget.byId(this.controller);
+	dojo.event.topic.subscribe(this.selector.eventNames[this.selectEvent], this, "onSelectEvent");
+}, onSelectEvent:function (message) {
+	var node = message.node;
+	node.isExpanded ? this.controller.collapse(node) : this.controller.expand(node);
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeToggleOnSelect.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeToggleOnSelect.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeToggleOnSelect.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeV3.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeV3.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeV3.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeV3.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,135 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.TreeV3");
+dojo.require("dojo.widget.TreeWithNode");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.event.*");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeNodeV3");
+dojo.widget.defineWidget("dojo.widget.TreeV3", [dojo.widget.HtmlWidget, dojo.widget.TreeWithNode], function () {
+	this.eventNames = {};
+	this.DndAcceptTypes = [];
+	this.actionsDisabled = [];
+	this.listeners = [];
+	this.tree = this;
+}, {DndMode:"", defaultChildWidget:null, defaultChildTitle:"New Node", eagerWidgetInstantiation:false, eventNamesDefault:{afterTreeCreate:"afterTreeCreate", beforeTreeDestroy:"beforeTreeDestroy", beforeNodeDestroy:"beforeNodeDestroy", afterChangeTree:"afterChangeTree", afterSetFolder:"afterSetFolder", afterUnsetFolder:"afterUnsetFolder", beforeMoveFrom:"beforeMoveFrom", beforeMoveTo:"beforeMoveTo", afterMoveFrom:"afterMoveFrom", afterMoveTo:"afterMoveTo", afterAddChild:"afterAddChild", afterDetach:"afterDetach", afterExpand:"afterExpand", beforeExpand:"beforeExpand", afterSetTitle:"afterSetTitle", afterCollapse:"afterCollapse", beforeCollapse:"beforeCollapse"}, classPrefix:"Tree", style:"", allowAddChildToLeaf:true, unsetFolderOnEmpty:true, DndModes:{BETWEEN:1, ONTO:2}, DndAcceptTypes:"", templateCssString:"/* indent for all tree children excepts root */\n.TreeNode {\n	background-image : url('../templates/images/TreeV3/i.gif');\n	background-position : top left;\n	background-
 repeat : repeat-y;\n	margin-left: 19px;\n	zoom: 1;\n}\n.TreeIsRoot {\n	margin-left: 0;\n}\n \n/* left vertical line (grid) for all nodes */\n.TreeIsLast {\n	background-image: url('../templates/images/TreeV3/i_half.gif');\n	background-repeat : no-repeat;\n}\n \n.TreeExpandOpen .TreeExpand {\n	background-image: url('../templates/images/TreeV3/expand_minus.gif');\n}\n \n/* closed is higher priority than open */\n.TreeExpandClosed .TreeExpand {\n	background-image: url('../templates/images/TreeV3/expand_plus.gif');\n}\n \n/* highest priority */\n.TreeExpandLeaf .TreeExpand {\n	background-image: url('../templates/images/TreeV3/expand_leaf.gif');\n}\n\n/* \nshould always override any expand setting, but do not touch children.\nif I add .TreeExpand .TreeExpandLoading same time and put it to top/bottom, then it will take precedence over +- for all descendants or always fail\nso I have to remove TreeExpand and process this one specifically\n*/\n\n.TreeExpandLoading   {\n	width: 18px;\
 n	height: 18px;\n	float: left;\n	display: inline;\n	background-repeat : no-repeat;\n	background-image: url('../templates/images/TreeV3/expand_loading.gif');\n}\n \n.TreeContent {\n	min-height: 18px;\n	min-width: 18px;\n	margin-left:18px;\n	cursor: default;\n	/* can't make inline - multiline bugs */\n}\n\n.TreeIEContent {\n\theight: 18px;\n}\n \n.TreeExpand {\n	width: 18px;\n	height: 18px;\n	float: left;\n	display: inline;\n	background-repeat : no-repeat;\n}\n \n/* same style as IE selection */\n.TreeNodeEmphasized {\n	background-color: Highlight;\n	color: HighlightText;\n}\n \n.TreeContent .RichTextEditable, .TreeContent .RichTextEditable iframe {\n	  background-color: #ffc;\n	  color: black;\n}\n\n/* don't use :focus due to opera's lack of support on div's */\n.TreeLabelFocused {\n	  outline: 1px invert dotted;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/TreeV3.css"), templateString:"<div style=\"${this.style}\">\n</div>", isExpanded:true, isTree:tru
 e, createNode:function (data) {
+	data.tree = this.widgetId;
+	if (data.widgetName) {
+		return dojo.widget.createWidget(data.widgetName, data);
+	} else {
+		if (this.defaultChildWidget.prototype.createSimple) {
+			return this.defaultChildWidget.prototype.createSimple(data);
+		} else {
+			var ns = this.defaultChildWidget.prototype.ns;
+			var wt = this.defaultChildWidget.prototype.widgetType;
+			return dojo.widget.createWidget(ns + ":" + wt, data);
+		}
+	}
+}, makeNodeTemplate:function () {
+	var domNode = document.createElement("div");
+	dojo.html.setClass(domNode, this.classPrefix + "Node " + this.classPrefix + "ExpandLeaf " + this.classPrefix + "ChildrenNo");
+	this.nodeTemplate = domNode;
+	var expandNode = document.createElement("div");
+	var clazz = this.classPrefix + "Expand";
+	if (dojo.render.html.ie) {
+		clazz = clazz + " " + this.classPrefix + "IEExpand";
+	}
+	dojo.html.setClass(expandNode, clazz);
+	this.expandNodeTemplate = expandNode;
+	var labelNode = document.createElement("span");
+	dojo.html.setClass(labelNode, this.classPrefix + "Label");
+	this.labelNodeTemplate = labelNode;
+	var contentNode = document.createElement("div");
+	var clazz = this.classPrefix + "Content";
+	if (dojo.render.html.ie && !dojo.render.html.ie70) {
+		clazz = clazz + " " + this.classPrefix + "IEContent";
+	}
+	dojo.html.setClass(contentNode, clazz);
+	this.contentNodeTemplate = contentNode;
+	domNode.appendChild(expandNode);
+	domNode.appendChild(contentNode);
+	contentNode.appendChild(labelNode);
+}, makeContainerNodeTemplate:function () {
+	var div = document.createElement("div");
+	div.style.display = "none";
+	dojo.html.setClass(div, this.classPrefix + "Container");
+	this.containerNodeTemplate = div;
+}, actions:{ADDCHILD:"ADDCHILD"}, getInfo:function () {
+	var info = {widgetId:this.widgetId, objectId:this.objectId};
+	return info;
+}, adjustEventNames:function () {
+	for (var name in this.eventNamesDefault) {
+		if (dojo.lang.isUndefined(this.eventNames[name])) {
+			this.eventNames[name] = this.widgetId + "/" + this.eventNamesDefault[name];
+		}
+	}
+}, adjustDndMode:function () {
+	var _this = this;
+	var DndMode = 0;
+	dojo.lang.forEach(this.DndMode.split(";"), function (elem) {
+		var mode = _this.DndModes[dojo.string.trim(elem).toUpperCase()];
+		if (mode) {
+			DndMode = DndMode | mode;
+		}
+	});
+	this.DndMode = DndMode;
+}, destroy:function () {
+	dojo.event.topic.publish(this.tree.eventNames.beforeTreeDestroy, {source:this});
+	return dojo.widget.HtmlWidget.prototype.destroy.apply(this, arguments);
+}, initialize:function (args) {
+	this.domNode.widgetId = this.widgetId;
+	for (var i = 0; i < this.actionsDisabled.length; i++) {
+		this.actionsDisabled[i] = this.actionsDisabled[i].toUpperCase();
+	}
+	if (!args.defaultChildWidget) {
+		this.defaultChildWidget = dojo.widget.TreeNodeV3;
+	} else {
+		this.defaultChildWidget = dojo.lang.getObjPathValue(args.defaultChildWidget);
+	}
+	this.adjustEventNames();
+	this.adjustDndMode();
+	this.makeNodeTemplate();
+	this.makeContainerNodeTemplate();
+	this.containerNode = this.domNode;
+	dojo.html.setClass(this.domNode, this.classPrefix + "Container");
+	var _this = this;
+	dojo.lang.forEach(this.listeners, function (elem) {
+		var t = dojo.lang.isString(elem) ? dojo.widget.byId(elem) : elem;
+		t.listenTree(_this);
+	});
+}, postCreate:function () {
+	dojo.event.topic.publish(this.eventNames.afterTreeCreate, {source:this});
+}, move:function (child, newParent, index) {
+	if (!child.parent) {
+		dojo.raise(this.widgetType + ": child can be moved only while it's attached");
+	}
+	var oldParent = child.parent;
+	var oldTree = child.tree;
+	var oldIndex = child.getParentIndex();
+	var newTree = newParent.tree;
+	var newParent = newParent;
+	var newIndex = index;
+	var message = {oldParent:oldParent, oldTree:oldTree, oldIndex:oldIndex, newParent:newParent, newTree:newTree, newIndex:newIndex, child:child};
+	dojo.event.topic.publish(oldTree.eventNames.beforeMoveFrom, message);
+	dojo.event.topic.publish(newTree.eventNames.beforeMoveTo, message);
+	this.doMove.apply(this, arguments);
+	dojo.event.topic.publish(oldTree.eventNames.afterMoveFrom, message);
+	dojo.event.topic.publish(newTree.eventNames.afterMoveTo, message);
+}, doMove:function (child, newParent, index) {
+	child.doDetach();
+	newParent.doAddChild(child, index);
+}, toString:function () {
+	return "[" + this.widgetType + " ID:" + this.widgetId + "]";
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeWithNode.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeWithNode.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeWithNode.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeWithNode.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,115 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.require("dojo.lang.declare");
+dojo.provide("dojo.widget.TreeWithNode");
+dojo.declare("dojo.widget.TreeWithNode", null, function () {
+}, {loadStates:{UNCHECKED:"UNCHECKED", LOADING:"LOADING", LOADED:"LOADED"}, state:"UNCHECKED", objectId:"", isContainer:true, lockLevel:0, lock:function () {
+	this.lockLevel++;
+}, unlock:function () {
+	if (!this.lockLevel) {
+		dojo.raise(this.widgetType + " unlock: not locked");
+	}
+	this.lockLevel--;
+}, expandLevel:0, loadLevel:0, hasLock:function () {
+	return this.lockLevel > 0;
+}, isLocked:function () {
+	var node = this;
+	while (true) {
+		if (node.lockLevel) {
+			return true;
+		}
+		if (!node.parent || node.isTree) {
+			break;
+		}
+		node = node.parent;
+	}
+	return false;
+}, flushLock:function () {
+	this.lockLevel = 0;
+}, actionIsDisabled:function (action) {
+	var disabled = false;
+	if (dojo.lang.inArray(this.actionsDisabled, action)) {
+		disabled = true;
+	}
+	if (this.isTreeNode) {
+		if (!this.tree.allowAddChildToLeaf && action == this.actions.ADDCHILD && !this.isFolder) {
+			disabled = true;
+		}
+	}
+	return disabled;
+}, actionIsDisabledNow:function (action) {
+	return this.actionIsDisabled(action) || this.isLocked();
+}, setChildren:function (childrenArray) {
+	if (this.isTreeNode && !this.isFolder) {
+		this.setFolder();
+	} else {
+		if (this.isTreeNode) {
+			this.state = this.loadStates.LOADED;
+		}
+	}
+	var hadChildren = this.children.length > 0;
+	if (hadChildren && childrenArray) {
+		this.destroyChildren();
+	}
+	if (childrenArray) {
+		this.children = childrenArray;
+	}
+	var hasChildren = this.children.length > 0;
+	if (this.isTreeNode && hasChildren != hadChildren) {
+		this.viewSetHasChildren();
+	}
+	for (var i = 0; i < this.children.length; i++) {
+		var child = this.children[i];
+		if (!(child instanceof dojo.widget.Widget)) {
+			child = this.children[i] = this.tree.createNode(child);
+			var childWidgetCreated = true;
+		} else {
+			var childWidgetCreated = false;
+		}
+		if (!child.parent) {
+			child.parent = this;
+			if (this.tree !== child.tree) {
+				child.updateTree(this.tree);
+			}
+			child.viewAddLayout();
+			this.containerNode.appendChild(child.domNode);
+			var message = {child:child, index:i, parent:this, childWidgetCreated:childWidgetCreated};
+			delete dojo.widget.manager.topWidgets[child.widgetId];
+			dojo.event.topic.publish(this.tree.eventNames.afterAddChild, message);
+		}
+		if (this.tree.eagerWidgetInstantiation) {
+			dojo.lang.forEach(this.children, function (child) {
+				child.setChildren();
+			});
+		}
+	}
+}, doAddChild:function (child, index) {
+	return this.addChild(child, index, true);
+}, addChild:function (child, index, dontPublishEvent) {
+	if (dojo.lang.isUndefined(index)) {
+		index = this.children.length;
+	}
+	if (!child.isTreeNode) {
+		dojo.raise("You can only add TreeNode widgets to a " + this.widgetType + " widget!");
+		return;
+	}
+	this.children.splice(index, 0, child);
+	child.parent = this;
+	child.addedTo(this, index, dontPublishEvent);
+	delete dojo.widget.manager.topWidgets[child.widgetId];
+}, onShow:function () {
+	this.animationInProgress = false;
+}, onHide:function () {
+	this.animationInProgress = false;
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeWithNode.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeWithNode.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/TreeWithNode.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/UsTextbox.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/UsTextbox.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/UsTextbox.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/UsTextbox.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,36 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.UsTextbox");
+dojo.require("dojo.widget.ValidationTextbox");
+dojo.require("dojo.validate.us");
+dojo.widget.defineWidget("dojo.widget.UsStateTextbox", dojo.widget.ValidationTextbox, {mixInProperties:function (localProperties) {
+	dojo.widget.UsStateTextbox.superclass.mixInProperties.apply(this, arguments);
+	if (localProperties.allowterritories) {
+		this.flags.allowTerritories = (localProperties.allowterritories == "true");
+	}
+	if (localProperties.allowmilitary) {
+		this.flags.allowMilitary = (localProperties.allowmilitary == "true");
+	}
+}, isValid:function () {
+	return dojo.validate.us.isState(this.textbox.value, this.flags);
+}});
+dojo.widget.defineWidget("dojo.widget.UsZipTextbox", dojo.widget.ValidationTextbox, {isValid:function () {
+	return dojo.validate.us.isZipCode(this.textbox.value);
+}});
+dojo.widget.defineWidget("dojo.widget.UsSocialSecurityNumberTextbox", dojo.widget.ValidationTextbox, {isValid:function () {
+	return dojo.validate.us.isSocialSecurityNumber(this.textbox.value);
+}});
+dojo.widget.defineWidget("dojo.widget.UsPhoneNumberTextbox", dojo.widget.ValidationTextbox, {isValid:function () {
+	return dojo.validate.us.isPhoneNumber(this.textbox.value);
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/UsTextbox.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/UsTextbox.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/UsTextbox.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ValidationTextbox.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ValidationTextbox.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ValidationTextbox.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ValidationTextbox.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,124 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.ValidationTextbox");
+dojo.require("dojo.widget.Textbox");
+dojo.require("dojo.i18n.common");
+dojo.widget.defineWidget("dojo.widget.ValidationTextbox", dojo.widget.Textbox, function () {
+	this.flags = {};
+}, {required:false, rangeClass:"range", invalidClass:"invalid", missingClass:"missing", classPrefix:"dojoValidate", size:"", maxlength:"", promptMessage:"", invalidMessage:"", missingMessage:"", rangeMessage:"", listenOnKeyPress:true, htmlfloat:"none", lastCheckedValue:null, templateString:"<span style='float:${this.htmlfloat};'>\n\t<input dojoAttachPoint='textbox' type='${this.type}' dojoAttachEvent='onblur;onfocus;onkeyup'\n\t\tid='${this.widgetId}' name='${this.name}' size='${this.size}' maxlength='${this.maxlength}'\n\t\tclass='${this.className}' style=''>\n\t<span dojoAttachPoint='invalidSpan' class='${this.invalidClass}'>${this.messages.invalidMessage}</span>\n\t<span dojoAttachPoint='missingSpan' class='${this.missingClass}'>${this.messages.missingMessage}</span>\n\t<span dojoAttachPoint='rangeSpan' class='${this.rangeClass}'>${this.messages.rangeMessage}</span>\n</span>\n", templateCssString:".dojoValidateEmpty{\n\tbackground-color: #00FFFF;\n}\n.dojoValidateValid{\n
 \tbackground-color: #cfc;\n}\n.dojoValidateInvalid{\n\tbackground-color: #fcc;\n}\n.dojoValidateRange{\n\tbackground-color: #ccf;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Validate.css"), invalidSpan:null, missingSpan:null, rangeSpan:null, getValue:function () {
+	return this.textbox.value;
+}, setValue:function (value) {
+	this.textbox.value = value;
+	this.update();
+}, isValid:function () {
+	return true;
+}, isInRange:function () {
+	return true;
+}, isEmpty:function () {
+	return (/^\s*$/.test(this.textbox.value));
+}, isMissing:function () {
+	return (this.required && this.isEmpty());
+}, update:function () {
+	this.lastCheckedValue = this.textbox.value;
+	this.missingSpan.style.display = "none";
+	this.invalidSpan.style.display = "none";
+	this.rangeSpan.style.display = "none";
+	var empty = this.isEmpty();
+	var valid = true;
+	if (this.promptMessage != this.textbox.value) {
+		valid = this.isValid();
+	}
+	var missing = this.isMissing();
+	if (missing) {
+		this.missingSpan.style.display = "";
+	} else {
+		if (!empty && !valid) {
+			this.invalidSpan.style.display = "";
+		} else {
+			if (!empty && !this.isInRange()) {
+				this.rangeSpan.style.display = "";
+			}
+		}
+	}
+	this.highlight();
+}, updateClass:function (className) {
+	var pre = this.classPrefix;
+	dojo.html.removeClass(this.textbox, pre + "Empty");
+	dojo.html.removeClass(this.textbox, pre + "Valid");
+	dojo.html.removeClass(this.textbox, pre + "Invalid");
+	dojo.html.addClass(this.textbox, pre + className);
+}, highlight:function () {
+	if (this.isEmpty()) {
+		this.updateClass("Empty");
+	} else {
+		if (this.isValid() && this.isInRange()) {
+			this.updateClass("Valid");
+		} else {
+			if (this.textbox.value != this.promptMessage) {
+				this.updateClass("Invalid");
+			} else {
+				this.updateClass("Empty");
+			}
+		}
+	}
+}, onfocus:function (evt) {
+	if (!this.listenOnKeyPress) {
+		this.updateClass("Empty");
+	}
+}, onblur:function (evt) {
+	this.filter();
+	this.update();
+}, onkeyup:function (evt) {
+	if (this.listenOnKeyPress) {
+		this.update();
+	} else {
+		if (this.textbox.value != this.lastCheckedValue) {
+			this.updateClass("Empty");
+		}
+	}
+}, postMixInProperties:function (localProperties, frag) {
+	dojo.widget.ValidationTextbox.superclass.postMixInProperties.apply(this, arguments);
+	this.messages = dojo.i18n.getLocalization("dojo.widget", "validate", this.lang);
+	dojo.lang.forEach(["invalidMessage", "missingMessage", "rangeMessage"], function (prop) {
+		if (this[prop]) {
+			this.messages[prop] = this[prop];
+		}
+	}, this);
+}, fillInTemplate:function () {
+	dojo.widget.ValidationTextbox.superclass.fillInTemplate.apply(this, arguments);
+	this.textbox.isValid = function () {
+		this.isValid.call(this);
+	};
+	this.textbox.isMissing = function () {
+		this.isMissing.call(this);
+	};
+	this.textbox.isInRange = function () {
+		this.isInRange.call(this);
+	};
+	dojo.html.setClass(this.invalidSpan, this.invalidClass);
+	this.update();
+	this.filter();
+	if (dojo.render.html.ie) {
+		dojo.html.addClass(this.domNode, "ie");
+	}
+	if (dojo.render.html.moz) {
+		dojo.html.addClass(this.domNode, "moz");
+	}
+	if (dojo.render.html.opera) {
+		dojo.html.addClass(this.domNode, "opera");
+	}
+	if (dojo.render.html.safari) {
+		dojo.html.addClass(this.domNode, "safari");
+	}
+}});
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ValidationTextbox.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ValidationTextbox.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/ValidationTextbox.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Widget.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Widget.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Widget.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Widget.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,312 @@
+/*
+	Copyright (c) 2004-2006, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.widget.Widget");
+dojo.require("dojo.lang.func");
+dojo.require("dojo.lang.array");
+dojo.require("dojo.lang.extras");
+dojo.require("dojo.lang.declare");
+dojo.require("dojo.ns");
+dojo.require("dojo.widget.Manager");
+dojo.require("dojo.event.*");
+dojo.require("dojo.a11y");
+dojo.declare("dojo.widget.Widget", null, function () {
+	this.children = [];
+	this.extraArgs = {};
+}, {parent:null, isTopLevel:false, disabled:false, isContainer:false, widgetId:"", widgetType:"Widget", ns:"dojo", getNamespacedType:function () {
+	return (this.ns ? this.ns + ":" + this.widgetType : this.widgetType).toLowerCase();
+}, toString:function () {
+	return "[Widget " + this.getNamespacedType() + ", " + (this.widgetId || "NO ID") + "]";
+}, repr:function () {
+	return this.toString();
+}, enable:function () {
+	this.disabled = false;
+}, disable:function () {
+	this.disabled = true;
+}, onResized:function () {
+	this.notifyChildrenOfResize();
+}, notifyChildrenOfResize:function () {
+	for (var i = 0; i < this.children.length; i++) {
+		var child = this.children[i];
+		if (child.onResized) {
+			child.onResized();
+		}
+	}
+}, create:function (args, fragment, parent, ns) {
+	if (ns) {
+		this.ns = ns;
+	}
+	this.satisfyPropertySets(args, fragment, parent);
+	this.mixInProperties(args, fragment, parent);
+	this.postMixInProperties(args, fragment, parent);
+	dojo.widget.manager.add(this);
+	this.buildRendering(args, fragment, parent);
+	this.initialize(args, fragment, parent);
+	this.postInitialize(args, fragment, parent);
+	this.postCreate(args, fragment, parent);
+	return this;
+}, destroy:function (finalize) {
+	if (this.parent) {
+		this.parent.removeChild(this);
+	}
+	this.destroyChildren();
+	this.uninitialize();
+	this.destroyRendering(finalize);
+	dojo.widget.manager.removeById(this.widgetId);
+}, destroyChildren:function () {
+	var widget;
+	var i = 0;
+	while (this.children.length > i) {
+		widget = this.children[i];
+		if (widget instanceof dojo.widget.Widget) {
+			this.removeChild(widget);
+			widget.destroy();
+			continue;
+		}
+		i++;
+	}
+}, getChildrenOfType:function (type, recurse) {
+	var ret = [];
+	var isFunc = dojo.lang.isFunction(type);
+	if (!isFunc) {
+		type = type.toLowerCase();
+	}
+	for (var x = 0; x < this.children.length; x++) {
+		if (isFunc) {
+			if (this.children[x] instanceof type) {
+				ret.push(this.children[x]);
+			}
+		} else {
+			if (this.children[x].widgetType.toLowerCase() == type) {
+				ret.push(this.children[x]);
+			}
+		}
+		if (recurse) {
+			ret = ret.concat(this.children[x].getChildrenOfType(type, recurse));
+		}
+	}
+	return ret;
+}, getDescendants:function () {
+	var result = [];
+	var stack = [this];
+	var elem;
+	while ((elem = stack.pop())) {
+		result.push(elem);
+		if (elem.children) {
+			dojo.lang.forEach(elem.children, function (elem) {
+				stack.push(elem);
+			});
+		}
+	}
+	return result;
+}, isFirstChild:function () {
+	return this === this.parent.children[0];
+}, isLastChild:function () {
+	return this === this.parent.children[this.parent.children.length - 1];
+}, satisfyPropertySets:function (args) {
+	return args;
+}, mixInProperties:function (args, frag) {
+	if ((args["fastMixIn"]) || (frag["fastMixIn"])) {
+		for (var x in args) {
+			this[x] = args[x];
+		}
+		return;
+	}
+	var undef;
+	var lcArgs = dojo.widget.lcArgsCache[this.widgetType];
+	if (lcArgs == null) {
+		lcArgs = {};
+		for (var y in this) {
+			lcArgs[((new String(y)).toLowerCase())] = y;
+		}
+		dojo.widget.lcArgsCache[this.widgetType] = lcArgs;
+	}
+	var visited = {};
+	for (var x in args) {
+		if (!this[x]) {
+			var y = lcArgs[(new String(x)).toLowerCase()];
+			if (y) {
+				args[y] = args[x];
+				x = y;
+			}
+		}
+		if (visited[x]) {
+			continue;
+		}
+		visited[x] = true;
+		if ((typeof this[x]) != (typeof undef)) {
+			if (typeof args[x] != "string") {
+				this[x] = args[x];
+			} else {
+				if (dojo.lang.isString(this[x])) {
+					this[x] = args[x];
+				} else {
+					if (dojo.lang.isNumber(this[x])) {
+						this[x] = new Number(args[x]);
+					} else {
+						if (dojo.lang.isBoolean(this[x])) {
+							this[x] = (args[x].toLowerCase() == "false") ? false : true;
+						} else {
+							if (dojo.lang.isFunction(this[x])) {
+								if (args[x].search(/[^\w\.]+/i) == -1) {
+									this[x] = dojo.evalObjPath(args[x], false);
+								} else {
+									var tn = dojo.lang.nameAnonFunc(new Function(args[x]), this);
+									dojo.event.kwConnect({srcObj:this, srcFunc:x, adviceObj:this, adviceFunc:tn});
+								}
+							} else {
+								if (dojo.lang.isArray(this[x])) {
+									this[x] = args[x].split(";");
+								} else {
+									if (this[x] instanceof Date) {
+										this[x] = new Date(Number(args[x]));
+									} else {
+										if (typeof this[x] == "object") {
+											if (this[x] instanceof dojo.uri.Uri) {
+												this[x] = dojo.uri.dojoUri(args[x]);
+											} else {
+												var pairs = args[x].split(";");
+												for (var y = 0; y < pairs.length; y++) {
+													var si = pairs[y].indexOf(":");
+													if ((si != -1) && (pairs[y].length > si)) {
+														this[x][pairs[y].substr(0, si).replace(/^\s+|\s+$/g, "")] = pairs[y].substr(si + 1);
+													}
+												}
+											}
+										} else {
+											this[x] = args[x];
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		} else {
+			this.extraArgs[x.toLowerCase()] = args[x];
+		}
+	}
+}, postMixInProperties:function (args, frag, parent) {
+}, initialize:function (args, frag, parent) {
+	return false;
+}, postInitialize:function (args, frag, parent) {
+	return false;
+}, postCreate:function (args, frag, parent) {
+	return false;
+}, uninitialize:function () {
+	return false;
+}, buildRendering:function (args, frag, parent) {
+	dojo.unimplemented("dojo.widget.Widget.buildRendering, on " + this.toString() + ", ");
+	return false;
+}, destroyRendering:function () {
+	dojo.unimplemented("dojo.widget.Widget.destroyRendering");
+	return false;
+}, addedTo:function (parent) {
+}, addChild:function (child) {
+	dojo.unimplemented("dojo.widget.Widget.addChild");
+	return false;
+}, removeChild:function (widget) {
+	for (var x = 0; x < this.children.length; x++) {
+		if (this.children[x] === widget) {
+			this.children.splice(x, 1);
+			widget.parent = null;
+			break;
+		}
+	}
+	return widget;
+}, getPreviousSibling:function () {
+	var idx = this.getParentIndex();
+	if (idx <= 0) {
+		return null;
+	}
+	return this.parent.children[idx - 1];
+}, getSiblings:function () {
+	return this.parent.children;
+}, getParentIndex:function () {
+	return dojo.lang.indexOf(this.parent.children, this, true);
+}, getNextSibling:function () {
+	var idx = this.getParentIndex();
+	if (idx == this.parent.children.length - 1) {
+		return null;
+	}
+	if (idx < 0) {
+		return null;
+	}
+	return this.parent.children[idx + 1];
+}});
+dojo.widget.lcArgsCache = {};
+dojo.widget.tags = {};
+dojo.widget.tags.addParseTreeHandler = function (type) {
+	dojo.deprecated("addParseTreeHandler", ". ParseTreeHandlers are now reserved for components. Any unfiltered DojoML tag without a ParseTreeHandler is assumed to be a widget", "0.5");
+};
+dojo.widget.tags["dojo:propertyset"] = function (fragment, widgetParser, parentComp) {
+	var properties = widgetParser.parseProperties(fragment["dojo:propertyset"]);
+};
+dojo.widget.tags["dojo:connect"] = function (fragment, widgetParser, parentComp) {
+	var properties = widgetParser.parseProperties(fragment["dojo:connect"]);
+};
+dojo.widget.buildWidgetFromParseTree = function (type, frag, parser, parentComp, insertionIndex, localProps) {
+	dojo.a11y.setAccessibleMode();
+	var stype = type.split(":");
+	stype = (stype.length == 2) ? stype[1] : type;
+	var localProperties = localProps || parser.parseProperties(frag[frag["ns"] + ":" + stype]);
+	var twidget = dojo.widget.manager.getImplementation(stype, null, null, frag["ns"]);
+	if (!twidget) {
+		throw new Error("cannot find \"" + type + "\" widget");
+	} else {
+		if (!twidget.create) {
+			throw new Error("\"" + type + "\" widget object has no \"create\" method and does not appear to implement *Widget");
+		}
+	}
+	localProperties["dojoinsertionindex"] = insertionIndex;
+	var ret = twidget.create(localProperties, frag, parentComp, frag["ns"]);
+	return ret;
+};
+dojo.widget.defineWidget = function (widgetClass, renderer, superclasses, init, props) {
+	if (dojo.lang.isString(arguments[3])) {
+		dojo.widget._defineWidget(arguments[0], arguments[3], arguments[1], arguments[4], arguments[2]);
+	} else {
+		var args = [arguments[0]], p = 3;
+		if (dojo.lang.isString(arguments[1])) {
+			args.push(arguments[1], arguments[2]);
+		} else {
+			args.push("", arguments[1]);
+			p = 2;
+		}
+		if (dojo.lang.isFunction(arguments[p])) {
+			args.push(arguments[p], arguments[p + 1]);
+		} else {
+			args.push(null, arguments[p]);
+		}
+		dojo.widget._defineWidget.apply(this, args);
+	}
+};
+dojo.widget.defineWidget.renderers = "html|svg|vml";
+dojo.widget._defineWidget = function (widgetClass, renderer, superclasses, init, props) {
+	var module = widgetClass.split(".");
+	var type = module.pop();
+	var regx = "\\.(" + (renderer ? renderer + "|" : "") + dojo.widget.defineWidget.renderers + ")\\.";
+	var r = widgetClass.search(new RegExp(regx));
+	module = (r < 0 ? module.join(".") : widgetClass.substr(0, r));
+	dojo.widget.manager.registerWidgetPackage(module);
+	var pos = module.indexOf(".");
+	var nsName = (pos > -1) ? module.substring(0, pos) : module;
+	props = (props) || {};
+	props.widgetType = type;
+	if ((!init) && (props["classConstructor"])) {
+		init = props.classConstructor;
+		delete props.classConstructor;
+	}
+	dojo.declare(widgetClass, superclasses, init, props);
+};
+

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Widget.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Widget.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/widget/Widget.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain