You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2008/02/04 23:08:37 UTC

svn commit: r618461 [35/43] - in /tapestry/tapestry4/trunk/tapestry-framework/src/js: dojo-0.4.3-custom-4.1.5/ dojo-0.4.3-custom-4.1.5/nls/ dojo-0.4.3-custom-4.1.5/src/ dojo-0.4.3-custom-4.1.5/src/animation/ dojo-0.4.3-custom-4.1.5/src/cal/ dojo-0.4.3-...

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tooltip.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tooltip.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tooltip.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tree.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tree.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tree.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tree.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,223 @@
+dojo.provide("dojo.widget.Tree");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.event.*");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeNode");
+dojo.require("dojo.html.common");
+dojo.require("dojo.html.selection");
+dojo.widget.defineWidget("dojo.widget.Tree",dojo.widget.HtmlWidget,function(){
+this.eventNames={};
+this.tree=this;
+this.DNDAcceptTypes=[];
+this.actionsDisabled=[];
+},{widgetType:"Tree",eventNamesDefault:{createDOMNode:"createDOMNode",treeCreate:"treeCreate",treeDestroy:"treeDestroy",treeClick:"treeClick",iconClick:"iconClick",titleClick:"titleClick",moveFrom:"moveFrom",moveTo:"moveTo",addChild:"addChild",removeNode:"removeNode",expand:"expand",collapse:"collapse"},isContainer:true,DNDMode:"off",lockLevel:0,strictFolders:true,DNDModes:{BETWEEN:1,ONTO:2},DNDAcceptTypes:"",templateCssString:"\n.dojoTree {\n\tfont: caption;\n\tfont-size: 11px;\n\tfont-weight: normal;\n\toverflow: auto;\n}\n\n\n.dojoTreeNodeLabelTitle {\n\tpadding-left: 2px;\n\tcolor: WindowText;\n}\n\n.dojoTreeNodeLabel {\n\tcursor:hand;\n\tcursor:pointer;\n}\n\n.dojoTreeNodeLabelTitle:hover {\n\ttext-decoration: underline;\n}\n\n.dojoTreeNodeLabelSelected {\n\tbackground-color: Highlight;\n\tcolor: HighlightText;\n}\n\n.dojoTree div {\n\twhite-space: nowrap;\n}\n\n.dojoTree img, .dojoTreeNodeLabel img {\n\tvertical-align: middle;\n}\n\n",templateCssPath:dojo.uri.moduleUri
 ("dojo.widget","templates/images/Tree/Tree.css"),templateString:"<div class=\"dojoTree\"></div>",isExpanded:true,isTree:true,objectId:"",controller:"",selector:"",menu:"",expandLevel:"",blankIconSrc:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_blank.gif"),gridIconSrcT:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_t.gif"),gridIconSrcL:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_l.gif"),gridIconSrcV:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_v.gif"),gridIconSrcP:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_p.gif"),gridIconSrcC:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_c.gif"),gridIconSrcX:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_x.gif"),gridIconSrcY:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_grid_y.gif"),gridIconSrcZ:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenod
 e_grid_z.gif"),expandIconSrcPlus:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_expand_plus.gif"),expandIconSrcMinus:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_expand_minus.gif"),expandIconSrcLoading:dojo.uri.moduleUri("dojo.widget","templates/images/Tree/treenode_loading.gif"),iconWidth:18,iconHeight:18,showGrid:true,showRootGrid:true,actionIsDisabled:function(_1){
+var _2=this;
+return dojo.lang.inArray(_2.actionsDisabled,_1);
+},actions:{ADDCHILD:"ADDCHILD"},getInfo:function(){
+var _3={widgetId:this.widgetId,objectId:this.objectId};
+return _3;
+},initializeController:function(){
+if(this.controller!="off"){
+if(this.controller){
+this.controller=dojo.widget.byId(this.controller);
+}else{
+dojo.require("dojo.widget.TreeBasicController");
+this.controller=dojo.widget.createWidget("TreeBasicController",{DNDController:(this.DNDMode?"create":""),dieWithTree:true});
+}
+this.controller.listenTree(this);
+}else{
+this.controller=null;
+}
+},initializeSelector:function(){
+if(this.selector!="off"){
+if(this.selector){
+this.selector=dojo.widget.byId(this.selector);
+}else{
+dojo.require("dojo.widget.TreeSelector");
+this.selector=dojo.widget.createWidget("TreeSelector",{dieWithTree:true});
+}
+this.selector.listenTree(this);
+}else{
+this.selector=null;
+}
+},initialize:function(_4,_5){
+var _6=this;
+for(name in this.eventNamesDefault){
+if(dojo.lang.isUndefined(this.eventNames[name])){
+this.eventNames[name]=this.widgetId+"/"+this.eventNamesDefault[name];
+}
+}
+for(var i=0;i<this.actionsDisabled.length;i++){
+this.actionsDisabled[i]=this.actionsDisabled[i].toUpperCase();
+}
+if(this.DNDMode=="off"){
+this.DNDMode=0;
+}else{
+if(this.DNDMode=="between"){
+this.DNDMode=this.DNDModes.ONTO|this.DNDModes.BETWEEN;
+}else{
+if(this.DNDMode=="onto"){
+this.DNDMode=this.DNDModes.ONTO;
+}
+}
+}
+this.expandLevel=parseInt(this.expandLevel);
+this.initializeSelector();
+this.initializeController();
+if(this.menu){
+this.menu=dojo.widget.byId(this.menu);
+this.menu.listenTree(this);
+}
+this.containerNode=this.domNode;
+},postCreate:function(){
+this.createDOMNode();
+},createDOMNode:function(){
+dojo.html.disableSelection(this.domNode);
+for(var i=0;i<this.children.length;i++){
+this.children[i].parent=this;
+var _9=this.children[i].createDOMNode(this,0);
+this.domNode.appendChild(_9);
+}
+if(!this.showRootGrid){
+for(var i=0;i<this.children.length;i++){
+this.children[i].expand();
+}
+}
+dojo.event.topic.publish(this.eventNames.treeCreate,{source:this});
+},destroy:function(){
+dojo.event.topic.publish(this.tree.eventNames.treeDestroy,{source:this});
+return dojo.widget.HtmlWidget.prototype.destroy.apply(this,arguments);
+},addChild:function(_a,_b){
+var _c={child:_a,index:_b,parent:this,domNodeInitialized:_a.domNodeInitialized};
+this.doAddChild.apply(this,arguments);
+dojo.event.topic.publish(this.tree.eventNames.addChild,_c);
+},doAddChild:function(_d,_e){
+if(dojo.lang.isUndefined(_e)){
+_e=this.children.length;
+}
+if(!_d.isTreeNode){
+dojo.raise("You can only add TreeNode widgets to a "+this.widgetType+" widget!");
+return;
+}
+if(this.isTreeNode){
+if(!this.isFolder){
+this.setFolder();
+}
+}
+var _f=this;
+dojo.lang.forEach(_d.getDescendants(),function(_10){
+_10.tree=_f.tree;
+});
+_d.parent=this;
+if(this.isTreeNode){
+this.state=this.loadStates.LOADED;
+}
+if(_e<this.children.length){
+dojo.html.insertBefore(_d.domNode,this.children[_e].domNode);
+}else{
+this.containerNode.appendChild(_d.domNode);
+if(this.isExpanded&&this.isTreeNode){
+this.showChildren();
+}
+}
+this.children.splice(_e,0,_d);
+if(_d.domNodeInitialized){
+var d=this.isTreeNode?this.depth:-1;
+_d.adjustDepth(d-_d.depth+1);
+_d.updateIconTree();
+}else{
+_d.depth=this.isTreeNode?this.depth+1:0;
+_d.createDOMNode(_d.tree,_d.depth);
+}
+var _12=_d.getPreviousSibling();
+if(_d.isLastChild()&&_12){
+_12.updateExpandGridColumn();
+}
+},makeBlankImg:function(){
+var img=document.createElement("img");
+img.style.width=this.iconWidth+"px";
+img.style.height=this.iconHeight+"px";
+img.src=this.blankIconSrc;
+img.style.verticalAlign="middle";
+return img;
+},updateIconTree:function(){
+if(!this.isTree){
+this.updateIcons();
+}
+for(var i=0;i<this.children.length;i++){
+this.children[i].updateIconTree();
+}
+},toString:function(){
+return "["+this.widgetType+" ID:"+this.widgetId+"]";
+},move:function(_15,_16,_17){
+var _18=_15.parent;
+var _19=_15.tree;
+this.doMove.apply(this,arguments);
+var _16=_15.parent;
+var _1a=_15.tree;
+var _1b={oldParent:_18,oldTree:_19,newParent:_16,newTree:_1a,child:_15};
+dojo.event.topic.publish(_19.eventNames.moveFrom,_1b);
+dojo.event.topic.publish(_1a.eventNames.moveTo,_1b);
+},doMove:function(_1c,_1d,_1e){
+_1c.parent.doRemoveNode(_1c);
+_1d.doAddChild(_1c,_1e);
+},removeNode:function(_1f){
+if(!_1f.parent){
+return;
+}
+var _20=_1f.tree;
+var _21=_1f.parent;
+var _22=this.doRemoveNode.apply(this,arguments);
+dojo.event.topic.publish(this.tree.eventNames.removeNode,{child:_22,tree:_20,parent:_21});
+return _22;
+},doRemoveNode:function(_23){
+if(!_23.parent){
+return;
+}
+var _24=_23.parent;
+var _25=_24.children;
+var _26=_23.getParentIndex();
+if(_26<0){
+dojo.raise("Couldn't find node "+_23+" for removal");
+}
+_25.splice(_26,1);
+dojo.html.removeNode(_23.domNode);
+if(_24.children.length==0&&!_24.isTree){
+_24.containerNode.style.display="none";
+}
+if(_26==_25.length&&_26>0){
+_25[_26-1].updateExpandGridColumn();
+}
+if(_24 instanceof dojo.widget.Tree&&_26==0&&_25.length>0){
+_25[0].updateExpandGrid();
+}
+_23.parent=_23.tree=null;
+return _23;
+},markLoading:function(){
+},unMarkLoading:function(){
+},lock:function(){
+!this.lockLevel&&this.markLoading();
+this.lockLevel++;
+},unlock:function(){
+if(!this.lockLevel){
+dojo.raise("unlock: not locked");
+}
+this.lockLevel--;
+!this.lockLevel&&this.unMarkLoading();
+},isLocked:function(){
+var _27=this;
+while(true){
+if(_27.lockLevel){
+return true;
+}
+if(_27 instanceof dojo.widget.Tree){
+break;
+}
+_27=_27.parent;
+}
+return false;
+},flushLock:function(){
+this.lockLevel=0;
+this.unMarkLoading();
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tree.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tree.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/Tree.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicController.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicController.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicController.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicController.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,141 @@
+dojo.provide("dojo.widget.TreeBasicController");
+dojo.require("dojo.event.*");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.widget.defineWidget("dojo.widget.TreeBasicController",dojo.widget.HtmlWidget,{widgetType:"TreeBasicController",DNDController:"",dieWithTree:false,initialize:function(_1,_2){
+if(this.DNDController=="create"){
+dojo.require("dojo.dnd.TreeDragAndDrop");
+this.DNDController=new dojo.dnd.TreeDNDController(this);
+}
+},listenTree:function(_3){
+dojo.event.topic.subscribe(_3.eventNames.createDOMNode,this,"onCreateDOMNode");
+dojo.event.topic.subscribe(_3.eventNames.treeClick,this,"onTreeClick");
+dojo.event.topic.subscribe(_3.eventNames.treeCreate,this,"onTreeCreate");
+dojo.event.topic.subscribe(_3.eventNames.treeDestroy,this,"onTreeDestroy");
+if(this.DNDController){
+this.DNDController.listenTree(_3);
+}
+},unlistenTree:function(_4){
+dojo.event.topic.unsubscribe(_4.eventNames.createDOMNode,this,"onCreateDOMNode");
+dojo.event.topic.unsubscribe(_4.eventNames.treeClick,this,"onTreeClick");
+dojo.event.topic.unsubscribe(_4.eventNames.treeCreate,this,"onTreeCreate");
+dojo.event.topic.unsubscribe(_4.eventNames.treeDestroy,this,"onTreeDestroy");
+},onTreeDestroy:function(_5){
+var _6=_5.source;
+this.unlistenTree(_6);
+if(this.dieWithTree){
+this.destroy();
+}
+},onCreateDOMNode:function(_7){
+var _8=_7.source;
+if(_8.expandLevel>0){
+this.expandToLevel(_8,_8.expandLevel);
+}
+},onTreeCreate:function(_9){
+var _a=_9.source;
+var _b=this;
+if(_a.expandLevel){
+dojo.lang.forEach(_a.children,function(_c){
+_b.expandToLevel(_c,_a.expandLevel-1);
+});
+}
+},expandToLevel:function(_d,_e){
+if(_e==0){
+return;
+}
+var _f=_d.children;
+var _10=this;
+var _11=function(_12,_13){
+this.node=_12;
+this.expandLevel=_13;
+this.process=function(){
+for(var i=0;i<this.node.children.length;i++){
+var _15=_12.children[i];
+_10.expandToLevel(_15,this.expandLevel);
+}
+};
+};
+var h=new _11(_d,_e-1);
+this.expand(_d,false,h,h.process);
+},onTreeClick:function(_17){
+var _18=_17.source;
+if(_18.isLocked()){
+return false;
+}
+if(_18.isExpanded){
+this.collapse(_18);
+}else{
+this.expand(_18);
+}
+},expand:function(_19,_1a,_1b,_1c){
+_19.expand();
+if(_1c){
+_1c.apply(_1b,[_19]);
+}
+},collapse:function(_1d){
+_1d.collapse();
+},canMove:function(_1e,_1f){
+if(_1e.actionIsDisabled(_1e.actions.MOVE)){
+return false;
+}
+if(_1e.parent!==_1f&&_1f.actionIsDisabled(_1f.actions.ADDCHILD)){
+return false;
+}
+var _20=_1f;
+while(_20.isTreeNode){
+if(_20===_1e){
+return false;
+}
+_20=_20.parent;
+}
+return true;
+},move:function(_21,_22,_23){
+if(!this.canMove(_21,_22)){
+return false;
+}
+var _24=this.doMove(_21,_22,_23);
+if(!_24){
+return _24;
+}
+if(_22.isTreeNode){
+this.expand(_22);
+}
+return _24;
+},doMove:function(_25,_26,_27){
+_25.tree.move(_25,_26,_27);
+return true;
+},canRemoveNode:function(_28){
+if(_28.actionIsDisabled(_28.actions.REMOVE)){
+return false;
+}
+return true;
+},removeNode:function(_29,_2a,_2b){
+if(!this.canRemoveNode(_29)){
+return false;
+}
+return this.doRemoveNode(_29,_2a,_2b);
+},doRemoveNode:function(_2c,_2d,_2e){
+_2c.tree.removeNode(_2c);
+if(_2e){
+_2e.apply(dojo.lang.isUndefined(_2d)?this:_2d,[_2c]);
+}
+},canCreateChild:function(_2f,_30,_31){
+if(_2f.actionIsDisabled(_2f.actions.ADDCHILD)){
+return false;
+}
+return true;
+},createChild:function(_32,_33,_34,_35,_36){
+if(!this.canCreateChild(_32,_33,_34)){
+return false;
+}
+return this.doCreateChild.apply(this,arguments);
+},doCreateChild:function(_37,_38,_39,_3a,_3b){
+var _3c=_39.widgetType?_39.widgetType:"TreeNode";
+var _3d=dojo.widget.createWidget(_3c,_39);
+_37.addChild(_3d,_38);
+this.expand(_37);
+if(_3b){
+_3b.apply(_3a,[_3d]);
+}
+return _3d;
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicController.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicController.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicController.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicControllerV3.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicControllerV3.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicControllerV3.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicControllerV3.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,448 @@
+dojo.provide("dojo.widget.TreeBasicControllerV3");
+dojo.require("dojo.event.*");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.TreeCommon");
+dojo.require("dojo.widget.TreeNodeV3");
+dojo.require("dojo.widget.TreeV3");
+dojo.widget.defineWidget("dojo.widget.TreeBasicControllerV3",[dojo.widget.HtmlWidget,dojo.widget.TreeCommon],function(){
+this.listenedTrees={};
+},{listenTreeEvents:["afterSetFolder","afterTreeCreate","beforeTreeDestroy"],listenNodeFilter:function(_1){
+return _1 instanceof dojo.widget.Widget;
+},editor:null,initialize:function(_2){
+if(_2.editor){
+this.editor=dojo.widget.byId(_2.editor);
+this.editor.controller=this;
+}
+},getInfo:function(_3){
+return _3.getInfo();
+},onBeforeTreeDestroy:function(_4){
+this.unlistenTree(_4.source);
+},onAfterSetFolder:function(_5){
+if(_5.source.expandLevel>0){
+this.expandToLevel(_5.source,_5.source.expandLevel);
+}
+if(_5.source.loadLevel>0){
+this.loadToLevel(_5.source,_5.source.loadLevel);
+}
+},_focusNextVisible:function(_6){
+if(_6.isFolder&&_6.isExpanded&&_6.children.length>0){
+_7=_6.children[0];
+}else{
+while(_6.isTreeNode&&_6.isLastChild()){
+_6=_6.parent;
+}
+if(_6.isTreeNode){
+var _7=_6.parent.children[_6.getParentIndex()+1];
+}
+}
+if(_7&&_7.isTreeNode){
+this._focusLabel(_7);
+return _7;
+}
+},_focusPreviousVisible:function(_8){
+var _9=_8;
+if(!_8.isFirstChild()){
+var _a=_8.parent.children[_8.getParentIndex()-1];
+_8=_a;
+while(_8.isFolder&&_8.isExpanded&&_8.children.length>0){
+_9=_8;
+_8=_8.children[_8.children.length-1];
+}
+}else{
+_8=_8.parent;
+}
+if(_8&&_8.isTreeNode){
+_9=_8;
+}
+if(_9&&_9.isTreeNode){
+this._focusLabel(_9);
+return _9;
+}
+},_focusZoomIn:function(_b){
+var _c=_b;
+if(_b.isFolder&&!_b.isExpanded){
+this.expand(_b);
+}else{
+if(_b.children.length>0){
+_b=_b.children[0];
+}
+}
+if(_b&&_b.isTreeNode){
+_c=_b;
+}
+if(_c&&_c.isTreeNode){
+this._focusLabel(_c);
+return _c;
+}
+},_focusZoomOut:function(_d){
+var _e=_d;
+if(_d.isFolder&&_d.isExpanded){
+this.collapse(_d);
+}else{
+_d=_d.parent;
+}
+if(_d&&_d.isTreeNode){
+_e=_d;
+}
+if(_e&&_e.isTreeNode){
+this._focusLabel(_e);
+return _e;
+}
+},onFocusNode:function(e){
+var _10=this.domElement2TreeNode(e.target);
+if(_10){
+_10.viewFocus();
+dojo.event.browser.stopEvent(e);
+}
+},onBlurNode:function(e){
+var _12=this.domElement2TreeNode(e.target);
+if(!_12){
+return;
+}
+var _13=_12.labelNode;
+_13.setAttribute("tabIndex","-1");
+_12.viewUnfocus();
+dojo.event.browser.stopEvent(e);
+_12.tree.domNode.setAttribute("tabIndex","0");
+},_focusLabel:function(_14){
+var _15=_14.tree.lastFocused;
+var _16;
+if(_15&&_15.labelNode){
+_16=_15.labelNode;
+dojo.event.disconnect(_16,"onblur",this,"onBlurNode");
+_16.setAttribute("tabIndex","-1");
+dojo.html.removeClass(_16,"TreeLabelFocused");
+}
+_16=_14.labelNode;
+_16.setAttribute("tabIndex","0");
+_14.tree.lastFocused=_14;
+dojo.html.addClass(_16,"TreeLabelFocused");
+dojo.event.connectOnce(_16,"onblur",this,"onBlurNode");
+dojo.event.connectOnce(_16,"onfocus",this,"onFocusNode");
+_16.focus();
+},onKey:function(e){
+if(!e.key||e.ctrkKey||e.altKey){
+return;
+}
+var _18=this.domElement2TreeNode(e.target);
+if(!_18){
+return;
+}
+var _19=_18.tree;
+if(_19.lastFocused&&_19.lastFocused.labelNode){
+_18=_19.lastFocused;
+}
+switch(e.key){
+case e.KEY_TAB:
+if(e.shiftKey){
+_19.domNode.setAttribute("tabIndex","-1");
+}
+break;
+case e.KEY_RIGHT_ARROW:
+this._focusZoomIn(_18);
+dojo.event.browser.stopEvent(e);
+break;
+case e.KEY_LEFT_ARROW:
+this._focusZoomOut(_18);
+dojo.event.browser.stopEvent(e);
+break;
+case e.KEY_UP_ARROW:
+this._focusPreviousVisible(_18);
+dojo.event.browser.stopEvent(e);
+break;
+case e.KEY_DOWN_ARROW:
+this._focusNextVisible(_18);
+dojo.event.browser.stopEvent(e);
+break;
+}
+},onFocusTree:function(e){
+if(!e.currentTarget){
+return;
+}
+try{
+var _1b=this.getWidgetByNode(e.currentTarget);
+if(!_1b||!_1b.isTree){
+return;
+}
+var _1c=this.getWidgetByNode(_1b.domNode.firstChild);
+if(_1c&&_1c.isTreeNode){
+if(_1b.lastFocused&&_1b.lastFocused.isTreeNode){
+_1c=_1b.lastFocused;
+}
+this._focusLabel(_1c);
+}
+}
+catch(e){
+}
+},onAfterTreeCreate:function(_1d){
+var _1e=_1d.source;
+dojo.event.browser.addListener(_1e.domNode,"onKey",dojo.lang.hitch(this,this.onKey));
+dojo.event.browser.addListener(_1e.domNode,"onmousedown",dojo.lang.hitch(this,this.onTreeMouseDown));
+dojo.event.browser.addListener(_1e.domNode,"onclick",dojo.lang.hitch(this,this.onTreeClick));
+dojo.event.browser.addListener(_1e.domNode,"onfocus",dojo.lang.hitch(this,this.onFocusTree));
+_1e.domNode.setAttribute("tabIndex","0");
+if(_1e.expandLevel){
+this.expandToLevel(_1e,_1e.expandLevel);
+}
+if(_1e.loadLevel){
+this.loadToLevel(_1e,_1e.loadLevel);
+}
+},onTreeMouseDown:function(e){
+},onTreeClick:function(e){
+var _21=e.target;
+var _22=this.domElement2TreeNode(_21);
+if(!_22||!_22.isTreeNode){
+return;
+}
+var _23=function(el){
+return el===_22.expandNode;
+};
+if(this.checkPathCondition(_21,_23)){
+this.processExpandClick(_22);
+}
+this._focusLabel(_22);
+},processExpandClick:function(_25){
+if(_25.isExpanded){
+this.collapse(_25);
+}else{
+this.expand(_25);
+}
+},batchExpandTimeout:20,expandAll:function(_26){
+return this.expandToLevel(_26,Number.POSITIVE_INFINITY);
+},collapseAll:function(_27){
+var _28=this;
+var _29=function(_2a){
+return (_2a instanceof dojo.widget.Widget)&&_2a.isFolder&&_2a.isExpanded;
+};
+if(_27.isTreeNode){
+this.processDescendants(_27,_29,this.collapse);
+}else{
+if(_27.isTree){
+dojo.lang.forEach(_27.children,function(c){
+_28.processDescendants(c,_29,_28.collapse);
+});
+}
+}
+},expandToNode:function(_2c,_2d){
+n=_2d?_2c:_2c.parent;
+s=[];
+while(!n.isExpanded){
+s.push(n);
+n=n.parent;
+}
+dojo.lang.forEach(s,function(n){
+n.expand();
+});
+},expandToLevel:function(_2f,_30){
+dojo.require("dojo.widget.TreeTimeoutIterator");
+var _31=this;
+var _32=function(_33){
+var res=_33.isFolder||_33.children&&_33.children.length;
+return res;
+};
+var _35=function(_36,_37){
+_31.expand(_36,true);
+_37.forward();
+};
+var _38=new dojo.widget.TreeTimeoutIterator(_2f,_35,this);
+_38.setFilter(_32);
+_38.timeout=this.batchExpandTimeout;
+_38.setMaxLevel(_2f.isTreeNode?_30-1:_30);
+return _38.start(_2f.isTreeNode);
+},getWidgetByNode:function(_39){
+var _3a;
+var _3b=_39;
+while(!(_3a=_3b.widgetId)){
+_3b=_3b.parentNode;
+if(_3b==null){
+break;
+}
+}
+if(_3a){
+return dojo.widget.byId(_3a);
+}else{
+if(_39==null){
+return null;
+}else{
+return dojo.widget.manager.byNode(_39);
+}
+}
+},expand:function(_3c){
+if(_3c.isFolder){
+_3c.expand();
+}
+},collapse:function(_3d){
+if(_3d.isFolder){
+_3d.collapse();
+}
+},canEditLabel:function(_3e){
+if(_3e.actionIsDisabledNow(_3e.actions.EDIT)){
+return false;
+}
+return true;
+},editLabelStart:function(_3f){
+if(!this.canEditLabel(_3f)){
+return false;
+}
+if(!this.editor.isClosed()){
+this.editLabelFinish(this.editor.saveOnBlur);
+}
+this.doEditLabelStart(_3f);
+},editLabelFinish:function(_40){
+this.doEditLabelFinish(_40);
+},doEditLabelStart:function(_41){
+if(!this.editor){
+dojo.raise(this.widgetType+": no editor specified");
+}
+this.editor.open(_41);
+},doEditLabelFinish:function(_42,_43){
+if(!this.editor){
+dojo.raise(this.widgetType+": no editor specified");
+}
+var _44=this.editor.node;
+var _45=this.editor.getContents();
+this.editor.close(_42);
+if(_42){
+var _46={title:_45};
+if(_43){
+dojo.lang.mixin(_46,_43);
+}
+if(_44.isPhantom){
+var _47=_44.parent;
+var _48=_44.getParentIndex();
+_44.destroy();
+dojo.widget.TreeBasicControllerV3.prototype.doCreateChild.call(this,_47,_48,_46);
+}else{
+var _49=_43&&_43.title?_43.title:_45;
+_44.setTitle(_49);
+}
+}else{
+if(_44.isPhantom){
+_44.destroy();
+}
+}
+},makeDefaultNode:function(_4a,_4b){
+var _4c={title:_4a.tree.defaultChildTitle};
+return dojo.widget.TreeBasicControllerV3.prototype.doCreateChild.call(this,_4a,_4b,_4c);
+},runStages:function(_4d,_4e,_4f,_50,_51,_52){
+if(_4d&&!_4d.apply(this,_52)){
+return false;
+}
+if(_4e&&!_4e.apply(this,_52)){
+return false;
+}
+var _53=_4f.apply(this,_52);
+if(_50){
+_50.apply(this,_52);
+}
+if(!_53){
+return _53;
+}
+if(_51){
+_51.apply(this,_52);
+}
+return _53;
+}});
+dojo.lang.extend(dojo.widget.TreeBasicControllerV3,{createAndEdit:function(_54,_55){
+var _56={title:_54.tree.defaultChildTitle};
+if(!this.canCreateChild(_54,_55,_56)){
+return false;
+}
+var _57=this.doCreateChild(_54,_55,_56);
+if(!_57){
+return false;
+}
+this.exposeCreateChild(_54,_55,_56);
+_57.isPhantom=true;
+if(!this.editor.isClosed()){
+this.editLabelFinish(this.editor.saveOnBlur);
+}
+this.doEditLabelStart(_57);
+}});
+dojo.lang.extend(dojo.widget.TreeBasicControllerV3,{canClone:function(_58,_59,_5a,_5b){
+return true;
+},clone:function(_5c,_5d,_5e,_5f){
+return this.runStages(this.canClone,this.prepareClone,this.doClone,this.finalizeClone,this.exposeClone,arguments);
+},exposeClone:function(_60,_61){
+if(_61.isTreeNode){
+this.expand(_61);
+}
+},doClone:function(_62,_63,_64,_65){
+var _66=_62.clone(_65);
+_63.addChild(_66,_64);
+return _66;
+}});
+dojo.lang.extend(dojo.widget.TreeBasicControllerV3,{canDetach:function(_67){
+if(_67.actionIsDisabledNow(_67.actions.DETACH)){
+return false;
+}
+return true;
+},detach:function(_68){
+return this.runStages(this.canDetach,this.prepareDetach,this.doDetach,this.finalizeDetach,this.exposeDetach,arguments);
+},doDetach:function(_69,_6a,_6b){
+_69.detach();
+}});
+dojo.lang.extend(dojo.widget.TreeBasicControllerV3,{canDestroyChild:function(_6c){
+if(_6c.parent&&!this.canDetach(_6c)){
+return false;
+}
+return true;
+},destroyChild:function(_6d){
+return this.runStages(this.canDestroyChild,this.prepareDestroyChild,this.doDestroyChild,this.finalizeDestroyChild,this.exposeDestroyChild,arguments);
+},doDestroyChild:function(_6e){
+_6e.destroy();
+}});
+dojo.lang.extend(dojo.widget.TreeBasicControllerV3,{canMoveNotANode:function(_6f,_70){
+if(_6f.treeCanMove){
+return _6f.treeCanMove(_70);
+}
+return true;
+},canMove:function(_71,_72){
+if(!_71.isTreeNode){
+return this.canMoveNotANode(_71,_72);
+}
+if(_71.actionIsDisabledNow(_71.actions.MOVE)){
+return false;
+}
+if(_71.parent!==_72&&_72.actionIsDisabledNow(_72.actions.ADDCHILD)){
+return false;
+}
+var _73=_72;
+while(_73.isTreeNode){
+if(_73===_71){
+return false;
+}
+_73=_73.parent;
+}
+return true;
+},move:function(_74,_75,_76){
+return this.runStages(this.canMove,this.prepareMove,this.doMove,this.finalizeMove,this.exposeMove,arguments);
+},doMove:function(_77,_78,_79){
+_77.tree.move(_77,_78,_79);
+return true;
+},exposeMove:function(_7a,_7b){
+if(_7b.isTreeNode){
+this.expand(_7b);
+}
+}});
+dojo.lang.extend(dojo.widget.TreeBasicControllerV3,{canCreateChild:function(_7c,_7d,_7e){
+if(_7c.actionIsDisabledNow(_7c.actions.ADDCHILD)){
+return false;
+}
+return true;
+},createChild:function(_7f,_80,_81){
+if(!_81){
+_81={title:_7f.tree.defaultChildTitle};
+}
+return this.runStages(this.canCreateChild,this.prepareCreateChild,this.doCreateChild,this.finalizeCreateChild,this.exposeCreateChild,[_7f,_80,_81]);
+},prepareCreateChild:function(){
+return true;
+},finalizeCreateChild:function(){
+},doCreateChild:function(_82,_83,_84){
+var _85=_82.tree.createNode(_84);
+_82.addChild(_85,_83);
+return _85;
+},exposeCreateChild:function(_86){
+return this.expand(_86);
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicControllerV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicControllerV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeBasicControllerV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeCommon.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeCommon.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeCommon.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeCommon.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,69 @@
+dojo.provide("dojo.widget.TreeCommon");
+dojo.require("dojo.widget.*");
+dojo.declare("dojo.widget.TreeCommon",null,{listenTreeEvents:[],listenedTrees:{},listenNodeFilter:null,listenTree:function(_1){
+var _2=this;
+if(this.listenedTrees[_1.widgetId]){
+return;
+}
+dojo.lang.forEach(this.listenTreeEvents,function(_3){
+var _4="on"+_3.charAt(0).toUpperCase()+_3.substr(1);
+dojo.event.topic.subscribe(_1.eventNames[_3],_2,_4);
+});
+var _5;
+if(this.listenNodeFilter){
+this.processDescendants(_1,this.listenNodeFilter,this.listenNode,true);
+}
+this.listenedTrees[_1.widgetId]=true;
+},listenNode:function(){
+},unlistenNode:function(){
+},unlistenTree:function(_6,_7){
+var _8=this;
+if(!this.listenedTrees[_6.widgetId]){
+return;
+}
+dojo.lang.forEach(this.listenTreeEvents,function(_9){
+var _a="on"+_9.charAt(0).toUpperCase()+_9.substr(1);
+dojo.event.topic.unsubscribe(_6.eventNames[_9],_8,_a);
+});
+if(this.listenNodeFilter){
+this.processDescendants(_6,this.listenNodeFilter,this.unlistenNode,true);
+}
+delete this.listenedTrees[_6.widgetId];
+},checkPathCondition:function(_b,_c){
+while(_b&&!_b.widgetId){
+if(_c.call(null,_b)){
+return true;
+}
+_b=_b.parentNode;
+}
+return false;
+},domElement2TreeNode:function(_d){
+while(_d&&!_d.widgetId){
+_d=_d.parentNode;
+}
+if(!_d){
+return null;
+}
+var _e=dojo.widget.byId(_d.widgetId);
+if(!_e.isTreeNode){
+return null;
+}
+return _e;
+},processDescendants:function(_f,_10,_11,_12){
+var _13=this;
+if(!_12){
+if(!_10.call(_13,_f)){
+return;
+}
+_11.call(_13,_f);
+}
+var _14=[_f];
+while(_f=_14.pop()){
+dojo.lang.forEach(_f.children,function(_15){
+if(_10.call(_13,_15)){
+_11.call(_13,_15);
+_14.push(_15);
+}
+});
+}
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeCommon.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeCommon.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeCommon.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenu.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenu.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenu.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenu.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,97 @@
+dojo.provide("dojo.widget.TreeContextMenu");
+dojo.require("dojo.event.*");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.Menu2");
+dojo.widget.defineWidget("dojo.widget.TreeContextMenu",dojo.widget.PopupMenu2,function(){
+this.listenedTrees=[];
+},{open:function(x,y,_3,_4){
+var _5=dojo.widget.PopupMenu2.prototype.open.apply(this,arguments);
+dojo.event.topic.publish(this.eventNames.open,{menu:this});
+return _5;
+},listenTree:function(_6){
+var _7=_6.getDescendants();
+for(var i=0;i<_7.length;i++){
+if(!_7[i].isTreeNode){
+continue;
+}
+this.bindDomNode(_7[i].labelNode);
+}
+var _9=this;
+dojo.event.topic.subscribe(_6.eventNames.createDOMNode,this,"onCreateDOMNode");
+dojo.event.topic.subscribe(_6.eventNames.moveFrom,this,"onMoveFrom");
+dojo.event.topic.subscribe(_6.eventNames.moveTo,this,"onMoveTo");
+dojo.event.topic.subscribe(_6.eventNames.removeNode,this,"onRemoveNode");
+dojo.event.topic.subscribe(_6.eventNames.addChild,this,"onAddChild");
+dojo.event.topic.subscribe(_6.eventNames.treeDestroy,this,"onTreeDestroy");
+this.listenedTrees.push(_6);
+},unlistenTree:function(_a){
+dojo.event.topic.unsubscribe(_a.eventNames.createDOMNode,this,"onCreateDOMNode");
+dojo.event.topic.unsubscribe(_a.eventNames.moveFrom,this,"onMoveFrom");
+dojo.event.topic.unsubscribe(_a.eventNames.moveTo,this,"onMoveTo");
+dojo.event.topic.unsubscribe(_a.eventNames.removeNode,this,"onRemoveNode");
+dojo.event.topic.unsubscribe(_a.eventNames.addChild,this,"onAddChild");
+dojo.event.topic.unsubscribe(_a.eventNames.treeDestroy,this,"onTreeDestroy");
+for(var i=0;i<this.listenedTrees.length;i++){
+if(this.listenedTrees[i]===_a){
+this.listenedTrees.splice(i,1);
+break;
+}
+}
+},onTreeDestroy:function(_c){
+this.unlistenTree(_c.source);
+},bindTreeNode:function(_d){
+var _e=this;
+dojo.lang.forEach(_d.getDescendants(),function(e){
+_e.bindDomNode(e.labelNode);
+});
+},unBindTreeNode:function(_10){
+var _11=this;
+dojo.lang.forEach(_10.getDescendants(),function(e){
+_11.unBindDomNode(e.labelNode);
+});
+},onCreateDOMNode:function(_13){
+this.bindTreeNode(_13.source);
+},onMoveFrom:function(_14){
+if(!dojo.lang.inArray(this.listenedTrees,_14.newTree)){
+this.unBindTreeNode(_14.child);
+}
+},onMoveTo:function(_15){
+if(dojo.lang.inArray(this.listenedTrees,_15.newTree)){
+this.bindTreeNode(_15.child);
+}
+},onRemoveNode:function(_16){
+this.unBindTreeNode(_16.child);
+},onAddChild:function(_17){
+if(_17.domNodeInitialized){
+this.bindTreeNode(_17.child);
+}
+}});
+dojo.widget.defineWidget("dojo.widget.TreeMenuItem",dojo.widget.MenuItem2,{treeActions:"",initialize:function(_18,_19){
+this.treeActions=this.treeActions.split(",");
+for(var i=0;i<this.treeActions.length;i++){
+this.treeActions[i]=this.treeActions[i].toUpperCase();
+}
+},getTreeNode:function(){
+var _1b=this;
+while(!(_1b instanceof dojo.widget.TreeContextMenu)){
+_1b=_1b.parent;
+}
+var _1c=_1b.getTopOpenEvent().target;
+while(!_1c.getAttribute("treeNode")&&_1c.tagName!="body"){
+_1c=_1c.parentNode;
+}
+if(_1c.tagName=="body"){
+dojo.raise("treeNode not detected");
+}
+var _1d=dojo.widget.manager.getWidgetById(_1c.getAttribute("treeNode"));
+return _1d;
+},menuOpen:function(_1e){
+var _1f=this.getTreeNode();
+this.setDisabled(false);
+var _20=this;
+dojo.lang.forEach(_20.treeActions,function(_21){
+_20.setDisabled(_1f.actionIsDisabled(_21));
+});
+},toString:function(){
+return "["+this.widgetType+" node "+this.getTreeNode()+"]";
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenu.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenu.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenu.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenuV3.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenuV3.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenuV3.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenuV3.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,61 @@
+dojo.provide("dojo.widget.TreeContextMenuV3");
+dojo.require("dojo.event.*");
+dojo.require("dojo.io.*");
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.Menu2");
+dojo.require("dojo.widget.TreeCommon");
+dojo.widget.defineWidget("dojo.widget.TreeContextMenuV3",[dojo.widget.PopupMenu2,dojo.widget.TreeCommon],function(){
+this.listenedTrees={};
+},{listenTreeEvents:["afterTreeCreate","beforeTreeDestroy"],listenNodeFilter:function(_1){
+return _1 instanceof dojo.widget.Widget;
+},onAfterTreeCreate:function(_2){
+var _3=_2.source;
+this.bindDomNode(_3.domNode);
+},onBeforeTreeDestroy:function(_4){
+this.unBindDomNode(_4.source.domNode);
+},getTreeNode:function(){
+var _5=this.getTopOpenEvent().target;
+var _6=this.domElement2TreeNode(_5);
+return _6;
+},open:function(){
+var _7=dojo.widget.PopupMenu2.prototype.open.apply(this,arguments);
+for(var i=0;i<this.children.length;i++){
+if(this.children[i].menuOpen){
+this.children[i].menuOpen(this.getTreeNode());
+}
+}
+return _7;
+},close:function(){
+for(var i=0;i<this.children.length;i++){
+if(this.children[i].menuClose){
+this.children[i].menuClose(this.getTreeNode());
+}
+}
+var _a=dojo.widget.PopupMenu2.prototype.close.apply(this,arguments);
+return _a;
+}});
+dojo.widget.defineWidget("dojo.widget.TreeMenuItemV3",[dojo.widget.MenuItem2,dojo.widget.TreeCommon],function(){
+this.treeActions=[];
+},{treeActions:"",initialize:function(_b,_c){
+for(var i=0;i<this.treeActions.length;i++){
+this.treeActions[i]=this.treeActions[i].toUpperCase();
+}
+},getTreeNode:function(){
+var _e=this;
+while(!(_e instanceof dojo.widget.TreeContextMenuV3)){
+_e=_e.parent;
+}
+var _f=_e.getTreeNode();
+return _f;
+},menuOpen:function(_10){
+_10.viewEmphasize();
+this.setDisabled(false);
+var _11=this;
+dojo.lang.forEach(_11.treeActions,function(_12){
+_11.setDisabled(_10.actionIsDisabledNow(_12));
+});
+},menuClose:function(_13){
+_13.viewUnemphasize();
+},toString:function(){
+return "["+this.widgetType+" node "+this.getTreeNode()+"]";
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenuV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenuV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeContextMenuV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeControllerExtension.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeControllerExtension.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeControllerExtension.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeControllerExtension.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,47 @@
+dojo.provide("dojo.widget.TreeControllerExtension");
+dojo.declare("dojo.widget.TreeControllerExtension",null,{saveExpandedIndices:function(_1,_2){
+var _3={};
+for(var i=0;i<_1.children.length;i++){
+if(_1.children[i].isExpanded){
+var _5=dojo.lang.isUndefined(_2)?i:_1.children[i][_2];
+_3[_5]=this.saveExpandedIndices(_1.children[i],_2);
+}
+}
+return _3;
+},restoreExpandedIndices:function(_6,_7,_8){
+var _9=this;
+var _a=function(_b,_c){
+this.node=_b;
+this.savedIndices=_c;
+this.process=function(){
+_9.restoreExpandedIndices(this.node,this.savedIndices,_8);
+};
+};
+for(var i=0;i<_6.children.length;i++){
+var _e=_6.children[i];
+var _f=false;
+var key=-1;
+if(dojo.lang.isUndefined(_8)&&_7[i]){
+_f=true;
+key=i;
+}
+if(_8){
+for(var key in _7){
+if(key==_e[_8]){
+_f=true;
+break;
+}
+}
+}
+if(_f){
+var h=new _a(_e,_7[key]);
+_9.expand(_e,false,h,h.process);
+}else{
+if(_e.isExpanded){
+dojo.lang.forEach(_e.getDescendants(),function(_12){
+_9.collapse(_12);
+});
+}
+}
+}
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeControllerExtension.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeControllerExtension.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeControllerExtension.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDemo.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDemo.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDemo.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDemo.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,72 @@
+dojo.provide("dojo.widget.TreeDemo");
+dojo.require("dojo.Deferred");
+dojo.widget.TreeDemo={reportIfDefered:function(_1){
+if(_1 instanceof dojo.Deferred){
+_1.addCallbacks(function(_2){
+return _2;
+},function(_3){
+dojo.debug("Error");
+dojo.debugShallow(_3);
+});
+}
+},resetRandomChildren:function(_4){
+this.randomChildrenMaxCount=_4;
+this.randomChildrenCount=0;
+this.randomChildrenDepth=0;
+},makeRandomChildren:function(_5){
+this.randomChildrenDepth++;
+var _6=[];
+for(var i=1;i<=5;i++){
+var t=_5+(this.randomChildrenDepth==1?"":".")+i;
+var _9={title:t};
+_6.push(_9);
+this.randomChildrenCount++;
+if(this.randomChildrenCount>=this.randomChildrenMaxCount){
+break;
+}
+}
+var i=1;
+var _a=this;
+dojo.lang.forEach(_6,function(_b){
+var t=_5+(_a.randomChildrenDepth==1?"":".")+i;
+i++;
+if(_a.randomChildrenCount<_a.randomChildrenMaxCount&&(_a.randomChildrenDepth==1&&_b===_6[0]||_a.randomChildrenDepth<5&&Math.random()>0.3)){
+_b.children=_a.makeRandomChildren(t);
+}
+});
+this.randomChildrenDepth--;
+return _6;
+},bindDemoMenu:function(_d){
+var _t=this;
+dojo.event.topic.subscribe("treeContextMenuDestroy/engage",function(_f){
+var _10=_f.getTreeNode();
+_t.reportIfDefered(_d.destroyChild(_10));
+});
+dojo.event.topic.subscribe("treeContextMenuRefresh/engage",function(_11){
+var _12=_11.getTreeNode();
+_t.reportIfDefered(_d.refreshChildren(_12));
+});
+dojo.event.topic.subscribe("treeContextMenuCreate/engage",function(_13){
+var _14=_13.getTreeNode();
+var d=_d.createAndEdit(_14,0);
+_t.reportIfDefered(d);
+});
+dojo.event.topic.subscribe("treeContextMenuUp/engage",function(_16){
+var _17=_16.getTreeNode();
+if(_17.isFirstChild()){
+return;
+}
+_t.reportIfDefered(_d.move(_17,_17.parent,_17.getParentIndex()-1));
+});
+dojo.event.topic.subscribe("treeContextMenuDown/engage",function(_18){
+var _19=_18.getTreeNode();
+if(_19.isLastChild()){
+return;
+}
+_t.reportIfDefered(_d.move(_19,_19.parent,_19.getParentIndex()+1));
+});
+dojo.event.topic.subscribe("treeContextMenuEdit/engage",function(_1a){
+var _1b=_1a.getTreeNode();
+_t.reportIfDefered(_d.editLabelStart(_1b));
+});
+}};

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDemo.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDemo.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDemo.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDeselectOnDblselect.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDeselectOnDblselect.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDeselectOnDblselect.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDeselectOnDblselect.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,10 @@
+dojo.provide("dojo.widget.TreeDeselectOnDblselect");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeSelectorV3");
+dojo.deprecated("Does anyone still need this extension? (TreeDeselectOnDblselect)");
+dojo.widget.defineWidget("dojo.widget.TreeDeselectOnDblselect",[dojo.widget.HtmlWidget],{selector:"",initialize:function(){
+this.selector=dojo.widget.byId(this.selector);
+dojo.event.topic.subscribe(this.selector.eventNames.dblselect,this,"onDblselect");
+},onDblselect:function(_1){
+this.selector.deselect(_1.node);
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDeselectOnDblselect.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDeselectOnDblselect.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDeselectOnDblselect.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDisableWrapExtension.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDisableWrapExtension.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDisableWrapExtension.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDisableWrapExtension.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,24 @@
+dojo.provide("dojo.widget.TreeDisableWrapExtension");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeExtension");
+dojo.widget.defineWidget("dojo.widget.TreeDisableWrapExtension",dojo.widget.TreeExtension,{templateCssString:"\n/* CSS for TreeDisableWrapExtension */\n\n.TreeDisableWrap {\n\twhite-space: nowrap;\n}\n.TreeIEDisableWrap {\n\twidth: expression( 5 + firstChild.offsetWidth );\n}\n",templateCssPath:dojo.uri.moduleUri("dojo.widget","templates/TreeDisableWrap.css"),listenTree:function(_1){
+var _2=document.createElement("div");
+var _3=_1.classPrefix+"DisableWrap";
+if(dojo.render.html.ie){
+_3=_3+" "+_1.classPrefix+"IEDisableWrap";
+}
+dojo.html.setClass(_2,_3);
+var _4=document.createElement("table");
+_2.appendChild(_4);
+var _5=document.createElement("tbody");
+_4.appendChild(_5);
+var tr=document.createElement("tr");
+_5.appendChild(tr);
+var td=document.createElement("td");
+tr.appendChild(td);
+if(_1.domNode.parentNode){
+_1.domNode.parentNode.replaceChild(_2,_1.domNode);
+}
+td.appendChild(_1.domNode);
+_1.domNode=_2;
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDisableWrapExtension.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDisableWrapExtension.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDisableWrapExtension.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDndControllerV3.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDndControllerV3.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDndControllerV3.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDndControllerV3.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,58 @@
+dojo.provide("dojo.widget.TreeDndControllerV3");
+dojo.require("dojo.dnd.TreeDragAndDropV3");
+dojo.require("dojo.experimental");
+dojo.experimental("Tree drag'n'drop' has lots of problems/bugs, it requires dojo drag'n'drop overhaul to work, probably in 0.5");
+dojo.widget.defineWidget("dojo.widget.TreeDndControllerV3",[dojo.widget.HtmlWidget,dojo.widget.TreeCommon],function(){
+this.dragSources={};
+this.dropTargets={};
+this.listenedTrees={};
+},{listenTreeEvents:["afterChangeTree","beforeTreeDestroy","afterAddChild"],listenNodeFilter:function(_1){
+return _1 instanceof dojo.widget.Widget;
+},initialize:function(_2){
+this.treeController=dojo.lang.isString(_2.controller)?dojo.widget.byId(_2.controller):_2.controller;
+if(!this.treeController){
+dojo.raise("treeController must be declared");
+}
+},onBeforeTreeDestroy:function(_3){
+this.unlistenTree(_3.source);
+},onAfterAddChild:function(_4){
+this.listenNode(_4.child);
+},onAfterChangeTree:function(_5){
+if(!_5.oldTree){
+return;
+}
+if(!_5.newTree||!this.listenedTrees[_5.newTree.widgetId]){
+this.processDescendants(_5.node,this.listenNodeFilter,this.unlistenNode);
+}
+if(!this.listenedTrees[_5.oldTree.widgetId]){
+this.processDescendants(_5.node,this.listenNodeFilter,this.listenNode);
+}
+},listenNode:function(_6){
+if(!_6.tree.DndMode){
+return;
+}
+if(this.dragSources[_6.widgetId]||this.dropTargets[_6.widgetId]){
+return;
+}
+var _7=null;
+var _8=null;
+if(!_6.actionIsDisabled(_6.actions.MOVE)){
+var _7=this.makeDragSource(_6);
+this.dragSources[_6.widgetId]=_7;
+}
+var _8=this.makeDropTarget(_6);
+this.dropTargets[_6.widgetId]=_8;
+},makeDragSource:function(_9){
+return new dojo.dnd.TreeDragSourceV3(_9.contentNode,this,_9.tree.widgetId,_9);
+},makeDropTarget:function(_a){
+return new dojo.dnd.TreeDropTargetV3(_a.contentNode,this.treeController,_a.tree.DndAcceptTypes,_a);
+},unlistenNode:function(_b){
+if(this.dragSources[_b.widgetId]){
+dojo.dnd.dragManager.unregisterDragSource(this.dragSources[_b.widgetId]);
+delete this.dragSources[_b.widgetId];
+}
+if(this.dropTargets[_b.widgetId]){
+dojo.dnd.dragManager.unregisterDropTarget(this.dropTargets[_b.widgetId]);
+delete this.dropTargets[_b.widgetId];
+}
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDndControllerV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDndControllerV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDndControllerV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDocIconExtension.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDocIconExtension.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDocIconExtension.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDocIconExtension.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,41 @@
+dojo.provide("dojo.widget.TreeDocIconExtension");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeExtension");
+dojo.widget.defineWidget("dojo.widget.TreeDocIconExtension",[dojo.widget.TreeExtension],{templateCssString:"\n/* CSS for TreeDocIconExtension */\n\n\n/* long vertical line under docIcon, connecting w/ children */\n.TreeStateChildrenYes-ExpandOpen .TreeIconContent {\n    background-image : url('../templates/images/TreeV3/i_long.gif');\n    background-repeat : no-repeat;\n    background-position: 18px 9px;\n}\n\n/* close has higher priority */\n.TreeStateChildrenYes-ExpandClosed .TreeIconContent {\n    background-image : url();\n}\n\n/* higher priotity: same length and appear after background-definition */\n.TreeStateChildrenNo-ExpandLeaf .TreeIconContent {\n    background-image : url();\n}\n\n.TreeStateChildrenNo-ExpandClosed .TreeIconContent {\n    background-image : url();\n}\n\n.TreeStateChildrenNo-ExpandOpen .TreeIconContent {\n    background-image : url();\n}\n\n\n/* highest priority */\n.TreeIconDocument {\n    background-image: url('../templates/images/TreeV3/document.
 gif');\n}\n\n.TreeExpandOpen .TreeIconFolder {\n    background-image: url('../templates/images/TreeV3/open.gif');\n}\n\n.TreeExpandClosed .TreeIconFolder {\n    background-image: url('../templates/images/TreeV3/closed.gif');\n}\n\n/* generic class for docIcon */\n.TreeIcon {\n    width: 18px;\n    height: 18px;\n    float: left;\n    display: inline;\n    background-repeat : no-repeat;\n}\n\ndiv.TreeContent {\n    margin-left: 36px;\n}\n",templateCssPath:dojo.uri.moduleUri("dojo.widget","templates/TreeDocIcon.css"),listenTreeEvents:["afterChangeTree","afterSetFolder","afterUnsetFolder"],listenNodeFilter:function(_1){
+return _1 instanceof dojo.widget.Widget;
+},getnodeDocType:function(_2){
+var _3=_2.getnodeDocType();
+if(!_3){
+_3=_2.isFolder?"Folder":"Document";
+}
+return _3;
+},setnodeDocTypeClass:function(_4){
+var _5=new RegExp("(^|\\s)"+_4.tree.classPrefix+"Icon\\w+","g");
+var _6=dojo.html.getClass(_4.iconNode).replace(_5,"")+" "+_4.tree.classPrefix+"Icon"+this.getnodeDocType(_4);
+dojo.html.setClass(_4.iconNode,_6);
+},onAfterSetFolder:function(_7){
+if(_7.source.iconNode){
+this.setnodeDocTypeClass(_7.source);
+}
+},onAfterUnsetFolder:function(_8){
+this.setnodeDocTypeClass(_8.source);
+},listenNode:function(_9){
+_9.contentIconNode=document.createElement("div");
+var _a=_9.tree.classPrefix+"IconContent";
+if(dojo.render.html.ie){
+_a=_a+" "+_9.tree.classPrefix+"IEIconContent";
+}
+dojo.html.setClass(_9.contentIconNode,_a);
+_9.contentNode.parentNode.replaceChild(_9.contentIconNode,_9.expandNode);
+_9.iconNode=document.createElement("div");
+dojo.html.setClass(_9.iconNode,_9.tree.classPrefix+"Icon"+" "+_9.tree.classPrefix+"Icon"+this.getnodeDocType(_9));
+_9.contentIconNode.appendChild(_9.expandNode);
+_9.contentIconNode.appendChild(_9.iconNode);
+dojo.dom.removeNode(_9.contentNode);
+_9.contentIconNode.appendChild(_9.contentNode);
+},onAfterChangeTree:function(_b){
+var _c=this;
+if(!_b.oldTree||!this.listenedTrees[_b.oldTree.widgetId]){
+this.processDescendants(_b.node,this.listenNodeFilter,this.listenNode);
+}
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDocIconExtension.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDocIconExtension.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeDocIconExtension.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEditor.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEditor.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEditor.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEditor.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,54 @@
+dojo.require("dojo.widget.*");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.RichText");
+dojo.provide("dojo.widget.TreeEditor");
+dojo.widget.defineWidget("dojo.widget.TreeEditor",dojo.widget.HtmlWidget,{singleLineMode:false,saveOnBlur:true,sync:false,selectOnOpen:true,controller:null,node:null,richTextParams:{styleSheets:"src/widget/templates/TreeEditor.css"},getContents:function(){
+return this.richText.getEditorContent();
+},open:function(_1){
+if(!this.richText){
+this.richText=dojo.widget.createWidget("RichText",this.richTextParams,_1.labelNode);
+dojo.event.connect("around",this.richText,"onKeyDown",this,"richText_onKeyDown");
+dojo.event.connect(this.richText,"onBlur",this,"richText_onBlur");
+var _2=this;
+dojo.event.connect(this.richText,"onLoad",function(){
+if(_2.selectOnOpen){
+_2.richText.execCommand("selectall");
+}
+});
+}else{
+this.richText.open(_1.labelNode);
+}
+this.node=_1;
+},close:function(_3){
+this.richText.close(_3);
+this.node=null;
+},isClosed:function(){
+return !this.richText||this.richText.isClosed;
+},execCommand:function(){
+this.richText.execCommand.apply(this.richText,arguments);
+},richText_onKeyDown:function(_4){
+var e=_4.args[0];
+if((!e)&&(this.object)){
+e=dojo.event.browser.fixEvent(this.editor.window.event);
+}
+switch(e.keyCode){
+case e.KEY_ESCAPE:
+this.finish(false);
+dojo.event.browser.stopEvent(e);
+break;
+case e.KEY_ENTER:
+if(e.ctrlKey&&!this.singleLineMode){
+this.execCommand("inserthtml","<br/>");
+}else{
+this.finish(true);
+}
+dojo.event.browser.stopEvent(e);
+break;
+default:
+return _4.proceed();
+}
+},richText_onBlur:function(){
+this.finish(this.saveOnBlur);
+},finish:function(_6){
+return this.controller.editLabelFinish(_6,this.sync);
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEditor.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEditor.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEditor.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEmphasizeOnSelect.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEmphasizeOnSelect.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEmphasizeOnSelect.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEmphasizeOnSelect.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,13 @@
+dojo.provide("dojo.widget.TreeEmphasizeOnSelect");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeSelectorV3");
+dojo.require("dojo.html.selection");
+dojo.widget.defineWidget("dojo.widget.TreeEmphasizeOnSelect",dojo.widget.HtmlWidget,{selector:"",initialize:function(){
+this.selector=dojo.widget.byId(this.selector);
+dojo.event.topic.subscribe(this.selector.eventNames.select,this,"onSelect");
+dojo.event.topic.subscribe(this.selector.eventNames.deselect,this,"onDeselect");
+},onSelect:function(_1){
+_1.node.viewEmphasize();
+},onDeselect:function(_2){
+_2.node.viewUnemphasize();
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEmphasizeOnSelect.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEmphasizeOnSelect.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeEmphasizeOnSelect.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExpandToNodeOnSelect.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExpandToNodeOnSelect.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExpandToNodeOnSelect.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExpandToNodeOnSelect.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,9 @@
+dojo.provide("dojo.widget.TreeExpandToNodeOnSelect");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.widget.defineWidget("dojo.widget.TreeExpandToNodeOnSelect",dojo.widget.HtmlWidget,{selector:"",controller:"",withSelected:false,initialize:function(){
+this.selector=dojo.widget.byId(this.selector);
+this.controller=dojo.widget.byId(this.controller);
+dojo.event.topic.subscribe(this.selector.eventNames.select,this,"onSelect");
+},onSelectEvent:function(_1){
+this.controller.expandToNode(_1.node,this.withSelected);
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExpandToNodeOnSelect.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExpandToNodeOnSelect.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExpandToNodeOnSelect.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExtension.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExtension.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExtension.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExtension.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,6 @@
+dojo.provide("dojo.widget.TreeExtension");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeCommon");
+dojo.widget.defineWidget("dojo.widget.TreeExtension",[dojo.widget.HtmlWidget,dojo.widget.TreeCommon],function(){
+this.listenedTrees={};
+},{});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExtension.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExtension.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeExtension.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLinkExtension.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLinkExtension.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLinkExtension.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLinkExtension.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,33 @@
+dojo.provide("dojo.widget.TreeLinkExtension");
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.TreeExtension");
+dojo.widget.defineWidget("dojo.widget.TreeLinkExtension",dojo.widget.TreeExtension,function(){
+this.params={};
+},{listenTreeEvents:["afterChangeTree"],listenTree:function(_1){
+dojo.widget.TreeCommon.prototype.listenTree.call(this,_1);
+var _2=_1.labelNodeTemplate;
+var _3=this.makeALabel();
+dojo.html.setClass(_3,dojo.html.getClass(_2));
+_2.parentNode.replaceChild(_3,_2);
+},makeALabel:function(){
+var _4=document.createElement("a");
+for(var _5 in this.params){
+if(_5 in {}){
+continue;
+}
+_4.setAttribute(_5,this.params[_5]);
+}
+return _4;
+},onAfterChangeTree:function(_6){
+var _7=this;
+if(!_6.oldTree){
+this.listenNode(_6.node);
+}
+},listenNode:function(_8){
+for(var _9 in _8.object){
+if(_9 in {}){
+continue;
+}
+_8.labelNode.setAttribute(_9,_8.object[_9]);
+}
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLinkExtension.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLinkExtension.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLinkExtension.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingController.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingController.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingController.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingController.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,81 @@
+dojo.provide("dojo.widget.TreeLoadingController");
+dojo.require("dojo.widget.TreeBasicController");
+dojo.require("dojo.event.*");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.widget.defineWidget("dojo.widget.TreeLoadingController",dojo.widget.TreeBasicController,{RPCUrl:"",RPCActionParam:"action",RPCErrorHandler:function(_1,_2,_3){
+alert("RPC Error: "+(_2.message||"no message"));
+},preventCache:true,getRPCUrl:function(_4){
+if(this.RPCUrl=="local"){
+var _5=document.location.href.substr(0,document.location.href.lastIndexOf("/"));
+var _6=_5+"/"+_4;
+return _6;
+}
+if(!this.RPCUrl){
+dojo.raise("Empty RPCUrl: can't load");
+}
+return this.RPCUrl+(this.RPCUrl.indexOf("?")>-1?"&":"?")+this.RPCActionParam+"="+_4;
+},loadProcessResponse:function(_7,_8,_9,_a){
+if(!dojo.lang.isUndefined(_8.error)){
+this.RPCErrorHandler("server",_8.error);
+return false;
+}
+var _b=_8;
+if(!dojo.lang.isArray(_b)){
+dojo.raise("loadProcessResponse: Not array loaded: "+_b);
+}
+for(var i=0;i<_b.length;i++){
+_b[i]=dojo.widget.createWidget(_7.widgetType,_b[i]);
+_7.addChild(_b[i]);
+}
+_7.state=_7.loadStates.LOADED;
+if(dojo.lang.isFunction(_a)){
+_a.apply(dojo.lang.isUndefined(_9)?this:_9,[_7,_b]);
+}
+},getInfo:function(_d){
+return _d.getInfo();
+},runRPC:function(kw){
+var _f=this;
+var _10=function(_11,_12,evt){
+if(kw.lock){
+dojo.lang.forEach(kw.lock,function(t){
+t.unlock();
+});
+}
+if(_11=="load"){
+kw.load.call(this,_12);
+}else{
+this.RPCErrorHandler(_11,_12,evt);
+}
+};
+if(kw.lock){
+dojo.lang.forEach(kw.lock,function(t){
+t.lock();
+});
+}
+dojo.io.bind({url:kw.url,handle:dojo.lang.hitch(this,_10),mimetype:"text/json",preventCache:_f.preventCache,sync:kw.sync,content:{data:dojo.json.serialize(kw.params)}});
+},loadRemote:function(_16,_17,_18,_19){
+var _1a=this;
+var _1b={node:this.getInfo(_16),tree:this.getInfo(_16.tree)};
+this.runRPC({url:this.getRPCUrl("getChildren"),load:function(_1c){
+_1a.loadProcessResponse(_16,_1c,_18,_19);
+},sync:_17,lock:[_16],params:_1b});
+},expand:function(_1d,_1e,_1f,_20){
+if(_1d.state==_1d.loadStates.UNCHECKED&&_1d.isFolder){
+this.loadRemote(_1d,_1e,this,function(_21,_22){
+this.expand(_21,_1e,_1f,_20);
+});
+return;
+}
+dojo.widget.TreeBasicController.prototype.expand.apply(this,arguments);
+},doMove:function(_23,_24,_25){
+if(_24.isTreeNode&&_24.state==_24.loadStates.UNCHECKED){
+this.loadRemote(_24,true);
+}
+return dojo.widget.TreeBasicController.prototype.doMove.apply(this,arguments);
+},doCreateChild:function(_26,_27,_28,_29,_2a){
+if(_26.state==_26.loadStates.UNCHECKED){
+this.loadRemote(_26,true);
+}
+return dojo.widget.TreeBasicController.prototype.doCreateChild.apply(this,arguments);
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingController.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingController.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingController.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingControllerV3.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingControllerV3.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingControllerV3.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingControllerV3.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,237 @@
+dojo.provide("dojo.widget.TreeLoadingControllerV3");
+dojo.require("dojo.widget.TreeBasicControllerV3");
+dojo.require("dojo.event.*");
+dojo.require("dojo.json");
+dojo.require("dojo.io.*");
+dojo.require("dojo.Deferred");
+dojo.require("dojo.DeferredList");
+dojo.declare("dojo.Error",Error,function(_1,_2){
+this.message=_1;
+this.extra=_2;
+this.stack=(new Error()).stack;
+});
+dojo.declare("dojo.CommunicationError",dojo.Error,function(){
+this.name="CommunicationError";
+});
+dojo.declare("dojo.LockedError",dojo.Error,function(){
+this.name="LockedError";
+});
+dojo.declare("dojo.FormatError",dojo.Error,function(){
+this.name="FormatError";
+});
+dojo.declare("dojo.RpcError",dojo.Error,function(){
+this.name="RpcError";
+});
+dojo.widget.defineWidget("dojo.widget.TreeLoadingControllerV3",dojo.widget.TreeBasicControllerV3,{RpcUrl:"",RpcActionParam:"action",preventCache:true,checkValidRpcResponse:function(_3,_4){
+if(_3!="load"){
+var _5={};
+for(var i=1;i<arguments.length;i++){
+dojo.lang.mixin(_5,arguments[i]);
+}
+return new dojo.CommunicationError(_4,_5);
+}
+if(typeof _4!="object"){
+return new dojo.FormatError("Wrong server answer format "+(_4&&_4.toSource?_4.toSource():_4)+" type "+(typeof _4),_4);
+}
+if(!dojo.lang.isUndefined(_4.error)){
+return new dojo.RpcError(_4.error,_4);
+}
+return false;
+},getDeferredBindHandler:function(_7){
+return dojo.lang.hitch(this,function(_8,_9){
+var _a=this.checkValidRpcResponse.apply(this,arguments);
+if(_a){
+_7.errback(_a);
+return;
+}
+_7.callback(_9);
+});
+},getRpcUrl:function(_b){
+if(this.RpcUrl=="local"){
+var _c=document.location.href.substr(0,document.location.href.lastIndexOf("/"));
+var _d=_c+"/local/"+_b;
+return _d;
+}
+if(!this.RpcUrl){
+dojo.raise("Empty RpcUrl: can't load");
+}
+var _e=this.RpcUrl;
+if(_e.indexOf("/")!=0){
+var _f=document.location.href.replace(/:\/\/.*/,"");
+var _10=document.location.href.substring(_f.length+3);
+if(_10.lastIndexOf("/")!=_10.length-1){
+_10=_10.replace(/\/[^\/]+$/,"/");
+}
+if(_10.lastIndexOf("/")!=_10.length-1){
+_10=_10+"/";
+}
+_e=_f+"://"+_10+_e;
+}
+return _e+(_e.indexOf("?")>-1?"&":"?")+this.RpcActionParam+"="+_b;
+},loadProcessResponse:function(_11,_12){
+if(!dojo.lang.isArray(_12)){
+throw new dojo.FormatError("loadProcessResponse: Not array loaded: "+_12);
+}
+_11.setChildren(_12);
+},runRpc:function(kw){
+var _14=this;
+var _15=new dojo.Deferred();
+dojo.io.bind({url:kw.url,handle:this.getDeferredBindHandler(_15),mimetype:"text/javascript",preventCache:this.preventCache,sync:kw.sync,content:{data:dojo.json.serialize(kw.params)}});
+return _15;
+},loadRemote:function(_16,_17){
+var _18=this;
+var _19={node:this.getInfo(_16),tree:this.getInfo(_16.tree)};
+var _1a=this.runRpc({url:this.getRpcUrl("getChildren"),sync:_17,params:_19});
+_1a.addCallback(function(res){
+return _18.loadProcessResponse(_16,res);
+});
+return _1a;
+},batchExpandTimeout:0,recurseToLevel:function(_1c,_1d,_1e,_1f,_20,_21){
+if(_1d==0){
+return;
+}
+if(!_20){
+var _22=_1e.call(_1f,_1c,_21);
+}else{
+var _22=dojo.Deferred.prototype.makeCalled();
+}
+var _23=this;
+var _24=function(){
+var _25=_1c.children;
+var _26=[];
+for(var i=0;i<_25.length;i++){
+_26.push(_23.recurseToLevel(_25[i],_1d-1,_1e,_1f,_21));
+}
+return new dojo.DeferredList(_26);
+};
+_22.addCallback(_24);
+return _22;
+},expandToLevel:function(_28,_29,_2a){
+return this.recurseToLevel(_28,_28.isTree?_29+1:_29,this.expand,this,_28.isTree,_2a);
+},loadToLevel:function(_2b,_2c,_2d){
+return this.recurseToLevel(_2b,_2b.isTree?_2c+1:_2c,this.loadIfNeeded,this,_2b.isTree,_2d);
+},loadAll:function(_2e,_2f){
+return this.loadToLevel(_2e,Number.POSITIVE_INFINITY,_2f);
+},expand:function(_30,_31){
+var _32=this;
+var _33=this.startProcessing(_30);
+_33.addCallback(function(){
+return _32.loadIfNeeded(_30,_31);
+});
+_33.addCallback(function(res){
+dojo.widget.TreeBasicControllerV3.prototype.expand(_30);
+return res;
+});
+_33.addBoth(function(res){
+_32.finishProcessing(_30);
+return res;
+});
+return _33;
+},loadIfNeeded:function(_36,_37){
+var _38;
+if(_36.state==_36.loadStates.UNCHECKED&&_36.isFolder&&!_36.children.length){
+_38=this.loadRemote(_36,_37);
+}else{
+_38=new dojo.Deferred();
+_38.callback();
+}
+return _38;
+},runStages:function(_39,_3a,_3b,_3c,_3d,_3e){
+var _3f=this;
+if(_39&&!_39.apply(this,_3e)){
+return false;
+}
+var _40=dojo.Deferred.prototype.makeCalled();
+if(_3a){
+_40.addCallback(function(){
+return _3a.apply(_3f,_3e);
+});
+}
+if(_3b){
+_40.addCallback(function(){
+var res=_3b.apply(_3f,_3e);
+return res;
+});
+}
+if(_3c){
+_40.addBoth(function(res){
+_3c.apply(_3f,_3e);
+return res;
+});
+}
+if(_3d){
+_40.addCallback(function(res){
+_3d.apply(_3f,_3e);
+return res;
+});
+}
+return _40;
+},startProcessing:function(_44){
+var _45=new dojo.Deferred();
+var _46=dojo.lang.isArray(_44)?_44:arguments;
+for(var i=0;i<_46.length;i++){
+if(_46[i].isLocked()){
+_45.errback(new dojo.LockedError("item locked "+_46[i],_46[i]));
+return _45;
+}
+if(_46[i].isTreeNode){
+_46[i].markProcessing();
+}
+_46[i].lock();
+}
+_45.callback();
+return _45;
+},finishProcessing:function(_48){
+var _49=dojo.lang.isArray(_48)?_48:arguments;
+for(var i=0;i<_49.length;i++){
+if(!_49[i].hasLock()){
+continue;
+}
+_49[i].unlock();
+if(_49[i].isTreeNode){
+_49[i].unmarkProcessing();
+}
+}
+},refreshChildren:function(_4b,_4c){
+return this.runStages(null,this.prepareRefreshChildren,this.doRefreshChildren,this.finalizeRefreshChildren,this.exposeRefreshChildren,arguments);
+},prepareRefreshChildren:function(_4d,_4e){
+var _4f=this.startProcessing(_4d);
+_4d.destroyChildren();
+_4d.state=_4d.loadStates.UNCHECKED;
+return _4f;
+},doRefreshChildren:function(_50,_51){
+return this.loadRemote(_50,_51);
+},finalizeRefreshChildren:function(_52,_53){
+this.finishProcessing(_52);
+},exposeRefreshChildren:function(_54,_55){
+_54.expand();
+},move:function(_56,_57,_58){
+return this.runStages(this.canMove,this.prepareMove,this.doMove,this.finalizeMove,this.exposeMove,arguments);
+},doMove:function(_59,_5a,_5b){
+_59.tree.move(_59,_5a,_5b);
+return true;
+},prepareMove:function(_5c,_5d,_5e,_5f){
+var _60=this.startProcessing(_5d);
+_60.addCallback(dojo.lang.hitch(this,function(){
+return this.loadIfNeeded(_5d,_5f);
+}));
+return _60;
+},finalizeMove:function(_61,_62){
+this.finishProcessing(_62);
+},prepareCreateChild:function(_63,_64,_65,_66){
+var _67=this.startProcessing(_63);
+_67.addCallback(dojo.lang.hitch(this,function(){
+return this.loadIfNeeded(_63,_66);
+}));
+return _67;
+},finalizeCreateChild:function(_68){
+this.finishProcessing(_68);
+},prepareClone:function(_69,_6a,_6b,_6c,_6d){
+var _6e=this.startProcessing(_69,_6a);
+_6e.addCallback(dojo.lang.hitch(this,function(){
+return this.loadIfNeeded(_6a,_6d);
+}));
+return _6e;
+},finalizeClone:function(_6f,_70){
+this.finishProcessing(_6f,_70);
+}});

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingControllerV3.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingControllerV3.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeLoadingControllerV3.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeNode.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeNode.js?rev=618461&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeNode.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3-custom-4.1.5/src/widget/TreeNode.js Mon Feb  4 14:07:13 2008
@@ -0,0 +1,233 @@
+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:"",afterLabelNode: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(_1){
+var _2=this;
+var _3=false;
+if(this.tree.strictFolders&&_1==this.actions.ADDCHILD&&!this.isFolder){
+_3=true;
+}
+if(dojo.lang.inArray(_2.actionsDisabled,_1)){
+_3=true;
+}
+if(this.isLocked()){
+_3=true;
+}
+return _3;
+},getInfo:function(){
+var _4={widgetId:this.widgetId,objectId:this.objectId,index:this.getParentIndex(),isFolder:this.isFolder};
+return _4;
+},initialize:function(_5,_6){
+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(_8){
+for(var i=0;i<this.children.length;i++){
+this.children[i].adjustDepth(_8);
+}
+this.depth+=_8;
+if(_8>0){
+for(var i=0;i<_8;i++){
+var _a=this.tree.makeBlankImg();
+this.imgs.unshift(_a);
+dojo.html.insertBefore(this.imgs[0],this.domNode.firstChild);
+}
+}
+if(_8<0){
+for(var i=0;i<-_8;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(_c,_d){
+this.tree=_c;
+this.depth=_d;
+this.imgs=[];
+for(var i=0;i<this.depth+1;i++){
+var _f=this.tree.makeBlankImg();
+this.domNode.insertBefore(_f,this.labelNode);
+this.imgs.push(_f);
+}
+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 _10=this.children[i].createDOMNode(this.tree,this.depth+1);
+this.containerNode.appendChild(_10);
+}
+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 _14=this.parent;
+for(var i=0;i<this.depth;i++){
+var idx=this.imgs.length-(3+i);
+var img=(this.tree.showGrid&&!_14.isLastChild())?this.tree.gridIconSrcV:this.tree.blankIconSrc;
+this.setGridImage(idx,img);
+_14=_14.parent;
+}
+},updateExpandGridColumn:function(){
+if(!this.tree.showGrid){
+return;
+}
+var _18=this;
+var _19=this.isLastChild()?this.tree.blankIconSrc:this.tree.gridIconSrcV;
+dojo.lang.forEach(_18.getDescendants(),function(_1a){
+_1a.setGridImage(_18.depth,_19);
+});
+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(_1d){
+dojo.lang.mixin(this,_1d);
+if(_1d.title){
+this.titleNode.innerHTML=this.title;
+}
+if(_1d.afterLabel){
+this.afterLabelNode.innerHTML=this.afterLabel;
+}
+if(_1d.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+"]";
+}});