You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2007/05/09 04:56:45 UTC

svn commit: r536397 [29/36] - in /tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo: ./ nls/ src/ src/animation/ src/cal/ src/charting/ src/charting/svg/ src/charting/vml/ src/collections/ src/crypto/ src/data/ src/data/core/ src/data/old/ src/da...

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgButton.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgButton.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgButton.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgButton.js Tue May  8 19:56:15 2007
@@ -0,0 +1,16 @@
+
+dojo.provide("dojo.widget.SvgButton");dojo.require("dojo.experimental");dojo.experimental("dojo.widget.SvgButton");dojo.widget.SvgButton = function () {dojo.widget.DomButton.call(this);dojo.widget.SvgWidget.call(this);this.onFoo = function () {alert("bar");};this.label = "huzzah!";this.setLabel = function (x, y, textSize, label, shape) {var coords = dojo.widget.SvgButton.prototype.coordinates(x, y, textSize, label, shape);var textString = "";switch (shape) {case "ellipse":
+textString = "<text x='" + coords[6] + "' y='" + coords[7] + "'>" + label + "</text>";break;case "rectangle":
+textString = "";break;case "circle":
+textString = "";break;}
+return textString;};this.fillInTemplate = function (x, y, textSize, label, shape) {this.textSize = textSize || 12;this.label = label;var textWidth = this.label.length * this.textSize;};};dojo.inherits(dojo.widget.SvgButton, dojo.widget.DomButton);dojo.widget.SvgButton.prototype.shapeString = function (x, y, textSize, label, shape) {switch (shape) {case "ellipse":
+var coords = dojo.widget.SvgButton.prototype.coordinates(x, y, textSize, label, shape);return "<ellipse cx='" + coords[4] + "' cy='" + coords[5] + "' rx='" + coords[2] + "' ry='" + coords[3] + "'/>";break;case "rect":
+return "";break;case "circle":
+return "";break;}};dojo.widget.SvgButton.prototype.coordinates = function (x, y, textSize, label, shape) {switch (shape) {case "ellipse":
+var buttonWidth = label.length * textSize;var buttonHeight = textSize * 2.5;var rx = buttonWidth / 2;var ry = buttonHeight / 2;var cx = rx + x;var cy = ry + y;var textX = cx - rx * textSize / 25;var textY = cy * 1.1;return [buttonWidth, buttonHeight, rx, ry, cx, cy, textX, textY];break;case "rectangle":
+return "";break;case "circle":
+return "";break;}};dojo.widget.SvgButton.prototype.labelString = function (x, y, textSize, label, shape) {var textString = "";var coords = dojo.widget.SvgButton.prototype.coordinates(x, y, textSize, label, shape);switch (shape) {case "ellipse":
+textString = "<text x='" + coords[6] + "' y='" + coords[7] + "'>" + label + "</text>";break;case "rectangle":
+textString = "";break;case "circle":
+textString = "";break;}
+return textString;};dojo.widget.SvgButton.prototype.templateString = function (x, y, textSize, label, shape) {return "<g class='dojoButton' dojoAttachEvent='onClick; onMouseMove: onFoo;' dojoAttachPoint='labelNode'>" + dojo.widgets.SVGButton.prototype.shapeString(x, y, textSize, label, shape) + dojo.widget.SVGButton.prototype.labelString(x, y, textSize, label, shape) + "</g>";};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgButton.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgButton.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgButton.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgWidget.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgWidget.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgWidget.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgWidget.js Tue May  8 19:56:15 2007
@@ -0,0 +1,4 @@
+
+dojo.require("dojo.widget.DomWidget");dojo.provide("dojo.widget.SvgWidget");dojo.provide("dojo.widget.SVGWidget");dojo.require("dojo.dom");dojo.require("dojo.experimental");dojo.experimental("dojo.widget.SvgWidget");dojo.widget.declare("dojo.widget.SvgWidget", dojo.widget.DomWidget, {createNodesFromText:function (txt, wrap) {return dojo.svg.createNodesFromText(txt, wrap);}});dojo.widget.SVGWidget = dojo.widget.SvgWidget;try {(function () {var tf = function () {var rw = new function () {dojo.widget.SvgWidget.call(this);this.buildRendering = function () {return;};this.destroyRendering = function () {return;};this.postInitialize = function () {return;};this.widgetType = "SVGRootWidget";this.domNode = document.documentElement;};var wm = dojo.widget.manager;wm.root = rw;wm.add(rw);wm.getWidgetFromNode = function (node) {var filter = function (x) {if (x.domNode == node) {return true;}};var widgets = [];while ((node) && (widgets.length < 1)) {widgets = this.getWidgetsByFilter(filte
 r);node = node.parentNode;}
+if (widgets.length > 0) {return widgets[0];} else {return null;}};wm.getWidgetFromEvent = function (domEvt) {return this.getWidgetFromNode(domEvt.target);};wm.getWidgetFromPrimitive = wm.getWidgetFromNode;};dojo.event.connect(dojo.hostenv, "loaded", tf);})();}
+catch (e) {alert(e);}

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgWidget.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgWidget.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SvgWidget.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SwtWidget.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SwtWidget.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SwtWidget.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SwtWidget.js Tue May  8 19:56:15 2007
@@ -0,0 +1,4 @@
+
+dojo.provide("dojo.widget.SwtWidget");dojo.require("dojo.experimental");dojo.experimental("dojo.widget.SwtWidget");dojo.require("dojo.event.*");dojo.require("dojo.widget.Widget");dojo.require("dojo.uri.*");dojo.require("dojo.lang.func");dojo.require("dojo.lang.extras");try {importPackage(Packages.org.eclipse.swt.widgets);dojo.declare("dojo.widget.SwtWidget", dojo.widget.Widget, function () {if ((arguments.length > 0) && (typeof arguments[0] == "object")) {this.create(arguments[0]);}}, {display:null, shell:null, show:function () {}, hide:function () {}, addChild:function () {}, registerChild:function () {}, addWidgetAsDirectChild:function () {}, removeChild:function () {}, destroyRendering:function () {}, postInitialize:function () {}});dojo.widget.SwtWidget.prototype.display = new Display();dojo.widget.SwtWidget.prototype.shell = new Shell(dojo.widget.SwtWidget.prototype.display);dojo.widget.manager.startShell = function () {var sh = dojo.widget.SwtWidget.prototype.shell;var
  d = dojo.widget.SwtWidget.prototype.display;sh.open();while (!sh.isDisposed()) {dojo.widget.manager.doNext();if (!d.readAndDispatch()) {d.sleep();}}
+d.dispose();};}
+catch (e) {dojo.debug("dojo.widget.SwtWidget not loaded. SWT classes not available");}

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SwtWidget.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SwtWidget.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SwtWidget.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TabContainer.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TabContainer.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TabContainer.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TabContainer.js Tue May  8 19:56:15 2007
@@ -0,0 +1,8 @@
+
+dojo.provide("dojo.widget.TabContainer");dojo.require("dojo.lang.func");dojo.require("dojo.widget.*");dojo.require("dojo.widget.PageContainer");dojo.require("dojo.event.*");dojo.require("dojo.html.selection");dojo.require("dojo.widget.html.layout");dojo.widget.defineWidget("dojo.widget.TabContainer", dojo.widget.PageContainer, {labelPosition:"top", closeButton:"none", templateString:null, templateString:"<div id=\"${this.widgetId}\" class=\"dojoTabContainer\">\n\t<div dojoAttachPoint=\"tablistNode\"></div>\n\t<div class=\"dojoTabPaneWrapper\" dojoAttachPoint=\"containerNode\" dojoAttachEvent=\"onKey\" waiRole=\"tabpanel\"></div>\n</div>\n", templateCssString:".dojoTabContainer {\n\tposition : relative;\n}\n\n.dojoTabPaneWrapper {\n\tborder : 1px solid #6290d2;\n\t_zoom: 1; \n\tdisplay: block;\n\tclear: both;\n\toverflow: hidden;\n}\n\n.dojoTabLabels-top {\n\tposition : relative;\n\ttop : 0px;\n\tleft : 0px;\n\toverflow : visible;\n\tmargin-bottom : -1px;\n\twidth : 100%;\n\t
 z-index: 2;\t\n}\n\n.dojoTabNoLayout.dojoTabLabels-top .dojoTab {\n\tmargin-bottom: -1px;\n\t_margin-bottom: 0px; \n}\n\n.dojoTab {\n\tposition : relative;\n\tfloat : left;\n\tpadding-left : 9px;\n\tborder-bottom : 1px solid #6290d2;\n\tbackground : url(images/tab_left.gif) no-repeat left top;\n\tcursor: pointer;\n\twhite-space: nowrap;\n\tz-index: 3;\n}\n\n.dojoTab div {\n\tdisplay : block;\n\tpadding : 4px 15px 4px 6px;\n\tbackground : url(images/tab_top_right.gif) no-repeat right top;\n\tcolor : #333;\n\tfont-size : 90%;\n}\n\n.dojoTab .close {\n\tdisplay : inline-block;\n\theight : 12px;\n\twidth : 12px;\n\tpadding : 0 12px 0 0;\n\tmargin : 0 -10px 0 10px;\n\tcursor : default;\n\tfont-size: small;\n}\n\n.dojoTab .closeImage {\n\tbackground : url(images/tab_close.gif) no-repeat right top;\n}\n\n.dojoTab .closeHover {\n\tbackground-image : url(images/tab_close_h.gif);\n}\n\n.dojoTab.current {\n\tpadding-bottom : 1px;\n\tborder-bottom : 0;\n\tbackground-position : 0 -150px;
 \n}\n\n.dojoTab.current div {\n\tpadding-bottom : 5px;\n\tmargin-bottom : -1px;\n\tbackground-position : 100% -150px;\n}\n\n\n\n.dojoTabLabels-bottom {\n\tposition : relative;\n\tbottom : 0px;\n\tleft : 0px;\n\toverflow : visible;\n\tmargin-top : -1px;\n\twidth : 100%;\n\tz-index: 2;\n}\n\n.dojoTabNoLayout.dojoTabLabels-bottom {\n\tposition : relative;\n}\n\n.dojoTabLabels-bottom .dojoTab {\n\tborder-top :  1px solid #6290d2;\n\tborder-bottom : 0;\n\tbackground : url(images/tab_bot_left.gif) no-repeat left bottom;\n}\n\n.dojoTabLabels-bottom .dojoTab div {\n\tbackground : url(images/tab_bot_right.gif) no-repeat right bottom;\n}\n\n.dojoTabLabels-bottom .dojoTab.current {\n\tborder-top : 0;\n\tbackground : url(images/tab_bot_left_curr.gif) no-repeat left bottom;\n}\n\n.dojoTabLabels-bottom .dojoTab.current div {\n\tpadding-top : 4px;\n\tbackground : url(images/tab_bot_right_curr.gif) no-repeat right bottom;\n}\n\n\n\n.dojoTabLabels-right-h {\n\toverflow : visible;\n\tmargin-l
 eft : -1px;\n\tz-index: 2;\n}\n\n.dojoTabLabels-right-h .dojoTab {\n\tpadding-left : 0;\n\tborder-left :  1px solid #6290d2;\n\tborder-bottom : 0;\n\tbackground : url(images/tab_bot_right.gif) no-repeat right bottom;\n\tfloat : none;\n}\n\n.dojoTabLabels-right-h .dojoTab div {\n\tpadding : 4px 15px 4px 15px;\n}\n\n.dojoTabLabels-right-h .dojoTab.current {\n\tborder-left :  0;\n\tborder-bottom :  1px solid #6290d2;\n}\n\n\n\n.dojoTabLabels-left-h {\n\toverflow : visible;\n\tmargin-right : -1px;\n\tz-index: 2;\n}\n\n.dojoTabLabels-left-h .dojoTab {\n\tborder-right :  1px solid #6290d2;\n\tborder-bottom : 0;\n\tfloat : none;\n\tbackground : url(images/tab_top_left.gif) no-repeat left top;\n}\n\n.dojoTabLabels-left-h .dojoTab.current {\n\tborder-right : 0;\n\tborder-bottom :  1px solid #6290d2;\n\tpadding-bottom : 0;\n\tbackground : url(images/tab_top_left.gif) no-repeat 0 -150px;\n}\n\n.dojoTabLabels-left-h .dojoTab div {\n\tbackground : 0;\n\tborder-bottom :  1px solid #6290d2
 ;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/TabContainer.css"), selectedTab:"", postMixInProperties:function () {if (this.selectedTab) {dojo.deprecated("selectedTab deprecated, use selectedChild instead, will be removed in", "0.5");this.selectedChild = this.selectedTab;}
+if (this.closeButton != "none") {dojo.deprecated("closeButton deprecated, use closable='true' on each child instead, will be removed in", "0.5");}
+dojo.widget.TabContainer.superclass.postMixInProperties.apply(this, arguments);}, fillInTemplate:function () {this.tablist = dojo.widget.createWidget("TabController", {id:this.widgetId + "_tablist", labelPosition:this.labelPosition, doLayout:this.doLayout, containerId:this.widgetId}, this.tablistNode);dojo.widget.TabContainer.superclass.fillInTemplate.apply(this, arguments);}, postCreate:function (args, frag) {dojo.widget.TabContainer.superclass.postCreate.apply(this, arguments);this.onResized();}, _setupChild:function (tab) {if (this.closeButton == "tab" || this.closeButton == "pane") {tab.closable = true;}
+dojo.html.addClass(tab.domNode, "dojoTabPane");dojo.widget.TabContainer.superclass._setupChild.apply(this, arguments);}, onResized:function () {if (!this.doLayout) {return;}
+var labelAlign = this.labelPosition.replace(/-h/, "");var children = [{domNode:this.tablist.domNode, layoutAlign:labelAlign}, {domNode:this.containerNode, layoutAlign:"client"}];dojo.widget.html.layout(this.domNode, children);if (this.selectedChildWidget) {var containerSize = dojo.html.getContentBox(this.containerNode);this.selectedChildWidget.resizeTo(containerSize.width, containerSize.height);}}, selectTab:function (tab, callingWidget) {dojo.deprecated("use selectChild() rather than selectTab(), selectTab() will be removed in", "0.5");this.selectChild(tab, callingWidget);}, onKey:function (e) {if (e.keyCode == e.KEY_UP_ARROW && e.ctrlKey) {var button = this.correspondingTabButton || this.selectedTabWidget.tabButton;button.focus();dojo.event.browser.stopEvent(e);} else {if (e.keyCode == e.KEY_DELETE && e.altKey) {if (this.selectedChildWidget.closable) {this.closeChild(this.selectedChildWidget);dojo.event.browser.stopEvent(e);}}
+}}, destroy:function () {this.tablist.destroy();dojo.widget.TabContainer.superclass.destroy.apply(this, arguments);}});dojo.widget.defineWidget("dojo.widget.TabController", dojo.widget.PageController, {templateString:"<div wairole='tablist' dojoAttachEvent='onKey'></div>", labelPosition:"top", doLayout:true, "class":"", buttonWidget:"TabButton", postMixInProperties:function () {if (!this["class"]) {this["class"] = "dojoTabLabels-" + this.labelPosition + (this.doLayout ? "" : " dojoTabNoLayout");}
+dojo.widget.TabController.superclass.postMixInProperties.apply(this, arguments);}});dojo.widget.defineWidget("dojo.widget.TabButton", dojo.widget.PageButton, {templateString:"<div class='dojoTab' dojoAttachEvent='onClick'>" + "<div dojoAttachPoint='innerDiv'>" + "<span dojoAttachPoint='titleNode' tabIndex='-1' waiRole='tab'>${this.label}</span>" + "<span dojoAttachPoint='closeButtonNode' class='close closeImage' style='${this.closeButtonStyle}'" + "dojoAttachEvent='onMouseOver:onCloseButtonMouseOver; onMouseOut:onCloseButtonMouseOut; onClick:onCloseButtonClick'></span>" + "</div>" + "</div>", postMixInProperties:function () {this.closeButtonStyle = this.closeButton ? "" : "display: none";dojo.widget.TabButton.superclass.postMixInProperties.apply(this, arguments);}, fillInTemplate:function () {dojo.html.disableSelection(this.titleNode);dojo.widget.TabButton.superclass.fillInTemplate.apply(this, arguments);}, onCloseButtonClick:function (evt) {evt.stopPropagation();dojo.widget
 .TabButton.superclass.onCloseButtonClick.apply(this, arguments);}});dojo.widget.defineWidget("dojo.widget.a11y.TabButton", dojo.widget.TabButton, {imgPath:dojo.uri.moduleUri("dojo.widget", "templates/images/tab_close.gif"), templateString:"<div class='dojoTab' dojoAttachEvent='onClick;onKey'>" + "<div dojoAttachPoint='innerDiv'>" + "<span dojoAttachPoint='titleNode' tabIndex='-1' waiRole='tab'>${this.label}</span>" + "<img class='close' src='${this.imgPath}' alt='[x]' style='${this.closeButtonStyle}'" + "dojoAttachEvent='onClick:onCloseButtonClick'>" + "</div>" + "</div>"});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TabContainer.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TabContainer.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TabContainer.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TaskBar.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TaskBar.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TaskBar.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TaskBar.js Tue May  8 19:56:15 2007
@@ -0,0 +1,4 @@
+
+dojo.provide("dojo.widget.TaskBar");dojo.require("dojo.widget.*");dojo.require("dojo.widget.FloatingPane");dojo.require("dojo.widget.HtmlWidget");dojo.require("dojo.event.*");dojo.require("dojo.html.selection");dojo.widget.defineWidget("dojo.widget.TaskBarItem", dojo.widget.HtmlWidget, {iconSrc:"", caption:"Untitled", templateString:"<div class=\"dojoTaskBarItem\" dojoAttachEvent=\"onClick\">\n</div>\n", templateCssString:".dojoTaskBarItem {\n\tdisplay: inline-block;\n\tbackground-color: ThreeDFace;\n\tborder: outset 2px;\n\tmargin-right: 5px;\n\tcursor: pointer;\n\theight: 35px;\n\twidth: 100px;\n\tfont-size: 10pt;\n\twhite-space: nowrap;\n\ttext-align: center;\n\tfloat: left;\n\toverflow: hidden;\n}\n\n.dojoTaskBarItem img {\n\tvertical-align: middle;\n\tmargin-right: 5px;\n\tmargin-left: 5px;\t\n\theight: 32px;\n\twidth: 32px;\n}\n\n.dojoTaskBarItem a {\n\t color: black;\n\ttext-decoration: none;\n}\n\n\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Task
 Bar.css"), fillInTemplate:function () {if (this.iconSrc) {var img = document.createElement("img");img.src = this.iconSrc;this.domNode.appendChild(img);}
+this.domNode.appendChild(document.createTextNode(this.caption));dojo.html.disableSelection(this.domNode);}, postCreate:function () {this.window = dojo.widget.getWidgetById(this.windowId);this.window.explodeSrc = this.domNode;dojo.event.connect(this.window, "destroy", this, "destroy");}, onClick:function () {this.window.toggleDisplay();}});dojo.widget.defineWidget("dojo.widget.TaskBar", dojo.widget.FloatingPane, function () {this._addChildStack = [];}, {resizable:false, titleBarDisplay:false, addChild:function (child) {if (!this.containerNode) {this._addChildStack.push(child);} else {if (this._addChildStack.length > 0) {var oarr = this._addChildStack;this._addChildStack = [];dojo.lang.forEach(oarr, this.addChild, this);}}
+var tbi = dojo.widget.createWidget("TaskBarItem", {windowId:child.widgetId, caption:child.title, iconSrc:child.iconSrc});dojo.widget.TaskBar.superclass.addChild.call(this, tbi);}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TaskBar.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TaskBar.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TaskBar.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Textbox.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Textbox.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Textbox.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Textbox.js Tue May  8 19:56:15 2007
@@ -0,0 +1,6 @@
+
+dojo.provide("dojo.widget.Textbox");dojo.require("dojo.widget.*");dojo.require("dojo.widget.HtmlWidget");dojo.require("dojo.widget.Manager");dojo.require("dojo.widget.Parse");dojo.require("dojo.xml.Parse");dojo.require("dojo.lang.array");dojo.require("dojo.lang.common");dojo.require("dojo.i18n.common");dojo.requireLocalization("dojo.widget", "validate", null, "fr,ja,zh-cn,ROOT", "zh-cn,ja,fr,ROOT");dojo.widget.defineWidget("dojo.widget.Textbox", dojo.widget.HtmlWidget, {className:"", name:"", value:"", type:"", trim:false, uppercase:false, lowercase:false, ucFirst:false, digit:false, htmlfloat:"none", templateString:"<span style='float:${this.htmlfloat};'>\n\t<input dojoAttachPoint='textbox' dojoAttachEvent='onblur;onfocus'\n\t\tid='${this.widgetId}' name='${this.name}'\n\t\tclass='${this.className}' type='${this.type}' >\n</span>\n", textbox:null, fillInTemplate:function () {this.textbox.value = this.value;}, filter:function () {if (this.trim) {this.textbox.value = this.tex
 tbox.value.replace(/(^\s*|\s*$)/g, "");}
+if (this.uppercase) {this.textbox.value = this.textbox.value.toUpperCase();}
+if (this.lowercase) {this.textbox.value = this.textbox.value.toLowerCase();}
+if (this.ucFirst) {this.textbox.value = this.textbox.value.replace(/\b\w+\b/g, function (word) {return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();});}
+if (this.digit) {this.textbox.value = this.textbox.value.replace(/\D/g, "");}}, onfocus:function () {}, onblur:function () {this.filter();}, mixInProperties:function (localProperties, frag) {dojo.widget.Textbox.superclass.mixInProperties.apply(this, arguments);if (localProperties["class"]) {this.className = localProperties["class"];}}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Textbox.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Textbox.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Textbox.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TimePicker.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TimePicker.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TimePicker.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TimePicker.js Tue May  8 19:56:15 2007
@@ -0,0 +1,21 @@
+
+dojo.provide("dojo.widget.TimePicker");dojo.require("dojo.widget.*");dojo.require("dojo.widget.HtmlWidget");dojo.require("dojo.event.*");dojo.require("dojo.date.serialize");dojo.require("dojo.date.format");dojo.require("dojo.dom");dojo.require("dojo.html.style");dojo.requireLocalization("dojo.i18n.calendar", "gregorian", null, "de,en,es,fi,fr,hu,ja,it,ko,nl,pt,sv,zh,pt-br,zh-cn,zh-hk,zh-tw,ROOT", "zh-cn,zh-hk,de,ko,zh-tw,zh,ja,fi,pt-br,fr,es,ROOT,hu,en,it,sv,nl,pt");dojo.requireLocalization("dojo.widget", "TimePicker", null, "ROOT", "ROOT");dojo.widget.defineWidget("dojo.widget.TimePicker", dojo.widget.HtmlWidget, function () {this.time = "";this.useDefaultTime = false;this.useDefaultMinutes = false;this.storedTime = "";this.currentTime = {};this.classNames = {selectedTime:"selectedItem"};this.any = "any";this.selectedTime = {hour:"", minute:"", amPm:"", anyTime:false};this.hourIndexMap = ["", 2, 4, 6, 8, 10, 1, 3, 5, 7, 9, 11, 0];this.minuteIndexMap = [0, 2, 4, 6, 8, 10, 1,
  3, 5, 7, 9, 11];}, {isContainer:false, templateString:"<div class=\"timePickerContainer\" dojoAttachPoint=\"timePickerContainerNode\">\n\t<table class=\"timeContainer\" cellspacing=\"0\" >\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<td class=\"timeCorner cornerTopLeft\" valign=\"top\">&nbsp;</td>\n\t\t\t\t<td class=\"timeLabelContainer hourSelector\">${this.calendar.field-hour}</td>\n\t\t\t\t<td class=\"timeLabelContainer minutesHeading\">${this.calendar.field-minute}</td>\n\t\t\t\t<td class=\"timeCorner cornerTopRight\" valign=\"top\">&nbsp;</td>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<td valign=\"top\" colspan=\"2\" class=\"hours\">\n\t\t\t\t\t<table align=\"center\">\n\t\t\t\t\t\t<tbody dojoAttachPoint=\"hourContainerNode\"  \n\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onSetSelectedHour;\">\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>12</td>\n\t\t\t\t\t\t\t\t<td>6</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>1</td>\n\t\t\t\t\t\t\t\t<td>7</td
 >\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>2</td>\n\t\t\t\t\t\t\t\t<td>8</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>3</td>\n\t\t\t\t\t\t\t\t<td>9</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>4</td>\n\t\t\t\t\t\t\t\t<td>10</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>5</td>\n\t\t\t\t\t\t\t\t<td>11</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t\t<td valign=\"top\" class=\"minutes\" colspan=\"2\">\n\t\t\t\t\t<table align=\"center\">\n\t\t\t\t\t\t<tbody dojoAttachPoint=\"minuteContainerNode\" \n\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onSetSelectedMinute;\">\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>00</td>\n\t\t\t\t\t\t\t\t<td>30</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>05</td>\n\t\t\t\t\t\t\t\t<td>35</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>10</td>\n\t\t\t\t\t\t\t\t<td>40</td>\n\t\t\t\t\t\t\t</tr
 >\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>15</td>\n\t\t\t\t\t\t\t\t<td>45</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>20</td>\n\t\t\t\t\t\t\t\t<td>50</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>25</td>\n\t\t\t\t\t\t\t\t<td>55</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td class=\"cornerBottomLeft\">&nbsp;</td>\n\t\t\t\t<td valign=\"top\" class=\"timeOptions\">\n\t\t\t\t\t<table class=\"amPmContainer\">\n\t\t\t\t\t\t<tbody dojoAttachPoint=\"amPmContainerNode\" \n\t\t\t\t\t\t\tdojoAttachEvent=\"onClick: onSetSelectedAmPm;\">\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td id=\"am\">${this.calendar.am}</td>\n\t\t\t\t\t\t\t\t<td id=\"pm\">${this.calendar.pm}</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t\t<td class=\"timeOptions\">\n\t\t\t\t\t<div dojoAttachPoint=\"anyTimeContainerNode\" \n\t\t\t\t\t\tdojoAttachEvent=\"onCl
 ick: onSetSelectedAnyTime;\" \n\t\t\t\t\t\tclass=\"anyTimeContainer\">${this.widgetStrings.any}</div>\n\t\t\t\t</td>\n\t\t\t\t<td class=\"cornerBottomRight\">&nbsp;</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n", templateCssString:"\n.timePickerContainer {\n\twidth:122px;\n\tfont-family:Tahoma, Myriad, Helvetica, Arial, Verdana, sans-serif;\n\tfont-size:16px;\n}\n\n.timeContainer {\n\tborder-collapse:collapse;\n\tborder-spacing:0;\n}\n\n.timeContainer thead {\n\tcolor:#293a4b;\n\tfont-size:0.9em;\n\tfont-weight:700;\n}\n\n.timeContainer thead td {\n\tpadding:0.25em;\n\tfont-size:0.80em;\n\tborder-bottom:1px solid #6782A8;\n}\n\n.timeCorner {\n\twidth:10px;\n}\n\n.cornerTopLeft {\n\tbackground: url(\"images/dpCurveTL.png\") top left no-repeat;\n}\n\n.cornerTopRight {\n\tbackground: url(\"images/dpCurveTR.png\") top right no-repeat;\n}\n\n.timeLabelContainer {\n\tbackground: url(\"images/dpMonthBg.png\") top left repeat-x;\n}\n\n.hours, .minutes, .timeBorder {\n\tbackg
 round: #7591bc url(\"images/dpBg.gif\") top left repeat-x;\n\n}\n\n.hours td, .minutes td {\n\tpadding:0.2em;\n\ttext-align:center;\n\tfont-size:0.7em;\n\tfont-weight:bold;\n\tcursor:pointer;\n\tcursor:hand;\n\tcolor:#fff;\n}\n\n.minutes {\n\tborder-left:1px solid #f5d1db;\n}\n\n.hours {\n\tborder-right:1px solid #6782A8;\n}\n\n.hourSelector {\n\tborder-right:1px solid #6782A8;\n\tpadding:5px;\n\tpadding-right:10px;\n}\n\n.minutesSelector {\n\tpadding:5px;\n\tborder-left:1px solid #f5c7d4;\n\ttext-align:center;\n}\n\n.minutesHeading {\n\tpadding-left:9px !important;\n}\n\n.timeOptions {\n\tbackground-color:#F9C9D7;\n}\n\n.timeContainer .cornerBottomLeft, .timeContainer .cornerBottomRight, .timeContainer .timeOptions {\n\tborder-top:1px solid #6782A8;\n}\n\n.timeContainer .cornerBottomLeft {\n\tbackground: url(\"images/dpCurveBL.png\") bottom left no-repeat !important;\n\twidth:9px !important;\n\tpadding:0;\n\tmargin:0;\n}\n\n.timeContainer .cornerBottomRight {\n\tbackground:
  url(\"images/dpCurveBR.png\") bottom right no-repeat !important;\n\twidth:9px !important;\n\tpadding:0;\n\tmargin:0;\n}\n\n.timeOptions {\n\tcolor:#fff;\n\tbackground:url(\"images/dpYearBg.png\") top left repeat-x;\n\n}\n\n.selectedItem {\n\tbackground-color:#fff;\n\tcolor:#6782a8 !important;\n}\n\n.timeOptions .selectedItem {\n\tcolor:#fff !important;\n\tbackground-color:#9ec3fb !important;\n}\n\n.anyTimeContainer {\n\ttext-align:center;\n\tfont-weight:bold;\n\tfont-size:0.7em;\n\tpadding:0.1em;\n\tcursor:pointer;\n\tcursor:hand;\n\tcolor:#fff !important;\n}\n\n.amPmContainer {\n\twidth:100%;\n}\n\n.amPmContainer td {\n\ttext-align:center;\n\tfont-size:0.7em;\n\tfont-weight:bold;\n\tcursor:pointer;\n\tcursor:hand;\n\tcolor:#fff;\n}\n\n\n\n\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/TimePicker.css"), postMixInProperties:function (localProperties, frag) {dojo.widget.TimePicker.superclass.postMixInProperties.apply(this, arguments);this.calendar = dojo.i1
 8n.getLocalization("dojo.i18n.calendar", "gregorian", this.lang);this.widgetStrings = dojo.i18n.getLocalization("dojo.widget", "TimePicker", this.lang);}, fillInTemplate:function (args, frag) {var source = this.getFragNodeRef(frag);dojo.html.copyStyle(this.domNode, source);if (args.value) {if (args.value instanceof Date) {this.storedTime = dojo.date.toRfc3339(args.value);} else {this.storedTime = args.value;}}
+this.initData();this.initUI();}, initData:function () {if (this.storedTime.indexOf("T") != -1 && this.storedTime.split("T")[1] && this.storedTime != " " && this.storedTime.split("T")[1] != "any") {this.time = dojo.widget.TimePicker.util.fromRfcDateTime(this.storedTime, this.useDefaultMinutes, this.selectedTime.anyTime);} else {if (this.useDefaultTime) {this.time = dojo.widget.TimePicker.util.fromRfcDateTime("", this.useDefaultMinutes, this.selectedTime.anyTime);} else {this.selectedTime.anyTime = true;this.time = dojo.widget.TimePicker.util.fromRfcDateTime("", 0, 1);}}
+}, initUI:function () {if (!this.selectedTime.anyTime && this.time) {var amPmHour = dojo.widget.TimePicker.util.toAmPmHour(this.time.getHours());var hour = amPmHour[0];var isAm = amPmHour[1];var minute = this.time.getMinutes();var minuteIndex = parseInt(minute / 5);this.onSetSelectedHour(this.hourIndexMap[hour]);this.onSetSelectedMinute(this.minuteIndexMap[minuteIndex]);this.onSetSelectedAmPm(isAm);} else {this.onSetSelectedAnyTime();}}, setTime:function (date) {if (date) {this.selectedTime.anyTime = false;this.setDateTime(dojo.date.toRfc3339(date));} else {this.selectedTime.anyTime = true;}
+this.initData();this.initUI();}, setDateTime:function (rfcDate) {this.storedTime = rfcDate;}, onClearSelectedHour:function (evt) {this.clearSelectedHour();}, onClearSelectedMinute:function (evt) {this.clearSelectedMinute();}, onClearSelectedAmPm:function (evt) {this.clearSelectedAmPm();}, onClearSelectedAnyTime:function (evt) {this.clearSelectedAnyTime();if (this.selectedTime.anyTime) {this.selectedTime.anyTime = false;this.time = dojo.widget.TimePicker.util.fromRfcDateTime("", this.useDefaultMinutes);this.initUI();}}, clearSelectedHour:function () {var hourNodes = this.hourContainerNode.getElementsByTagName("td");for (var i = 0; i < hourNodes.length; i++) {dojo.html.setClass(hourNodes.item(i), "");}}, clearSelectedMinute:function () {var minuteNodes = this.minuteContainerNode.getElementsByTagName("td");for (var i = 0; i < minuteNodes.length; i++) {dojo.html.setClass(minuteNodes.item(i), "");}}, clearSelectedAmPm:function () {var amPmNodes = this.amPmContainerNode.getElement
 sByTagName("td");for (var i = 0; i < amPmNodes.length; i++) {dojo.html.setClass(amPmNodes.item(i), "");}}, clearSelectedAnyTime:function () {dojo.html.setClass(this.anyTimeContainerNode, "anyTimeContainer");}, onSetSelectedHour:function (evt) {this.onClearSelectedAnyTime();this.onClearSelectedHour();this.setSelectedHour(evt);this.onSetTime();}, setSelectedHour:function (evt) {if (evt && evt.target) {if (evt.target.nodeType == dojo.dom.ELEMENT_NODE) {var eventTarget = evt.target;} else {var eventTarget = evt.target.parentNode;}
+dojo.event.browser.stopEvent(evt);dojo.html.setClass(eventTarget, this.classNames.selectedTime);this.selectedTime["hour"] = eventTarget.innerHTML;} else {if (!isNaN(evt)) {var hourNodes = this.hourContainerNode.getElementsByTagName("td");if (hourNodes.item(evt)) {dojo.html.setClass(hourNodes.item(evt), this.classNames.selectedTime);this.selectedTime["hour"] = hourNodes.item(evt).innerHTML;}}
+}
+this.selectedTime.anyTime = false;}, onSetSelectedMinute:function (evt) {this.onClearSelectedAnyTime();this.onClearSelectedMinute();this.setSelectedMinute(evt);this.selectedTime.anyTime = false;this.onSetTime();}, setSelectedMinute:function (evt) {if (evt && evt.target) {if (evt.target.nodeType == dojo.dom.ELEMENT_NODE) {var eventTarget = evt.target;} else {var eventTarget = evt.target.parentNode;}
+dojo.event.browser.stopEvent(evt);dojo.html.setClass(eventTarget, this.classNames.selectedTime);this.selectedTime["minute"] = eventTarget.innerHTML;} else {if (!isNaN(evt)) {var minuteNodes = this.minuteContainerNode.getElementsByTagName("td");if (minuteNodes.item(evt)) {dojo.html.setClass(minuteNodes.item(evt), this.classNames.selectedTime);this.selectedTime["minute"] = minuteNodes.item(evt).innerHTML;}}
+}}, onSetSelectedAmPm:function (evt) {this.onClearSelectedAnyTime();this.onClearSelectedAmPm();this.setSelectedAmPm(evt);this.selectedTime.anyTime = false;this.onSetTime();}, setSelectedAmPm:function (evt) {var eventTarget = evt.target;if (evt && eventTarget) {if (eventTarget.nodeType != dojo.dom.ELEMENT_NODE) {eventTarget = eventTarget.parentNode;}
+dojo.event.browser.stopEvent(evt);this.selectedTime.amPm = eventTarget.id;dojo.html.setClass(eventTarget, this.classNames.selectedTime);} else {evt = evt ? 0 : 1;var amPmNodes = this.amPmContainerNode.getElementsByTagName("td");if (amPmNodes.item(evt)) {this.selectedTime.amPm = amPmNodes.item(evt).id;dojo.html.setClass(amPmNodes.item(evt), this.classNames.selectedTime);}}
+}, onSetSelectedAnyTime:function (evt) {this.onClearSelectedHour();this.onClearSelectedMinute();this.onClearSelectedAmPm();this.setSelectedAnyTime();this.onSetTime();}, setSelectedAnyTime:function (evt) {this.selectedTime.anyTime = true;dojo.html.setClass(this.anyTimeContainerNode, this.classNames.selectedTime + " " + "anyTimeContainer");}, onClick:function (evt) {dojo.event.browser.stopEvent(evt);}, onSetTime:function () {if (this.selectedTime.anyTime) {this.time = new Date();var tempDateTime = dojo.widget.TimePicker.util.toRfcDateTime(this.time);this.setDateTime(tempDateTime.split("T")[0]);} else {var hour = 12;var minute = 0;var isAm = false;if (this.selectedTime["hour"]) {hour = parseInt(this.selectedTime["hour"], 10);}
+if (this.selectedTime["minute"]) {minute = parseInt(this.selectedTime["minute"], 10);}
+if (this.selectedTime["amPm"]) {isAm = (this.selectedTime["amPm"].toLowerCase() == "am");}
+this.time = new Date();this.time.setHours(dojo.widget.TimePicker.util.fromAmPmHour(hour, isAm));this.time.setMinutes(minute);this.setDateTime(dojo.widget.TimePicker.util.toRfcDateTime(this.time));}
+this.onValueChanged(this.time);}, onValueChanged:function (date) {}});dojo.widget.TimePicker.util = new function () {this.toRfcDateTime = function (jsDate) {if (!jsDate) {jsDate = new Date();}
+jsDate.setSeconds(0);return dojo.date.strftime(jsDate, "%Y-%m-%dT%H:%M:00%z");};this.fromRfcDateTime = function (rfcDate, useDefaultMinutes, isAnyTime) {var tempDate = new Date();if (!rfcDate || rfcDate.indexOf("T") == -1) {if (useDefaultMinutes) {tempDate.setMinutes(Math.floor(tempDate.getMinutes() / 5) * 5);} else {tempDate.setMinutes(0);}} else {var tempTime = rfcDate.split("T")[1].split(":");var tempDate = new Date();tempDate.setHours(tempTime[0]);tempDate.setMinutes(tempTime[1]);}
+return tempDate;};this.toAmPmHour = function (hour) {var amPmHour = hour;var isAm = true;if (amPmHour == 0) {amPmHour = 12;} else {if (amPmHour > 12) {amPmHour = amPmHour - 12;isAm = false;} else {if (amPmHour == 12) {isAm = false;}}
+}
+return [amPmHour, isAm];};this.fromAmPmHour = function (amPmHour, isAm) {var hour = parseInt(amPmHour, 10);if (isAm && hour == 12) {hour = 0;} else {if (!isAm && hour < 12) {hour = hour + 12;}}
+return hour;};};
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TimePicker.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TimePicker.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TimePicker.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TitlePane.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TitlePane.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TitlePane.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TitlePane.js Tue May  8 19:56:15 2007
@@ -0,0 +1,6 @@
+
+dojo.provide("dojo.widget.TitlePane");dojo.require("dojo.widget.*");dojo.require("dojo.widget.ContentPane");dojo.require("dojo.html.style");dojo.require("dojo.lfx.*");dojo.widget.defineWidget("dojo.widget.TitlePane", dojo.widget.ContentPane, {labelNodeClass:"", containerNodeClass:"", label:"", open:true, templateString:"<div dojoAttachPoint=\"domNode\">\n<div dojoAttachPoint=\"labelNode\" dojoAttachEvent=\"onclick: onLabelClick\"></div>\n<div dojoAttachPoint=\"containerNode\"></div>\n</div>\n", postCreate:function () {if (this.label) {this.labelNode.appendChild(document.createTextNode(this.label));}
+if (this.labelNodeClass) {dojo.html.addClass(this.labelNode, this.labelNodeClass);}
+if (this.containerNodeClass) {dojo.html.addClass(this.containerNode, this.containerNodeClass);}
+if (!this.open) {dojo.html.hide(this.containerNode);}
+dojo.widget.TitlePane.superclass.postCreate.apply(this, arguments);}, onLabelClick:function () {if (this.open) {dojo.lfx.wipeOut(this.containerNode, 250).play();this.open = false;} else {dojo.lfx.wipeIn(this.containerNode, 250).play();this.open = true;}}, setLabel:function (label) {this.labelNode.innerHTML = label;}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TitlePane.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TitlePane.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/TitlePane.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toaster.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toaster.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toaster.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toaster.js Tue May  8 19:56:15 2007
@@ -0,0 +1,21 @@
+
+dojo.provide("dojo.widget.Toaster");dojo.require("dojo.widget.*");dojo.require("dojo.lfx.*");dojo.require("dojo.html.iframe");dojo.widget.defineWidget("dojo.widget.Toaster", dojo.widget.HtmlWidget, {templateString:"<div dojoAttachPoint=\"clipNode\"><div dojoAttachPoint=\"containerNode\" dojoAttachEvent=\"onClick:onSelect\"><div dojoAttachPoint=\"contentNode\"></div></div></div>", templateCssString:".dojoToasterClip {\n\tposition: absolute;\n\toverflow: hidden;\n}\n\n.dojoToasterContainer {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: 17.5em;\n\tz-index: 5000;\n\tmargin: 0px;\n\tfont:0.75em Tahoma, Helvetica, Verdana, Arial;\n}\n\n.dojoToasterContent{\n\tpadding:1em;\n\tpadding-top:0.25em;\n\tbackground:#73c74a;\n}\n\n.dojoToasterMessage{ \n\tcolor:#fff;\n}\n.dojoToasterWarning{ }\n.dojoToasterError,\n.dojoToasterFatal{\n\tfont-weight:bold;\n\tcolor:#fff;\n}\n\n\n.dojoToasterWarning .dojoToasterContent{\n\tpadding:1em;\n\tpadding-top:0.25em;\n\tbackground:#d4d943;\n} \
 n\n.dojoToasterError .dojoToasterContent{\n\tpadding:1em;\n\tpadding-top:0.25em;\n\tbackground:#c46600;\n} \n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Toaster.css"), messageTopic:"", messageTypes:{MESSAGE:"MESSAGE", WARNING:"WARNING", ERROR:"ERROR", FATAL:"FATAL"}, defaultType:"MESSAGE", clipCssClass:"dojoToasterClip", containerCssClass:"dojoToasterContainer", contentCssClass:"dojoToasterContent", messageCssClass:"dojoToasterMessage", warningCssClass:"dojoToasterWarning", errorCssClass:"dojoToasterError", fatalCssClass:"dojoToasterFatal", positionDirection:"br-up", positionDirectionTypes:["br-up", "br-left", "bl-up", "bl-right", "tr-down", "tr-left", "tl-down", "tl-right"], showDelay:2000, postCreate:function () {this.hide();dojo.html.setClass(this.clipNode, this.clipCssClass);dojo.html.addClass(this.containerNode, this.containerCssClass);dojo.html.setClass(this.contentNode, this.contentCssClass);if (this.messageTopic) {dojo.event.topic.subscribe(this.m
 essageTopic, this, "_handleMessage");}
+if (!this.positionDirection || !dojo.lang.inArray(this.positionDirectionTypes, this.positionDirection)) {this.positionDirection = this.positionDirectionTypes.BRU;}}, _handleMessage:function (msg) {if (dojo.lang.isString(msg)) {this.setContent(msg);} else {this.setContent(msg["message"], msg["type"], msg["delay"]);}}, setContent:function (msg, messageType, delay) {var delay = delay || this.showDelay;if (this.slideAnim && this.slideAnim.status() == "playing") {dojo.lang.setTimeout(50, dojo.lang.hitch(this, function () {this.setContent(msg, messageType);}));return;} else {if (this.slideAnim) {this.slideAnim.stop();if (this.fadeAnim) {this.fadeAnim.stop();}}
+}
+if (!msg) {dojo.debug(this.widgetId + ".setContent() incoming content was null, ignoring.");return;}
+if (!this.positionDirection || !dojo.lang.inArray(this.positionDirectionTypes, this.positionDirection)) {dojo.raise(this.widgetId + ".positionDirection is an invalid value: " + this.positionDirection);}
+dojo.html.removeClass(this.containerNode, this.messageCssClass);dojo.html.removeClass(this.containerNode, this.warningCssClass);dojo.html.removeClass(this.containerNode, this.errorCssClass);dojo.html.removeClass(this.containerNode, this.fatalCssClass);dojo.html.clearOpacity(this.containerNode);if (msg instanceof String || typeof msg == "string") {this.contentNode.innerHTML = msg;} else {if (dojo.html.isNode(msg)) {this.contentNode.innerHTML = dojo.html.getContentAsString(msg);} else {dojo.raise("Toaster.setContent(): msg is of unknown type:" + msg);}}
+switch (messageType) {case this.messageTypes.WARNING:
+dojo.html.addClass(this.containerNode, this.warningCssClass);break;case this.messageTypes.ERROR:
+dojo.html.addClass(this.containerNode, this.errorCssClass);break;case this.messageTypes.FATAL:
+dojo.html.addClass(this.containerNode, this.fatalCssClass);break;case this.messageTypes.MESSAGE:
+default:
+dojo.html.addClass(this.containerNode, this.messageCssClass);break;}
+this.show();var nodeSize = dojo.html.getMarginBox(this.containerNode);if (this.positionDirection.indexOf("-up") >= 0) {this.containerNode.style.left = 0 + "px";this.containerNode.style.top = nodeSize.height + 10 + "px";} else {if (this.positionDirection.indexOf("-left") >= 0) {this.containerNode.style.left = nodeSize.width + 10 + "px";this.containerNode.style.top = 0 + "px";} else {if (this.positionDirection.indexOf("-right") >= 0) {this.containerNode.style.left = 0 - nodeSize.width - 10 + "px";this.containerNode.style.top = 0 + "px";} else {if (this.positionDirection.indexOf("-down") >= 0) {this.containerNode.style.left = 0 + "px";this.containerNode.style.top = 0 - nodeSize.height - 10 + "px";} else {dojo.raise(this.widgetId + ".positionDirection is an invalid value: " + this.positionDirection);}}
+}}
+this.slideAnim = dojo.lfx.html.slideTo(this.containerNode, {top:0, left:0}, 450, null, dojo.lang.hitch(this, function (nodes, anim) {dojo.lang.setTimeout(dojo.lang.hitch(this, function (evt) {if (this.bgIframe) {this.bgIframe.hide();}
+this.fadeAnim = dojo.lfx.html.fadeOut(this.containerNode, 1000, null, dojo.lang.hitch(this, function (evt) {this.hide();})).play();}), delay);})).play();}, _placeClip:function () {var scroll = dojo.html.getScroll();var view = dojo.html.getViewport();var nodeSize = dojo.html.getMarginBox(this.containerNode);this.clipNode.style.height = nodeSize.height + "px";this.clipNode.style.width = nodeSize.width + "px";if (this.positionDirection.match(/^t/)) {this.clipNode.style.top = scroll.top + "px";} else {if (this.positionDirection.match(/^b/)) {this.clipNode.style.top = (view.height - nodeSize.height - 2 + scroll.top) + "px";}}
+if (this.positionDirection.match(/^[tb]r-/)) {this.clipNode.style.left = (view.width - nodeSize.width - 1 - scroll.left) + "px";} else {if (this.positionDirection.match(/^[tb]l-/)) {this.clipNode.style.left = 0 + "px";}}
+this.clipNode.style.clip = "rect(0px, " + nodeSize.width + "px, " + nodeSize.height + "px, 0px)";if (dojo.render.html.ie) {if (!this.bgIframe) {this.bgIframe = new dojo.html.BackgroundIframe(this.containerNode);this.bgIframe.setZIndex(this.containerNode);}
+this.bgIframe.onResized();this.bgIframe.show();}}, onSelect:function (e) {}, show:function () {dojo.widget.Toaster.superclass.show.call(this);this._placeClip();if (!this._scrollConnected) {this._scrollConnected = true;dojo.event.connect(window, "onscroll", this, "_placeClip");}}, hide:function () {dojo.widget.Toaster.superclass.hide.call(this);if (this._scrollConnected) {this._scrollConnected = false;dojo.event.disconnect(window, "onscroll", this, "_placeClip");}
+dojo.html.setOpacity(this.containerNode, 1);}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toaster.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toaster.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toaster.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toggler.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toggler.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toggler.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toggler.js Tue May  8 19:56:15 2007
@@ -0,0 +1,3 @@
+
+dojo.provide("dojo.widget.Toggler");dojo.require("dojo.widget.*");dojo.require("dojo.event.*");dojo.widget.defineWidget("dojo.widget.Toggler", dojo.widget.HtmlWidget, {targetId:"", fillInTemplate:function () {dojo.event.connect(this.domNode, "onclick", this, "onClick");}, onClick:function () {var pane = dojo.widget.byId(this.targetId);if (!pane) {return;}
+pane.explodeSrc = this.domNode;pane.toggleShowing();}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toggler.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toggler.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toggler.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toolbar.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toolbar.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toolbar.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toolbar.js Tue May  8 19:56:15 2007
@@ -0,0 +1,77 @@
+
+dojo.provide("dojo.widget.Toolbar");dojo.require("dojo.widget.*");dojo.require("dojo.html.style");dojo.widget.defineWidget("dojo.widget.ToolbarContainer", dojo.widget.HtmlWidget, {isContainer:true, templateString:"<div class=\"toolbarContainer\" dojoAttachPoint=\"containerNode\"></div>", templateCssString:".toolbarContainer {\n\tborder-bottom : 0;\n\tbackground-color : #def;\n\tcolor : ButtonText;\n\tfont : Menu;\n\tbackground-image: url(images/toolbar-bg.gif);\n}\n\n.toolbar {\n\tpadding : 2px 4px;\n\tmin-height : 26px;\n\t_height : 26px;\n}\n\n.toolbarItem {\n\tfloat : left;\n\tpadding : 1px 2px;\n\tmargin : 0 2px 1px 0;\n\tcursor : pointer;\n}\n\n.toolbarItem.selected, .toolbarItem.down {\n\tmargin : 1px 1px 0 1px;\n\tpadding : 0px 1px;\n\tborder : 1px solid #bbf;\n\tbackground-color : #fafaff;\n}\n\n.toolbarButton img {\n\tvertical-align : bottom;\n}\n\n.toolbarButton span {\n\tline-height : 16px;\n\tvertical-align : middle;\n}\n\n.toolbarButton.hover {\n\tpadding : 0px 
 1px;\n\tborder : 1px solid #99c;\n}\n\n.toolbarItem.disabled {\n\topacity : 0.3;\n\tfilter : alpha(opacity=30);\n\tcursor : default;\n}\n\n.toolbarSeparator {\n\tcursor : default;\n}\n\n.toolbarFlexibleSpace {\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Toolbar.css"), getItem:function (name) {if (name instanceof dojo.widget.ToolbarItem) {return name;}
+for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {var item = child.getItem(name);if (item) {return item;}}
+}
+return null;}, getItems:function () {var items = [];for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {items = items.concat(child.getItems());}}
+return items;}, enable:function () {for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {child.enable.apply(child, arguments);}}
+}, disable:function () {for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {child.disable.apply(child, arguments);}}
+}, select:function (name) {for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {child.select(arguments);}}
+}, deselect:function (name) {for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {child.deselect(arguments);}}
+}, getItemsState:function () {var values = {};for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {dojo.lang.mixin(values, child.getItemsState());}}
+return values;}, getItemsActiveState:function () {var values = {};for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {dojo.lang.mixin(values, child.getItemsActiveState());}}
+return values;}, getItemsSelectedState:function () {var values = {};for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.Toolbar) {dojo.lang.mixin(values, child.getItemsSelectedState());}}
+return values;}});dojo.widget.defineWidget("dojo.widget.Toolbar", dojo.widget.HtmlWidget, {isContainer:true, templateString:"<div class=\"toolbar\" dojoAttachPoint=\"containerNode\" unselectable=\"on\" dojoOnMouseover=\"_onmouseover\" dojoOnMouseout=\"_onmouseout\" dojoOnClick=\"_onclick\" dojoOnMousedown=\"_onmousedown\" dojoOnMouseup=\"_onmouseup\"></div>", _getItem:function (node) {var start = new Date();var widget = null;while (node && node != this.domNode) {if (dojo.html.hasClass(node, "toolbarItem")) {var widgets = dojo.widget.manager.getWidgetsByFilter(function (w) {return w.domNode == node;});if (widgets.length == 1) {widget = widgets[0];break;} else {if (widgets.length > 1) {dojo.raise("Toolbar._getItem: More than one widget matches the node");}}
+}
+node = node.parentNode;}
+return widget;}, _onmouseover:function (e) {var widget = this._getItem(e.target);if (widget && widget._onmouseover) {widget._onmouseover(e);}}, _onmouseout:function (e) {var widget = this._getItem(e.target);if (widget && widget._onmouseout) {widget._onmouseout(e);}}, _onclick:function (e) {var widget = this._getItem(e.target);if (widget && widget._onclick) {widget._onclick(e);}}, _onmousedown:function (e) {var widget = this._getItem(e.target);if (widget && widget._onmousedown) {widget._onmousedown(e);}}, _onmouseup:function (e) {var widget = this._getItem(e.target);if (widget && widget._onmouseup) {widget._onmouseup(e);}}, addChild:function (item, pos, props) {var widget = dojo.widget.ToolbarItem.make(item, null, props);var ret = dojo.widget.Toolbar.superclass.addChild.call(this, widget, null, pos, null);return ret;}, push:function () {for (var i = 0; i < arguments.length; i++) {this.addChild(arguments[i]);}}, getItem:function (name) {if (name instanceof dojo.widget.ToolbarI
 tem) {return name;}
+for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem && child._name == name) {return child;}}
+return null;}, getItems:function () {var items = [];for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem) {items.push(child);}}
+return items;}, getItemsState:function () {var values = {};for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem) {values[child._name] = {selected:child._selected, enabled:!child.disabled};}}
+return values;}, getItemsActiveState:function () {var values = this.getItemsState();for (var item in values) {values[item] = values[item].enabled;}
+return values;}, getItemsSelectedState:function () {var values = this.getItemsState();for (var item in values) {values[item] = values[item].selected;}
+return values;}, enable:function () {var items = arguments.length ? arguments : this.children;for (var i = 0; i < items.length; i++) {var child = this.getItem(items[i]);if (child instanceof dojo.widget.ToolbarItem) {child.enable(false, true);}}
+}, disable:function () {var items = arguments.length ? arguments : this.children;for (var i = 0; i < items.length; i++) {var child = this.getItem(items[i]);if (child instanceof dojo.widget.ToolbarItem) {child.disable();}}
+}, select:function () {for (var i = 0; i < arguments.length; i++) {var name = arguments[i];var item = this.getItem(name);if (item) {item.select();}}
+}, deselect:function () {for (var i = 0; i < arguments.length; i++) {var name = arguments[i];var item = this.getItem(name);if (item) {item.disable();}}
+}, setValue:function () {for (var i = 0; i < arguments.length; i += 2) {var name = arguments[i], value = arguments[i + 1];var item = this.getItem(name);if (item) {if (item instanceof dojo.widget.ToolbarItem) {item.setValue(value);}}
+}}});dojo.widget.defineWidget("dojo.widget.ToolbarItem", dojo.widget.HtmlWidget, {templateString:"<span unselectable=\"on\" class=\"toolbarItem\"></span>", _name:null, getName:function () {return this._name;}, setName:function (value) {return (this._name = value);}, getValue:function () {return this.getName();}, setValue:function (value) {return this.setName(value);}, _selected:false, isSelected:function () {return this._selected;}, setSelected:function (is, force, preventEvent) {if (!this._toggleItem && !force) {return;}
+is = Boolean(is);if (force || !this.disabled && this._selected != is) {this._selected = is;this.update();if (!preventEvent) {this._fireEvent(is ? "onSelect" : "onDeselect");this._fireEvent("onChangeSelect");}}
+}, select:function (force, preventEvent) {return this.setSelected(true, force, preventEvent);}, deselect:function (force, preventEvent) {return this.setSelected(false, force, preventEvent);}, _toggleItem:false, isToggleItem:function () {return this._toggleItem;}, setToggleItem:function (value) {this._toggleItem = Boolean(value);}, toggleSelected:function (force) {return this.setSelected(!this._selected, force);}, isEnabled:function () {return !this.disabled;}, setEnabled:function (is, force, preventEvent) {is = Boolean(is);if (force || this.disabled == is) {this.disabled = !is;this.update();if (!preventEvent) {this._fireEvent(this.disabled ? "onDisable" : "onEnable");this._fireEvent("onChangeEnabled");}}
+return !this.disabled;}, enable:function (force, preventEvent) {return this.setEnabled(true, force, preventEvent);}, disable:function (force, preventEvent) {return this.setEnabled(false, force, preventEvent);}, toggleEnabled:function (force, preventEvent) {return this.setEnabled(this.disabled, force, preventEvent);}, _icon:null, getIcon:function () {return this._icon;}, setIcon:function (value) {var icon = dojo.widget.Icon.make(value);if (this._icon) {this._icon.setIcon(icon);} else {this._icon = icon;}
+var iconNode = this._icon.getNode();if (iconNode.parentNode != this.domNode) {if (this.domNode.hasChildNodes()) {this.domNode.insertBefore(iconNode, this.domNode.firstChild);} else {this.domNode.appendChild(iconNode);}}
+return this._icon;}, _label:"", getLabel:function () {return this._label;}, setLabel:function (value) {var ret = (this._label = value);if (!this.labelNode) {this.labelNode = document.createElement("span");this.domNode.appendChild(this.labelNode);}
+this.labelNode.innerHTML = "";this.labelNode.appendChild(document.createTextNode(this._label));this.update();return ret;}, update:function () {if (this.disabled) {this._selected = false;dojo.html.addClass(this.domNode, "disabled");dojo.html.removeClass(this.domNode, "down");dojo.html.removeClass(this.domNode, "hover");} else {dojo.html.removeClass(this.domNode, "disabled");if (this._selected) {dojo.html.addClass(this.domNode, "selected");} else {dojo.html.removeClass(this.domNode, "selected");}}
+this._updateIcon();}, _updateIcon:function () {if (this._icon) {if (this.disabled) {this._icon.disable();} else {if (this._cssHover) {this._icon.hover();} else {if (this._selected) {this._icon.select();} else {this._icon.enable();}}
+}}
+}, _fireEvent:function (evt) {if (typeof this[evt] == "function") {var args = [this];for (var i = 1; i < arguments.length; i++) {args.push(arguments[i]);}
+this[evt].apply(this, args);}}, _onmouseover:function (e) {if (this.disabled) {return;}
+dojo.html.addClass(this.domNode, "hover");this._fireEvent("onMouseOver");}, _onmouseout:function (e) {dojo.html.removeClass(this.domNode, "hover");dojo.html.removeClass(this.domNode, "down");if (!this._selected) {dojo.html.removeClass(this.domNode, "selected");}
+this._fireEvent("onMouseOut");}, _onclick:function (e) {if (!this.disabled && !this._toggleItem) {this._fireEvent("onClick");}}, _onmousedown:function (e) {if (e.preventDefault) {e.preventDefault();}
+if (this.disabled) {return;}
+dojo.html.addClass(this.domNode, "down");if (this._toggleItem) {if (this.parent.preventDeselect && this._selected) {return;}
+this.toggleSelected();}
+this._fireEvent("onMouseDown");}, _onmouseup:function (e) {dojo.html.removeClass(this.domNode, "down");this._fireEvent("onMouseUp");}, onClick:function () {}, onMouseOver:function () {}, onMouseOut:function () {}, onMouseDown:function () {}, onMouseUp:function () {}, fillInTemplate:function (args, frag) {if (args.name) {this._name = args.name;}
+if (args.selected) {this.select();}
+if (args.disabled) {this.disable();}
+if (args.label) {this.setLabel(args.label);}
+if (args.icon) {this.setIcon(args.icon);}
+if (args.toggleitem || args.toggleItem) {this.setToggleItem(true);}}});dojo.widget.ToolbarItem.make = function (wh, whIsType, props) {var item = null;if (wh instanceof Array) {item = dojo.widget.createWidget("ToolbarButtonGroup", props);item.setName(wh[0]);for (var i = 1; i < wh.length; i++) {item.addChild(wh[i]);}} else {if (wh instanceof dojo.widget.ToolbarItem) {item = wh;} else {if (wh instanceof dojo.uri.Uri) {item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {icon:new dojo.widget.Icon(wh.toString())}));} else {if (whIsType) {item = dojo.widget.createWidget(wh, props);} else {if (typeof wh == "string" || wh instanceof String) {switch (wh.charAt(0)) {case "|":
+case "-":
+case "/":
+item = dojo.widget.createWidget("ToolbarSeparator", props);break;case " ":
+if (wh.length == 1) {item = dojo.widget.createWidget("ToolbarSpace", props);} else {item = dojo.widget.createWidget("ToolbarFlexibleSpace", props);}
+break;default:
+if (/\.(gif|jpg|jpeg|png)$/i.test(wh)) {item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {icon:new dojo.widget.Icon(wh.toString())}));} else {item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {label:wh.toString()}));}}
+} else {if (wh && wh.tagName && /^img$/i.test(wh.tagName)) {item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {icon:wh}));} else {item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {label:wh.toString()}));}}
+}}
+}}
+return item;};dojo.widget.defineWidget("dojo.widget.ToolbarButtonGroup", dojo.widget.ToolbarItem, {isContainer:true, templateString:"<span unselectable=\"on\" class=\"toolbarButtonGroup\" dojoAttachPoint=\"containerNode\"></span>", defaultButton:"", postCreate:function () {for (var i = 0; i < this.children.length; i++) {this._injectChild(this.children[i]);}}, addChild:function (item, pos, props) {var widget = dojo.widget.ToolbarItem.make(item, null, dojo.lang.mixin(props || {}, {toggleItem:true}));var ret = dojo.widget.ToolbarButtonGroup.superclass.addChild.call(this, widget, null, pos, null);this._injectChild(widget);return ret;}, _injectChild:function (widget) {dojo.event.connect(widget, "onSelect", this, "onChildSelected");dojo.event.connect(widget, "onDeselect", this, "onChildDeSelected");if (widget._name == this.defaultButton || (typeof this.defaultButton == "number" && this.children.length - 1 == this.defaultButton)) {widget.select(false, true);}}, getItem:function (na
 me) {if (name instanceof dojo.widget.ToolbarItem) {return name;}
+for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem && child._name == name) {return child;}}
+return null;}, getItems:function () {var items = [];for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem) {items.push(child);}}
+return items;}, onChildSelected:function (e) {this.select(e._name);}, onChildDeSelected:function (e) {this._fireEvent("onChangeSelect", this._value);}, enable:function (force, preventEvent) {for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem) {child.enable(force, preventEvent);if (child._name == this._value) {child.select(force, preventEvent);}}
+}}, disable:function (force, preventEvent) {for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem) {child.disable(force, preventEvent);}}
+}, _value:"", getValue:function () {return this._value;}, select:function (name, force, preventEvent) {for (var i = 0; i < this.children.length; i++) {var child = this.children[i];if (child instanceof dojo.widget.ToolbarItem) {if (child._name == name) {child.select(force, preventEvent);this._value = name;} else {child.deselect(true, true);}}
+}
+if (!preventEvent) {this._fireEvent("onSelect", this._value);this._fireEvent("onChangeSelect", this._value);}}, setValue:this.select, preventDeselect:false});dojo.widget.defineWidget("dojo.widget.ToolbarButton", dojo.widget.ToolbarItem, {fillInTemplate:function (args, frag) {dojo.widget.ToolbarButton.superclass.fillInTemplate.call(this, args, frag);dojo.html.addClass(this.domNode, "toolbarButton");if (this._icon) {this.setIcon(this._icon);}
+if (this._label) {this.setLabel(this._label);}
+if (!this._name) {if (this._label) {this.setName(this._label);} else {if (this._icon) {var src = this._icon.getSrc("enabled").match(/[\/^]([^\.\/]+)\.(gif|jpg|jpeg|png)$/i);if (src) {this.setName(src[1]);}} else {this._name = this._widgetId;}}
+}}});dojo.widget.defineWidget("dojo.widget.ToolbarDialog", dojo.widget.ToolbarButton, {fillInTemplate:function (args, frag) {dojo.widget.ToolbarDialog.superclass.fillInTemplate.call(this, args, frag);dojo.event.connect(this, "onSelect", this, "showDialog");dojo.event.connect(this, "onDeselect", this, "hideDialog");}, showDialog:function (e) {dojo.lang.setTimeout(dojo.event.connect, 1, document, "onmousedown", this, "deselect");}, hideDialog:function (e) {dojo.event.disconnect(document, "onmousedown", this, "deselect");}});dojo.widget.defineWidget("dojo.widget.ToolbarMenu", dojo.widget.ToolbarDialog, {});dojo.widget.ToolbarMenuItem = function () {};dojo.widget.defineWidget("dojo.widget.ToolbarSeparator", dojo.widget.ToolbarItem, {templateString:"<span unselectable=\"on\" class=\"toolbarItem toolbarSeparator\"></span>", defaultIconPath:new dojo.uri.moduleUri("dojo.widget", "templates/buttons/sep.gif"), fillInTemplate:function (args, frag, skip) {dojo.widget.ToolbarSeparator.su
 perclass.fillInTemplate.call(this, args, frag);this._name = this.widgetId;if (!skip) {if (!this._icon) {this.setIcon(this.defaultIconPath);}
+this.domNode.appendChild(this._icon.getNode());}}, _onmouseover:null, _onmouseout:null, _onclick:null, _onmousedown:null, _onmouseup:null});dojo.widget.defineWidget("dojo.widget.ToolbarSpace", dojo.widget.ToolbarSeparator, {fillInTemplate:function (args, frag, skip) {dojo.widget.ToolbarSpace.superclass.fillInTemplate.call(this, args, frag, true);if (!skip) {dojo.html.addClass(this.domNode, "toolbarSpace");}}});dojo.widget.defineWidget("dojo.widget.ToolbarSelect", dojo.widget.ToolbarItem, {templateString:"<span class=\"toolbarItem toolbarSelect\" unselectable=\"on\"><select dojoAttachPoint=\"selectBox\" dojoOnChange=\"changed\"></select></span>", fillInTemplate:function (args, frag) {dojo.widget.ToolbarSelect.superclass.fillInTemplate.call(this, args, frag, true);var keys = args.values;var i = 0;for (var val in keys) {var opt = document.createElement("option");opt.setAttribute("value", keys[val]);opt.innerHTML = val;this.selectBox.appendChild(opt);}}, changed:function (e) {th
 is._fireEvent("onSetValue", this.selectBox.value);}, setEnabled:function (is, force, preventEvent) {var ret = dojo.widget.ToolbarSelect.superclass.setEnabled.call(this, is, force, preventEvent);this.selectBox.disabled = this.disabled;return ret;}, _onmouseover:null, _onmouseout:null, _onclick:null, _onmousedown:null, _onmouseup:null});dojo.widget.Icon = function (enabled, disabled, hovered, selected) {if (!arguments.length) {throw new Error("Icon must have at least an enabled state");}
+var states = ["enabled", "disabled", "hovered", "selected"];var currentState = "enabled";var domNode = document.createElement("img");this.getState = function () {return currentState;};this.setState = function (value) {if (dojo.lang.inArray(states, value)) {if (this[value]) {currentState = value;var img = this[currentState];if ((dojo.render.html.ie55 || dojo.render.html.ie60) && img.src && img.src.match(/[.]png$/i)) {domNode.width = img.width || img.offsetWidth;domNode.height = img.height || img.offsetHeight;domNode.setAttribute("src", dojo.uri.moduleUri("dojo.widget", "templates/images/blank.gif").uri);domNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src + "',sizingMethod='image')";} else {domNode.setAttribute("src", img.src);}}
+} else {throw new Error("Invalid state set on Icon (state: " + value + ")");}};this.setSrc = function (state, value) {if (/^img$/i.test(value.tagName)) {this[state] = value;} else {if (typeof value == "string" || value instanceof String || value instanceof dojo.uri.Uri) {this[state] = new Image();this[state].src = value.toString();}}
+return this[state];};this.setIcon = function (icon) {for (var i = 0; i < states.length; i++) {if (icon[states[i]]) {this.setSrc(states[i], icon[states[i]]);}}
+this.update();};this.enable = function () {this.setState("enabled");};this.disable = function () {this.setState("disabled");};this.hover = function () {this.setState("hovered");};this.select = function () {this.setState("selected");};this.getSize = function () {return {width:domNode.width || domNode.offsetWidth, height:domNode.height || domNode.offsetHeight};};this.setSize = function (w, h) {domNode.width = w;domNode.height = h;return {width:w, height:h};};this.getNode = function () {return domNode;};this.getSrc = function (state) {if (state) {return this[state].src;}
+return domNode.src || "";};this.update = function () {this.setState(currentState);};for (var i = 0; i < states.length; i++) {var arg = arguments[i];var state = states[i];this[state] = null;if (!arg) {continue;}
+this.setSrc(state, arg);}
+this.enable();};dojo.widget.Icon.make = function (a, b, c, d) {for (var i = 0; i < arguments.length; i++) {if (arguments[i] instanceof dojo.widget.Icon) {return arguments[i];}}
+return new dojo.widget.Icon(a, b, c, d);};dojo.widget.defineWidget("dojo.widget.ToolbarColorDialog", dojo.widget.ToolbarDialog, {palette:"7x10", fillInTemplate:function (args, frag) {dojo.widget.ToolbarColorDialog.superclass.fillInTemplate.call(this, args, frag);this.dialog = dojo.widget.createWidget("ColorPalette", {palette:this.palette});this.dialog.domNode.style.position = "absolute";dojo.event.connect(this.dialog, "onColorSelect", this, "_setValue");}, _setValue:function (color) {this._value = color;this._fireEvent("onSetValue", color);}, showDialog:function (e) {dojo.widget.ToolbarColorDialog.superclass.showDialog.call(this, e);var abs = dojo.html.getAbsolutePosition(this.domNode, true);var y = abs.y + dojo.html.getBorderBox(this.domNode).height;this.dialog.showAt(abs.x, y);}, hideDialog:function (e) {dojo.widget.ToolbarColorDialog.superclass.hideDialog.call(this, e);this.dialog.hide();}});
\ No newline at end of file

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toolbar.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toolbar.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Toolbar.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tooltip.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tooltip.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tooltip.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tooltip.js Tue May  8 19:56:15 2007
@@ -0,0 +1,12 @@
+
+dojo.provide("dojo.widget.Tooltip");dojo.require("dojo.widget.ContentPane");dojo.require("dojo.widget.PopupContainer");dojo.require("dojo.uri.Uri");dojo.require("dojo.widget.*");dojo.require("dojo.event.*");dojo.require("dojo.html.style");dojo.require("dojo.html.util");dojo.widget.defineWidget("dojo.widget.Tooltip", [dojo.widget.ContentPane, dojo.widget.PopupContainerBase], {caption:"", showDelay:500, hideDelay:100, connectId:"", templateCssString:".dojoTooltip {\n\tborder: solid black 1px;\n\tbackground: beige;\n\tcolor: black;\n\tposition: absolute;\n\tfont-size: small;\n\tpadding: 2px 2px 2px 2px;\n\tz-index: 10;\n\tdisplay: block;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/TooltipTemplate.css"), fillInTemplate:function (args, frag) {if (this.caption != "") {this.domNode.appendChild(document.createTextNode(this.caption));}
+this._connectNode = dojo.byId(this.connectId);dojo.widget.Tooltip.superclass.fillInTemplate.call(this, args, frag);this.addOnLoad(this, "_loadedContent");dojo.html.addClass(this.domNode, "dojoTooltip");var source = this.getFragNodeRef(frag);dojo.html.copyStyle(this.domNode, source);this.applyPopupBasicStyle();}, postCreate:function (args, frag) {dojo.event.connect(this._connectNode, "onmouseover", this, "_onMouseOver");dojo.widget.Tooltip.superclass.postCreate.call(this, args, frag);}, _onMouseOver:function (e) {this._mouse = {x:e.pageX, y:e.pageY};if (!this._tracking) {dojo.event.connect(document.documentElement, "onmousemove", this, "_onMouseMove");this._tracking = true;}
+this._onHover(e);}, _onMouseMove:function (e) {this._mouse = {x:e.pageX, y:e.pageY};if (dojo.html.overElement(this._connectNode, e) || dojo.html.overElement(this.domNode, e)) {this._onHover(e);} else {this._onUnHover(e);}}, _onHover:function (e) {if (this._hover) {return;}
+this._hover = true;if (this._hideTimer) {clearTimeout(this._hideTimer);delete this._hideTimer;}
+if (!this.isShowingNow && !this._showTimer) {this._showTimer = setTimeout(dojo.lang.hitch(this, "open"), this.showDelay);}}, _onUnHover:function (e) {if (!this._hover) {return;}
+this._hover = false;if (this._showTimer) {clearTimeout(this._showTimer);delete this._showTimer;}
+if (this.isShowingNow && !this._hideTimer) {this._hideTimer = setTimeout(dojo.lang.hitch(this, "close"), this.hideDelay);}
+if (!this.isShowingNow) {dojo.event.disconnect(document.documentElement, "onmousemove", this, "_onMouseMove");this._tracking = false;}}, open:function () {if (this.isShowingNow) {return;}
+dojo.widget.PopupContainerBase.prototype.open.call(this, this._mouse.x, this._mouse.y, null, [this._mouse.x, this._mouse.y], "TL,TR,BL,BR", [10, 15]);}, close:function () {if (this.isShowingNow) {if (this._showTimer) {clearTimeout(this._showTimer);delete this._showTimer;}
+if (this._hideTimer) {clearTimeout(this._hideTimer);delete this._hideTimer;}
+dojo.event.disconnect(document.documentElement, "onmousemove", this, "_onMouseMove");this._tracking = false;dojo.widget.PopupContainerBase.prototype.close.call(this);}}, _position:function () {this.move(this._mouse.x, this._mouse.y, [10, 15], "TL,TR,BL,BR");}, _loadedContent:function () {if (this.isShowingNow) {this._position();}}, checkSize:function () {}, uninitialize:function () {this.close();dojo.event.disconnect(this._connectNode, "onmouseover", this, "_onMouseOver");}});
\ No newline at end of file

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

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

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tree.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tree.js?view=auto&rev=536397
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tree.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Tree.js Tue May  8 19:56:15 2007
@@ -0,0 +1,28 @@
+
+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/i
 mages/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/treenode_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 (action) {var _this = this;return dojo.lang.inArray(_this.actionsDisabled, action);}, actio
 ns:{ADDCHILD:"ADDCHILD"}, getInfo:function () {var info = {widgetId:this.widgetId, objectId:this.objectId};return info;}, 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 (args, frag) {var _this = 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 node = this.children[i].createDOMNode(this, 0);this.domNode.appendChild(node);}
+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 (child, index) {var message = {child:child, index:index, parent:this, domNodeInitialized:child.domNodeInitialized};this.doAddChild.apply(this, arguments);dojo.event.topic.publish(this.tree.eventNames.addChild, message);}, doAddChild:function (child, index) {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;}
+if (this.isTreeNode) {if (!this.isFolder) {this.setFolder();}}
+var _this = this;dojo.lang.forEach(child.getDescendants(), function (elem) {elem.tree = _this.tree;});child.parent = this;if (this.isTreeNode) {this.state = this.loadStates.LOADED;}
+if (index < this.children.length) {dojo.html.insertBefore(child.domNode, this.children[index].domNode);} else {this.containerNode.appendChild(child.domNode);if (this.isExpanded && this.isTreeNode) {this.showChildren();}}
+this.children.splice(index, 0, child);if (child.domNodeInitialized) {var d = this.isTreeNode ? this.depth : -1;child.adjustDepth(d - child.depth + 1);child.updateIconTree();} else {child.depth = this.isTreeNode ? this.depth + 1 : 0;child.createDOMNode(child.tree, child.depth);}
+var prevSibling = child.getPreviousSibling();if (child.isLastChild() && prevSibling) {prevSibling.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 (child, newParent, index) {var oldParent = child.parent;var oldTree = child.tree;this.doMove.apply(this, arguments);var newParent = child.parent;var newTree = child.tree;var message = {oldParent:oldParent, oldTree:oldTree, newParent:newParent, newTree:newTree, child:child};dojo.event.topic.publish(oldTree.eventNames.moveFrom, message);dojo.event.topic.publish(newTree.eventNames.moveTo, message);}, doMove:function (child, newParent, index) {child.parent.doRemoveNode(child);newParent.doAddChild(child, index);}, removeNode:function (child) {if (!child.parent) {return;}
+var oldTree = child.tree;var oldParent = child.parent;var removedChild = this.doRemoveNode.apply(this, arguments);dojo.event.topic.publish(this.tree.eventNames.removeNode, {child:removedChild, tree:oldTree, parent:oldParent});return removedChild;}, doRemoveNode:function (child) {if (!child.parent) {return;}
+var parent = child.parent;var children = parent.children;var index = child.getParentIndex();if (index < 0) {dojo.raise("Couldn't find node " + child + " for removal");}
+children.splice(index, 1);dojo.html.removeNode(child.domNode);if (parent.children.length == 0 && !parent.isTree) {parent.containerNode.style.display = "none";}
+if (index == children.length && index > 0) {children[index - 1].updateExpandGridColumn();}
+if (parent instanceof dojo.widget.Tree && index == 0 && children.length > 0) {children[0].updateExpandGrid();}
+child.parent = child.tree = null;return child;}, 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 node = this;while (true) {if (node.lockLevel) {return true;}
+if (node instanceof dojo.widget.Tree) {break;}
+node = node.parent;}
+return false;}, flushLock:function () {this.lockLevel = 0;this.unMarkLoading();}});
\ No newline at end of file

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

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

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