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 2006/11/20 19:54:48 UTC

svn commit: r477287 [24/32] - in /tapestry/tapestry4/trunk: tapestry-examples/TimeTracker/ tapestry-examples/TimeTracker/src/config/ tapestry-examples/TimeTracker/src/context/WEB-INF/ tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetrack...

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ResizeHandle.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ResizeHandle.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ResizeHandle.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ResizeHandle.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,9 @@
+
+dojo.provide("dojo.widget.ResizeHandle");dojo.require("dojo.widget.*");dojo.require("dojo.html.layout");dojo.require("dojo.event.*");dojo.widget.defineWidget(
+"dojo.widget.ResizeHandle",dojo.widget.HtmlWidget,{targetElmId: '',templateCssPath: dojo.uri.dojoUri("src/widget/templates/ResizeHandle.css"),templateString: '<div class="dojoHtmlResizeHandle"><div></div></div>',postCreate: function(){dojo.event.connect(this.domNode, "onmousedown", this, "_beginSizing");},_beginSizing: function( e){if (this._isSizing){ return false; }
+this.targetWidget = dojo.widget.byId(this.targetElmId);this.targetDomNode = this.targetWidget ? this.targetWidget.domNode : dojo.byId(this.targetElmId);if (!this.targetDomNode){ return; }
+this._isSizing = true;this.startPoint  = {'x':e.clientX, 'y':e.clientY};var mb = dojo.html.getMarginBox(this.targetDomNode);this.startSize  = {'w':mb.width, 'h':mb.height};dojo.event.kwConnect({srcObj: dojo.body(),srcFunc: "onmousemove",targetObj: this,targetFunc: "_changeSizing",rate: 25});dojo.event.connect(dojo.body(), "onmouseup", this, "_endSizing");e.preventDefault();},_changeSizing: function( e){try{if(!e.clientX  || !e.clientY){ return; }}catch(e){return;}
+var dx = this.startPoint.x - e.clientX;var dy = this.startPoint.y - e.clientY;var newW = this.startSize.w - dx;var newH = this.startSize.h - dy;if (this.minSize) {var mb = dojo.html.getMarginBox(this.targetDomNode);if (newW < this.minSize.w) {newW = mb.width;}
+if (newH < this.minSize.h) {newH = mb.height;}}
+if(this.targetWidget){this.targetWidget.resizeTo(newW, newH);}else{dojo.html.setMarginBox(this.targetDomNode, { width: newW, height: newH});}
+e.preventDefault();},_endSizing: function( e){dojo.event.disconnect(dojo.body(), "onmousemove", this, "_changeSizing");dojo.event.disconnect(dojo.body(), "onmouseup", this, "_endSizing");this._isSizing = false;}});
\ No newline at end of file

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/RichText.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/RichText.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/RichText.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/RichText.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,200 @@
+
+dojo.provide("dojo.widget.RichText");dojo.require("dojo.widget.*");dojo.require("dojo.html.*");dojo.require("dojo.html.layout");dojo.require("dojo.html.selection");dojo.require("dojo.event.*");dojo.require("dojo.string.extras");dojo.require("dojo.uri.Uri");dojo.require("dojo.Deferred");if(dojo.hostenv.post_load_){(function(){var savetextarea = dojo.doc().createElement('textarea');savetextarea.id = "dojo.widget.RichText.savedContent";savetextarea.style = "display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;";dojo.body().appendChild(savetextarea);})();}else{try {dojo.doc().write('<textarea id="dojo.widget.RichText.savedContent" ' +
+'style="display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;"></textarea>');}catch(e){ }}
+dojo.widget.defineWidget(
+"dojo.widget.RichText",dojo.widget.HtmlWidget,function(){this.contentPreFilters = [];this.contentPostFilters = [];this.contentDomPreFilters = [];this.contentDomPostFilters = [];this.editingAreaStyleSheets=[];if(dojo.render.html.moz){this.contentPreFilters.push(this._fixContentForMoz);}
+this._keyHandlers = {};if(dojo.Deferred){this.onLoadDeferred = new dojo.Deferred();}},{inheritWidth: false,focusOnLoad: false,saveName: "",styleSheets: "",_content: "",height: "",minHeight: "1em",isClosed: true,isLoaded: false,useActiveX: false,relativeImageUrls: false,_SEPARATOR: "@@**%%__RICHTEXTBOUNDRY__%%**@@",onLoadDeferred: null,fillInTemplate: function(){dojo.event.topic.publish("dojo.widget.RichText::init", this);this.open();dojo.event.connect(this, "onKeyPressed", this, "afterKeyPress");dojo.event.connect(this, "onKeyPress", this, "keyPress");dojo.event.connect(this, "onKeyDown", this, "keyDown");dojo.event.connect(this, "onKeyUp", this, "keyUp");this.setupDefaultShortcuts();},setupDefaultShortcuts: function(){var ctrl = this.KEY_CTRL;var exec = function (cmd, arg) {return arguments.length == 1 ? function () { this.execCommand(cmd); } :
+function () { this.execCommand(cmd, arg); }}
+this.addKeyHandler("b", ctrl, exec("bold"));this.addKeyHandler("i", ctrl, exec("italic"));this.addKeyHandler("u", ctrl, exec("underline"));this.addKeyHandler("a", ctrl, exec("selectall"));this.addKeyHandler("s", ctrl, function () { this.save(true); });this.addKeyHandler("1", ctrl, exec("formatblock", "h1"));this.addKeyHandler("2", ctrl, exec("formatblock", "h2"));this.addKeyHandler("3", ctrl, exec("formatblock", "h3"));this.addKeyHandler("4", ctrl, exec("formatblock", "h4"));this.addKeyHandler("\\", ctrl, exec("insertunorderedlist"));if(!dojo.render.html.ie){this.addKeyHandler("Z", ctrl, exec("redo"));}},events: ["onBlur", "onFocus", "onKeyPress", "onKeyDown", "onKeyUp", "onClick"],open: function (element) {if(this.onLoadDeferred.fired >= 0){this.onLoadDeferred = new dojo.Deferred();}
+var h = dojo.render.html;if (!this.isClosed) { this.close(); }
+dojo.event.topic.publish("dojo.widget.RichText::open", this);this._content = "";if((arguments.length == 1)&&(element["nodeName"])){ this.domNode = element; }
+if(	(this.domNode["nodeName"])&&
+(this.domNode.nodeName.toLowerCase() == "textarea")){this.textarea = this.domNode;var html = dojo.string.trim(this.textarea.value);this.domNode = dojo.doc().createElement("div");dojo.html.copyStyle(this.domNode, this.textarea);var tmpFunc = dojo.lang.hitch(this, function(){with(this.textarea.style){display = "block";position = "absolute";left = top = "-1000px";if(h.ie){this.__overflow = overflow;overflow = "hidden";}}});if(h.ie){setTimeout(tmpFunc, 10);}else{tmpFunc();}
+if(!h.safari){dojo.html.insertBefore(this.domNode, this.textarea);}
+if(this.textarea.form){dojo.event.connect(this.textarea.form, "onsubmit",dojo.lang.hitch(this, function(){this.textarea.value = this.getEditorContent();})
+);}
+var editor = this;dojo.event.connect(this, "postCreate", function (){dojo.html.insertAfter(editor.textarea, editor.domNode);});}else{var html = this._preFilterContent(dojo.string.trim(this.domNode.innerHTML));}
+if(html == ""){ html = "&nbsp;"; }
+var content = dojo.html.getContentBox(this.domNode);this._oldHeight = content.height;this._oldWidth = content.width;this._firstChildContributingMargin = this._getContributingMargin(this.domNode, "top");this._lastChildContributingMargin = this._getContributingMargin(this.domNode, "bottom");this.savedContent = this.domNode.innerHTML;this.domNode.innerHTML = '';if(	(this.domNode["nodeName"])&&
+(this.domNode.nodeName == "LI")){this.domNode.innerHTML = " <br>";}
+this.editingArea = dojo.doc().createElement("div");this.domNode.appendChild(this.editingArea);if(this.saveName != ""){var saveTextarea = dojo.doc().getElementById("dojo.widget.RichText.savedContent");if (saveTextarea.value != "") {var datas = saveTextarea.value.split(this._SEPARATOR);for (var i = 0; i < datas.length; i++) {var data = datas[i].split(":");if (data[0] == this.saveName) {html = data[1];datas.splice(i, 1);break;}}}
+dojo.event.connect("before", window, "onunload", this, "_saveContent");}
+if(h.ie70 && this.useActiveX){dojo.debug("activeX in ie70 is not currently supported, useActiveX is ignored for now.");this.useActiveX = false;}
+if(this.useActiveX && h.ie){var self = this;setTimeout(function(){self._drawObject(html);}, 0);}else if(h.ie){this.iframe = dojo.doc().createElement( 'iframe' ) ;this.iframe.src = 'javascript:void(0)';this.editorObject = this.iframe;with(this.iframe.style){border = '0';width = "100%";}
+this.iframe.frameBorder = 0;this.editingArea.appendChild(this.iframe)
+this.window = this.iframe.contentWindow;this.document = this.window.document;this.document.open();this.document.write("<html><head><style>body{margin:0;padding:0;border:0;overflow:hidden;}</style></head><body><div></div></body></html>");this.document.close();this.editNode = this.document.body.firstChild;this.editNode.contentEditable = true;with (this.iframe.style) {if(h.ie70){if(this.height){height = this.height;}
+if(this.minHeight){minHeight = this.minHeight;}}else{height = this.height ? this.height : this.minHeight;}}
+if(!this._cacheLocalBlockFormatNames()){var formats = ['p', 'pre', 'address', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'div', 'ul'];var localhtml = "";for(var i in formats){if(formats[i].charAt(1) != 'l'){localhtml += "<"+formats[i]+"><span>content</span></"+formats[i]+">";}else{localhtml += "<"+formats[i]+"><li>content</li></"+formats[i]+">";}}
+with(this.editNode.style){position = "absolute";left = "-2000px";top = "-2000px";}
+this.editNode.innerHTML = localhtml;var node = this.editNode.firstChild;while(node){dojo.withGlobal(this.window, "selectElement", dojo.html.selection, [node.firstChild]);var nativename = node.tagName.toLowerCase();this._local2NativeFormatNames[nativename] = this.queryCommandValue("formatblock");this._native2LocalFormatNames[this._local2NativeFormatNames[nativename]] = nativename;node = node.nextSibling;}
+with(this.editNode.style){position = "";left = "";top = "";}}
+this.editNode.innerHTML = html;if(this.height){ this.document.body.style.overflowY="scroll"; }
+dojo.lang.forEach(this.events, function(e){dojo.event.connect(this.editNode, e.toLowerCase(), this, e);}, this);this.onLoad();} else {this._drawIframe(html);this.editorObject = this.iframe;}
+if (this.domNode.nodeName == "LI") { this.domNode.lastChild.style.marginTop = "-1.2em"; }
+dojo.html.addClass(this.domNode, "RichTextEditable");this.isClosed = false;},_hasCollapseableMargin: function(element, side) {if (dojo.html.getPixelValue(element,'border-'+side+'-width',false)) {return false;} else if (dojo.html.getPixelValue(element,'padding-'+side,false)) {return false;} else {return true;}},_getContributingMargin:	function(element, topOrBottom) {if (topOrBottom == "top") {var siblingAttr = "previousSibling";var childSiblingAttr = "nextSibling";var childAttr = "firstChild";var marginProp = "margin-top";var siblingMarginProp = "margin-bottom";} else {var siblingAttr = "nextSibling";var childSiblingAttr = "previousSibling";var childAttr = "lastChild";var marginProp = "margin-bottom";var siblingMarginProp = "margin-top";}
+var elementMargin = dojo.html.getPixelValue(element, marginProp, false);function isSignificantNode(element) {return !(element.nodeType==3 && dojo.string.isBlank(element.data))
+&& dojo.html.getStyle(element, "display") != "none"
+&& !dojo.html.isPositionAbsolute(element);}
+var childMargin = 0;var child = element[childAttr];while (child) {while ((!isSignificantNode(child)) && child[childSiblingAttr]) {child = child[childSiblingAttr];}
+childMargin = Math.max(childMargin, dojo.html.getPixelValue(child, marginProp, false));if (!this._hasCollapseableMargin(child, topOrBottom)) break;child = child[childAttr];}
+if (!this._hasCollapseableMargin(element, topOrBottom)){ return parseInt(childMargin); }
+var contextMargin = 0;var sibling = element[siblingAttr];while (sibling) {if (isSignificantNode(sibling)) {contextMargin = dojo.html.getPixelValue(sibling,siblingMarginProp,false);break;}
+sibling = sibling[siblingAttr];}
+if (!sibling) {contextMargin = dojo.html.getPixelValue(element.parentNode,marginProp, false);}
+if (childMargin > elementMargin) {return parseInt(Math.max((childMargin-elementMargin)-contextMargin, 0));} else {return 0;}},_drawIframe: function (html){var oldMoz = Boolean(dojo.render.html.moz && (
+typeof window.XML == 'undefined'))
+if(!this.iframe){var currentDomain = (new dojo.uri.Uri(dojo.doc().location)).host;this.iframe = dojo.doc().createElement("iframe");with(this.iframe){style.border = "none";style.lineHeight = "0";style.verticalAlign = "bottom";scrolling = this.height ? "auto" : "no";}}
+this.iframe.src = dojo.uri.dojoUri("src/widget/templates/richtextframe.html") + ((dojo.doc().domain != currentDomain) ? ("#"+dojo.doc().domain) : "");this.iframe.width = this.inheritWidth ? this._oldWidth : "100%";if(this.height){this.iframe.style.height = this.height;}else{var height = this._oldHeight;if(this._hasCollapseableMargin(this.domNode, 'top')){height += this._firstChildContributingMargin;}
+if(this._hasCollapseableMargin(this.domNode, 'bottom')){height += this._lastChildContributingMargin;}
+this.iframe.height = height;}
+var tmpContent = dojo.doc().createElement('div');tmpContent.innerHTML = html;this.editingArea.appendChild(tmpContent);if(this.relativeImageUrls){var imgs = tmpContent.getElementsByTagName('img');for(var i=0; i<imgs.length; i++){imgs[i].src = (new dojo.uri.Uri(dojo.global().location, imgs[i].src)).toString();}
+html = tmpContent.innerHTML;}
+var firstChild = dojo.html.firstElement(tmpContent);var lastChild = dojo.html.lastElement(tmpContent);if(firstChild){firstChild.style.marginTop = this._firstChildContributingMargin+"px";}
+if(lastChild){lastChild.style.marginBottom = this._lastChildContributingMargin+"px";}
+this.editingArea.appendChild(this.iframe);if(dojo.render.html.safari){this.iframe.src = this.iframe.src;}
+var _iframeInitialized = false;var ifrFunc = dojo.lang.hitch(this, function(){if(!_iframeInitialized){_iframeInitialized = true;}else{ return; }
+if(!this.editNode){if(this.iframe.contentWindow){this.window = this.iframe.contentWindow;this.document = this.iframe.contentWindow.document}else if(this.iframe.contentDocument){this.window = this.iframe.contentDocument.window;this.document = this.iframe.contentDocument;}
+var getStyle = (function (domNode) { return function (style) {return dojo.html.getStyle(domNode, style);}; })(this.domNode);var font =
+getStyle('font-weight') + " " +
+getStyle('font-size') + " " +
+getStyle('font-family');var lineHeight = "1.0";var lineHeightStyle = dojo.html.getUnitValue(this.domNode, 'line-height');if (lineHeightStyle.value && lineHeightStyle.units=="") {lineHeight = lineHeightStyle.value;}
+dojo.html.insertCssText(
+'body,html{background:transparent;padding:0;margin:0;}' +
+'body{top:0;left:0;right:0;' +
+(((this.height)||(dojo.render.html.opera)) ? '' : 'position:fixed;') +
+'font:' + font + ';' +
+'min-height:' + this.minHeight + ';' +
+'line-height:' + lineHeight + '}' +
+'p{margin: 1em 0 !important;}' +
+'body > *:first-child{padding-top:0 !important;margin-top:' + this._firstChildContributingMargin + 'px !important;}' +
+'body > *:last-child{padding-bottom:0 !important;margin-bottom:' + this._lastChildContributingMargin + 'px !important;}' +
+'li > ul:-moz-first-node, li > ol:-moz-first-node{padding-top:1.2em;}\n' +
+'li{min-height:1.2em;}' +
+'', this.document);dojo.html.removeNode(tmpContent);this.document.body.innerHTML = html;if(oldMoz||dojo.render.html.safari){this.document.designMode = "on";}
+this.onLoad();}else{dojo.html.removeNode(tmpContent);this.editNode.innerHTML = html;this.onDisplayChanged();}});if(this.editNode){ifrFunc();}else if(dojo.render.html.moz){this.iframe.onload = function(){setTimeout(ifrFunc, 250);}}else{this.iframe.onload = ifrFunc;}},_applyEditingAreaStyleSheets: function(){var files = [];if(this.styleSheets){files = this.styleSheets.split(';');this.styleSheets = '';}
+files = files.concat(this.editingAreaStyleSheets);this.editingAreaStyleSheets = [];if(files.length>0){for(var i=0;i<files.length;i++){var url = files[i];if(url){this.addStyleSheet(dojo.uri.dojoUri(url));}}}},addStyleSheet: function(uri) {var url=uri.toString();if(dojo.lang.find(this.editingAreaStyleSheets, url) > -1){dojo.debug("dojo.widget.RichText.addStyleSheet: Style sheet "+url+" is already applied to the editing area!");return;}
+if(url.charAt(0) == '.' || (url.charAt(0) != '/' && !uri.host)){url = (new dojo.uri.Uri(dojo.global().location, url)).toString();}
+this.editingAreaStyleSheets.push(url);if(this.document.createStyleSheet){this.document.createStyleSheet(url);}else{var head = this.document.getElementsByTagName("head")[0];var stylesheet = this.document.createElement("link");with(stylesheet){rel="stylesheet";type="text/css";href=url;}
+head.appendChild(stylesheet);}},removeStyleSheet: function (uri) {var url=uri.toString();if(url.charAt(0) == '.' || (url.charAt(0) != '/' && !uri.host)){url = (new dojo.uri.Uri(dojo.global().location, url)).toString();}
+var index = dojo.lang.find(this.editingAreaStyleSheets, url);if(index == -1){dojo.debug("dojo.widget.RichText.removeStyleSheet: Style sheet "+url+" is not applied to the editing area so it can not be removed!");return;}
+delete this.editingAreaStyleSheets[index];var links = this.document.getElementsByTagName("link");for(var i=0;i<links.length;i++){if(links[i].href == url){if(dojo.render.html.ie){links[i].href="";}
+dojo.html.removeNode(links[i]);break;}}},_drawObject: function (html) {this.object = dojo.html.createExternalElement(dojo.doc(), "object");with (this.object) {classid = "clsid:2D360201-FFF5-11D1-8D03-00A0C959BC0A";width = this.inheritWidth ? this._oldWidth : "100%";style.height = this.height ? this.height : (this._oldHeight+"px");Scrollbars = this.height ? true : false;Appearance = this._activeX.appearance.flat;}
+this.editorObject = this.object;this.editingArea.appendChild(this.object);this.object.attachEvent("DocumentComplete", dojo.lang.hitch(this, "onLoad"));dojo.lang.forEach(this.events, function(e){this.object.attachEvent(e.toLowerCase(), dojo.lang.hitch(this, e));}, this);this.object.DocumentHTML = '<!doctype HTML PUBLIC "-
+'<html><title></title>' +
+'<style type="text/css">' +
+'    body,html { padding: 0; margin: 0; }' +
+(this.height ? '' : '    body,  { overflow: hidden; }') +
+'</style>' +
+'<body><div>' + html + '<div></body></html>';this._cacheLocalBlockFormatNames();},_local2NativeFormatNames: {},_native2LocalFormatNames: {},_cacheLocalBlockFormatNames: function(){if(!this._native2LocalFormatNames['p']){var obj = this.object;if(!obj){try{obj = dojo.html.createExternalElement(dojo.doc(), "object");obj.classid = "clsid:2D360201-FFF5-11D1-8D03-00A0C959BC0A";dojo.body().appendChild(obj);obj.DocumentHTML = "<html><head></head><body></body></html>";}catch(e){return false;}}
+var oNamesParm = new ActiveXObject("DEGetBlockFmtNamesParam.DEGetBlockFmtNamesParam");obj.ExecCommand(this._activeX.command['getblockformatnames'], 0, oNamesParm);var vbNamesArray = new VBArray(oNamesParm.Names);var localFormats = vbNamesArray.toArray();var nativeFormats = ['p', 'pre', 'address', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'ul', '', '', '','','div'];for(var i=0;i<nativeFormats.length;++i){if(nativeFormats[i].length>0){this._local2NativeFormatNames[localFormats[i]] = nativeFormats[i];this._native2LocalFormatNames[nativeFormats[i]] = localFormats[i];}}
+if(!this.object){dojo.body().removeChild(obj);}}
+return true;},_isResized: function(){ return false; },onLoad: function(e){this.isLoaded = true;if (this.object){this.document = this.object.DOM;this.window = this.document.parentWindow;this.editNode = this.document.body.firstChild;this.editingArea.style.height = this.height ? this.height : this.minHeight;if(!this.height){this.connect(this, "onDisplayChanged", "_updateHeight");}
+this.window._frameElement = this.object;}else if (this.iframe && !dojo.render.html.ie){this.editNode = this.document.body;if(!this.height){this.connect(this, "onDisplayChanged", "_updateHeight");}
+try {this.document.execCommand("useCSS", false, true);this.document.execCommand("styleWithCSS", false, false);}catch(e2){ }
+if (dojo.render.html.safari) {this.connect(this.editNode, "onblur", "onBlur");this.connect(this.editNode, "onfocus", "onFocus");this.connect(this.editNode, "onclick", "onFocus");this.interval = setInterval(dojo.lang.hitch(this, "onDisplayChanged"), 750);} else if (dojo.render.html.mozilla || dojo.render.html.opera) {var doc = this.document;var addListener = dojo.event.browser.addListener;var self = this;dojo.lang.forEach(this.events, function(e){var l = addListener(self.document, e.substr(2).toLowerCase(), dojo.lang.hitch(self, e));if(e=="onBlur"){var unBlur = { unBlur: function(e){dojo.event.browser.removeListener(doc, "blur", l);}};dojo.event.connect("before", self, "close", unBlur, "unBlur");}});}}else if(dojo.render.html.ie){if(!this.height){this.connect(this, "onDisplayChanged", "_updateHeight");}
+this.editNode.style.zoom = 1.0;}
+this._applyEditingAreaStyleSheets();if(this.focusOnLoad){this.focus();}
+this.onDisplayChanged(e);if(this.onLoadDeferred){this.onLoadDeferred.callback(true);}},onKeyDown: function(e){if((!e)&&(this.object)){e = dojo.event.browser.fixEvent(this.window.event);}
+if((dojo.render.html.ie)&&(e.keyCode == e.KEY_TAB)){e.preventDefault();e.stopPropagation();this.execCommand((e.shiftKey ? "outdent" : "indent"));}else if(dojo.render.html.ie){if((65 <= e.keyCode)&&(e.keyCode <= 90)){e.charCode = e.keyCode;this.onKeyPress(e);}}},onKeyUp: function(e){return;},KEY_CTRL: 1,onKeyPress: function(e){if((!e)&&(this.object)){e = dojo.event.browser.fixEvent(this.window.event);}
+var modifiers = e.ctrlKey ? this.KEY_CTRL : 0;if (this._keyHandlers[e.key]) {var handlers = this._keyHandlers[e.key], i = 0, handler;while (handler = handlers[i++]) {if (modifiers == handler.modifiers) {handler.handler.call(this);e.preventDefault();break;}}}
+dojo.lang.setTimeout(this, this.onKeyPressed, 1, e);},addKeyHandler: function (key, modifiers, handler) {if (!(this._keyHandlers[key] instanceof Array)) { this._keyHandlers[key] = []; }
+this._keyHandlers[key].push({modifiers: modifiers || 0,handler: handler});},onKeyPressed: function (e) {this.onDisplayChanged();},onClick: function(e){ this.onDisplayChanged(e); },onBlur: function(e){ },_initialFocus: true,onFocus: function(e){if( (dojo.render.html.mozilla)&&(this._initialFocus) ){this._initialFocus = false;if(dojo.string.trim(this.editNode.innerHTML) == "&nbsp;"){this.placeCursorAtStart();}}},blur: function () {if(this.iframe) { this.window.blur(); }
+else if(this.object) { this.document.body.blur(); }
+else if(this.editNode) { this.editNode.blur(); }},focus: function () {if(this.iframe && !dojo.render.html.ie) { this.window.focus(); }
+else if(this.object) { this.document.focus(); }
+else if(this.editNode && this.editNode.focus) { this.editNode.focus(); }
+else{dojo.debug("Have no idea how to focus into the editor!");}},onDisplayChanged: function (e){ },_activeX: {command: {bold: 5000,italic: 5023,underline: 5048,justifycenter: 5024,justifyleft: 5025,justifyright: 5026,cut: 5003,copy: 5002,paste: 5032,"delete": 5004,undo: 5049,redo: 5033,removeformat: 5034,selectall: 5035,unlink: 5050,indent: 5018,outdent: 5031,insertorderedlist: 5030,insertunorderedlist: 5051,inserttable: 5022,insertcell: 5019,insertcol: 5020,insertrow: 5021,deletecells: 5005,deletecols: 5006,deleterows: 5007,mergecells: 5029,splitcell: 5047,setblockformat: 5043,getblockformat: 5011,getblockformatnames: 5012,setfontname: 5044,getfontname: 5013,setfontsize: 5045,getfontsize: 5014,setbackcolor: 5042,getbackcolor: 5010,setforecolor: 5046,getforecolor: 5015,findtext: 5008,font: 5009,hyperlink: 5016,image: 5017,lockelement: 5027,makeabsolute: 5028,sendbackward: 5036,bringforward: 5037,sendbelowtext: 5038,bringabovetext: 5039,sendtoback: 5040,bringtofront: 5041,pro
 perties: 5052},ui: {"default": 0,prompt: 1,noprompt: 2},status: {notsupported: 0,disabled: 1,enabled: 3,latched: 7,ninched: 11},appearance: {flat: 0,inset: 1},state: {unchecked: 0,checked: 1,gray: 2}},_normalizeCommand: function (cmd){var drh = dojo.render.html;var command = cmd.toLowerCase();if(command == "formatblock"){if(drh.safari){ command = "heading"; }}else if(this.object){switch(command){case "createlink":
+command = "hyperlink";break;case "insertimage":
+command = "image";break;}}else if(command == "hilitecolor" && !drh.mozilla){command = "backcolor";}
+return command;},queryCommandAvailable: function (command) {var ie = 1;var mozilla = 1 << 1;var safari = 1 << 2;var opera = 1 << 3;var safari420 = 1 << 4;var gt420 = false;if(dojo.render.html.safari){var tmp = dojo.render.html.UA.split("AppleWebKit/")[1];var ver = parseFloat(tmp.split(" ")[0]);if(ver >= 420){ gt420 = true; }}
+function isSupportedBy (browsers) {return {ie: Boolean(browsers & ie),mozilla: Boolean(browsers & mozilla),safari: Boolean(browsers & safari),safari420: Boolean(browsers & safari420),opera: Boolean(browsers & opera)}}
+var supportedBy = null;switch (command.toLowerCase()) {case "bold": case "italic": case "underline":
+case "subscript": case "superscript":
+case "fontname": case "fontsize":
+case "forecolor": case "hilitecolor":
+case "justifycenter": case "justifyfull": case "justifyleft":
+case "justifyright": case "delete": case "selectall":
+supportedBy = isSupportedBy(mozilla | ie | safari | opera);break;case "createlink": case "unlink": case "removeformat":
+case "inserthorizontalrule": case "insertimage":
+case "insertorderedlist": case "insertunorderedlist":
+case "indent": case "outdent": case "formatblock":
+case "inserthtml": case "undo": case "redo": case "strikethrough":
+supportedBy = isSupportedBy(mozilla | ie | opera | safari420);break;case "blockdirltr": case "blockdirrtl":
+case "dirltr": case "dirrtl":
+case "inlinedirltr": case "inlinedirrtl":
+supportedBy = isSupportedBy(ie);break;case "cut": case "copy": case "paste":
+supportedBy = isSupportedBy( ie | mozilla | safari420);break;case "inserttable":
+supportedBy = isSupportedBy(mozilla | (this.object ? ie : 0));break;case "insertcell": case "insertcol": case "insertrow":
+case "deletecells": case "deletecols": case "deleterows":
+case "mergecells": case "splitcell":
+supportedBy = isSupportedBy(this.object ? ie : 0);break;default: return false;}
+return (dojo.render.html.ie && supportedBy.ie) ||
+(dojo.render.html.mozilla && supportedBy.mozilla) ||
+(dojo.render.html.safari && supportedBy.safari) ||
+(gt420 && supportedBy.safari420) ||
+(dojo.render.html.opera && supportedBy.opera);},execCommand: function (command, argument){var returnValue;this.focus();command = this._normalizeCommand(command);if (argument != undefined) {if(command == "heading") { throw new Error("unimplemented"); }
+else if(command == "formatblock"){if(this.object){argument = this._native2LocalFormatNames[argument];}
+else if(dojo.render.html.ie){ argument = '<'+argument+'>'; }}}
+if(this.object){switch (command) {case "hilitecolor":
+command = "setbackcolor";break;case "forecolor":
+case "backcolor":
+case "fontsize":
+case "fontname":
+command = "set" + command;break;case "formatblock":
+command = "setblockformat";}
+if(command == "strikethrough"){command = "inserthtml";var range = this.document.selection.createRange();if(!range.htmlText){return;}
+argument=range.htmlText.strike();}else if(command == "inserthorizontalrule"){command = "inserthtml";argument="<hr>";}
+if(command == "inserthtml"){var range = this.document.selection.createRange();if(this.document.selection.type.toUpperCase() == "CONTROL"){for(var i=0;i<range.length;i++){range.item(i).outerHTML = argument;}}else{range.pasteHTML(argument);range.select();}
+returnValue = true;}else if(arguments.length == 1){returnValue = this.object.ExecCommand(this._activeX.command[command],this._activeX.ui.noprompt);}else{returnValue = this.object.ExecCommand(this._activeX.command[command],this._activeX.ui.noprompt, argument);}}else if(command == "inserthtml"){if(dojo.render.html.ie){var insertRange = this.document.selection.createRange();insertRange.pasteHTML(argument);insertRange.select();return true;}else{return this.document.execCommand(command, false, argument);}}else if((command == "unlink")&&
+(this.queryCommandEnabled("unlink"))&&
+(dojo.render.html.mozilla)){var selection = this.window.getSelection();var selectionRange = selection.getRangeAt(0);var selectionStartContainer = selectionRange.startContainer;var selectionStartOffset = selectionRange.startOffset;var selectionEndContainer = selectionRange.endContainer;var selectionEndOffset = selectionRange.endOffset;var a = dojo.withGlobal(this.window, "getAncestorElement", dojo.html.selection, ['a']);dojo.withGlobal(this.window, "selectElement", dojo.html.selection, [a]);returnValue = this.document.execCommand("unlink", false, null);var selectionRange = this.document.createRange();selectionRange.setStart(selectionStartContainer, selectionStartOffset);selectionRange.setEnd(selectionEndContainer, selectionEndOffset);selection.removeAllRanges();selection.addRange(selectionRange);return returnValue;}else if((command == "hilitecolor")&&(dojo.render.html.mozilla)){this.document.execCommand("useCSS", false, false);returnValue = this.document.execCommand(command, 
 false, argument);this.document.execCommand("useCSS", false, true);}else if((dojo.render.html.ie)&&( (command == "backcolor")||(command == "forecolor") )){argument = arguments.length > 1 ? argument : null;returnValue = this.document.execCommand(command, false, argument);}else{argument = arguments.length > 1 ? argument : null;if(argument || command!="createlink") {returnValue = this.document.execCommand(command, false, argument);}}
+this.onDisplayChanged();return returnValue;},queryCommandEnabled: function(command){command = this._normalizeCommand(command);if(this.object){switch (command) {case "hilitecolor":
+command = "setbackcolor";break;case "forecolor":
+case "backcolor":
+case "fontsize":
+case "fontname":
+command = "set" + command;break;case "formatblock":
+command = "setblockformat";break;case "strikethrough":
+command = "bold";break;case "inserthorizontalrule":
+return true;}
+if(typeof this._activeX.command[command] == "undefined"){ return false; }
+var status = this.object.QueryStatus(this._activeX.command[command]);return ((status != this._activeX.status.notsupported)&&
+(status != this._activeX.status.disabled));}else{if(dojo.render.html.mozilla){if(command == "unlink"){return dojo.withGlobal(this.window, "hasAncestorElement", dojo.html.selection, ['a']);} else if (command == "inserttable") {return true;}}
+var elem = (dojo.render.html.ie) ? this.document.selection.createRange() : this.document;return elem.queryCommandEnabled(command);}},queryCommandState: function(command){command = this._normalizeCommand(command);if(this.object){if(command == "forecolor"){command = "setforecolor";}else if(command == "backcolor"){command = "setbackcolor";}else if(command == "strikethrough"){return dojo.withGlobal(this.window, "hasAncestorElement", dojo.html.selection, ['strike']);}else if(command == "inserthorizontalrule"){return false;}
+if(typeof this._activeX.command[command] == "undefined"){ return null; }
+var status = this.object.QueryStatus(this._activeX.command[command]);return ((status == this._activeX.status.latched)||
+(status == this._activeX.status.ninched));}else{return this.document.queryCommandState(command);}},queryCommandValue: function (command) {command = this._normalizeCommand(command);if (this.object) {switch (command) {case "forecolor":
+case "backcolor":
+case "fontsize":
+case "fontname":
+command = "get" + command;return this.object.execCommand(
+this._activeX.command[command],this._activeX.ui.noprompt);case "formatblock":
+var retvalue = this.object.execCommand(
+this._activeX.command["getblockformat"],this._activeX.ui.noprompt);if(retvalue){return this._local2NativeFormatNames[retvalue];}}} else {if(dojo.render.html.ie && command == "formatblock"){return this._local2NativeFormatNames[this.document.queryCommandValue(command)] || this.document.queryCommandValue(command);}
+return this.document.queryCommandValue(command);}},placeCursorAtStart: function(){this.focus();if(dojo.render.html.moz && this.editNode.firstChild &&
+this.editNode.firstChild.nodeType != dojo.dom.TEXT_NODE){dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode.firstChild]);}else{dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode]);}
+dojo.withGlobal(this.window, "collapse", dojo.html.selection, [true]);},placeCursorAtEnd: function(){this.focus();if(dojo.render.html.moz && this.editNode.lastChild &&
+this.editNode.lastChild.nodeType != dojo.dom.TEXT_NODE){dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode.lastChild]);}else{dojo.withGlobal(this.window, "selectElementChildren", dojo.html.selection, [this.editNode]);}
+dojo.withGlobal(this.window, "collapse", dojo.html.selection, [false]);},replaceEditorContent: function(html){html = this._preFilterContent(html);if(this.isClosed){this.domNode.innerHTML = html;}else if(this.window && this.window.getSelection && !dojo.render.html.moz){this.editNode.innerHTML = html;}else if((this.window && this.window.getSelection) || (this.document && this.document.selection)){this.execCommand("selectall");this.execCommand("inserthtml", html);}},_preFilterContent: function(html){var ec = html;dojo.lang.forEach(this.contentPreFilters, function(ef){ec = ef(ec);});if(this.contentDomPreFilters.length>0){var dom = dojo.doc().createElement('div');dom.style.display = "none";dojo.body().appendChild(dom);dom.innerHTML = ec;dojo.lang.forEach(this.contentDomPreFilters, function(ef){dom = ef(dom);});ec = dom.innerHTML;dojo.body().removeChild(dom);}
+return ec;},_postFilterContent: function(html){var ec = html;if(this.contentDomPostFilters.length>0){var dom = this.document.createElement('div');dom.innerHTML = ec;dojo.lang.forEach(this.contentDomPostFilters, function(ef){dom = ef(dom);});ec = dom.innerHTML;}
+dojo.lang.forEach(this.contentPostFilters, function(ef){ec = ef(ec);});return ec;},_lastHeight: 0,_updateHeight: function(){if(!this.isLoaded){ return; }
+if(this.height){ return; }
+var height = dojo.html.getBorderBox(this.editNode).height;if(!height){height = dojo.html.getBorderBox(this.document.body).height;}
+if(height == 0){dojo.debug("Can not figure out the height of the editing area!");return;}
+this._lastHeight = height;this.editorObject.style.height = this._lastHeight + "px";this.window.scrollTo(0, 0);},_saveContent: function(e){var saveTextarea = dojo.doc().getElementById("dojo.widget.RichText.savedContent");saveTextarea.value += this._SEPARATOR + this.saveName + ":" + this.getEditorContent();},getEditorContent: function(){var ec = "";try{ec = (this._content.length > 0) ? this._content : this.editNode.innerHTML;if(dojo.string.trim(ec) == "&nbsp;"){ ec = ""; }}catch(e){  }
+if(dojo.render.html.ie && !this.object){var re = new RegExp("(?:<p>&nbsp;</p>[\n\r]*)+$", "i");ec = ec.replace(re,"");}
+ec = this._postFilterContent(ec);if (this.relativeImageUrls) {var siteBase = dojo.global().location.protocol + "//" + dojo.global().location.host;var pathBase = dojo.global().location.pathname;if (pathBase.match(/\/$/)) {} else {var pathParts = pathBase.split("/");if (pathParts.length) {pathParts.pop();}
+pathBase = pathParts.join("/") + "/";}
+var sameSite = new RegExp("(<img[^>]*\ src=[\"'])("+siteBase+"("+pathBase+")?)", "ig");ec = ec.replace(sameSite, "$1");}
+return ec;},close: function(save, force){if(this.isClosed){return false; }
+if (arguments.length == 0) { save = true; }
+this._content = this._postFilterContent(this.editNode.innerHTML);var changed = (this.savedContent != this._content);if(this.interval){ clearInterval(this.interval); }
+if(dojo.render.html.ie && !this.object){dojo.event.browser.clean(this.editNode);}
+if (this.iframe) {delete this.iframe;}
+if(this.textarea){with(this.textarea.style){position = "";left = top = "";if(dojo.render.html.ie){overflow = this.__overflow;this.__overflow = null;}}
+if(save){this.textarea.value = this._content;}else{this.textarea.value = this.savedContent;}
+dojo.html.removeNode(this.domNode);this.domNode = this.textarea;}else{if(save){if(dojo.render.html.moz){var nc = dojo.doc().createElement("span");this.domNode.appendChild(nc);nc.innerHTML = this.editNode.innerHTML;}else{this.domNode.innerHTML = this._content;}}else{this.domNode.innerHTML = this.savedContent;}}
+dojo.html.removeClass(this.domNode, "RichTextEditable");this.isClosed = true;this.isLoaded = false;delete this.editNode;if(this.window._frameElement){this.window._frameElement = null;}
+this.window = null;this.document = null;this.object = null;this.editingArea = null;this.editorObject = null;return changed;},destroyRendering: function(){},destroy: function (){this.destroyRendering();if(!this.isClosed){ this.close(false); }
+dojo.widget.RichText.superclass.destroy.call(this);},connect: function (targetObj, targetFunc, thisFunc) {dojo.event.connect(targetObj, targetFunc, this, thisFunc);},disconnect: function (targetObj, targetFunc, thisFunc) {dojo.event.disconnect(targetObj, targetFunc, this, thisFunc);},disconnectAllWithRoot: function (targetObj) {dojo.deprecated("disconnectAllWithRoot", "is deprecated. No need to disconnect manually", "0.5");},_fixContentForMoz: function(html){html = html.replace(/<strong([ \>])/gi, '<b$1' );html = html.replace(/<\/strong>/gi, '<\/b>' );html = html.replace(/<em([ \>])/gi, '<i$1' );html = html.replace(/<\/em>/gi, '<\/i>' );return html;}}
+);
\ No newline at end of file

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Rounded.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Rounded.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Rounded.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Rounded.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,77 @@
+
+dojo.provide("dojo.widget.Rounded");dojo.widget.tags.addParseTreeHandler("dojo:rounded");dojo.require("dojo.widget.*");dojo.require("dojo.widget.ContentPane");dojo.require("dojo.html.style");dojo.require("dojo.html.display");dojo.require("dojo.gfx.color");dojo.deprecated("dojo.widget.Rounded will be removed in version 0.5; you can now apply rounded corners to any block element using dojo.lfx.rounded.", "0.5");dojo.widget.defineWidget(
+"dojo.widget.Rounded",dojo.widget.ContentPane,{isSafari: dojo.render.html.safari,boxMargin: "50px",radius: 14,domNode: "",corners: "TR,TL,BR,BL",antiAlias: true,fillInTemplate: function(args, frag) {dojo.widget.Rounded.superclass.fillInTemplate.call(this, args, frag);dojo.html.insertCssFile(this.templateCssPath);if (this.domNode.style.height<=0) {var minHeight = (this.radius*1)+this.domNode.clientHeight;this.domNode.style.height = minHeight+"px";}
+if (this.domNode.style.width<=0) {var minWidth = (this.radius*1)+this.domNode.clientWidth;this.domNode.style.width = minWidth+"px";}
+var cornersAvailable = ["TR", "TL", "BR", "BL"];var cornersPassed = this.corners.split(",");this.settings = {antiAlias: this.antiAlias};var setCorner = function(currentCorner) {var val = currentCorner.toLowerCase();if(dojo.lang.inArray(cornersPassed, currentCorner)) {this.settings[val] = { radius: this.radius, enabled: true };} else {this.settings[val] = { radius: 0 }}}
+dojo.lang.forEach(cornersAvailable, setCorner, this);this.domNode.style.margin = this.boxMargin;this.curvyCorners(this.settings);this.applyCorners();},curvyCorners: function(settings){this.box             = this.domNode;this.topContainer    = null;this.bottomContainer = null;this.masterCorners   = [];var boxHeight       = dojo.html.getStyle(this.box, "height");if(boxHeight=="") boxHeight="0px";var boxWidth        = dojo.html.getStyle(this.box, "width");var borderWidth     = dojo.html.getStyle(this.box, "borderTopWidth");if(borderWidth=="") borderWidth="0px";var borderColour    = dojo.html.getStyle(this.box, "borderTopColor");if(borderWidth>0) this.antiAlias=true;var boxColour       = dojo.html.getStyle(this.box, "backgroundColor");var backgroundImage = dojo.html.getStyle(this.box, "backgroundImage");var boxPosition     = dojo.html.getStyle(this.box, "position");this.boxHeight       = parseInt(((boxHeight != "" && boxHeight != "auto" && boxHeight.indexOf("%") == -1)? boxHeigh
 t.substring(0, boxHeight.indexOf("px")) : this.box.scrollHeight));this.boxWidth        = parseInt(((boxWidth != "" && boxWidth != "auto" && boxWidth.indexOf("%") == -1)? boxWidth.substring(0, boxWidth.indexOf("px")) : this.box.scrollWidth));this.borderWidth     = parseInt(((borderWidth != "" && borderWidth.indexOf("px") !== -1)? borderWidth.slice(0, borderWidth.indexOf("px")) : 0));var test  = new dojo.gfx.color.Color(boxColour);this.boxColour       = ((boxColour != "" && boxColour != "transparent")? ((boxColour.substr(0, 3) == "rgb")? this.rgb2Hex(boxColour) : boxColour) : "#ffffff");this.borderColour    = ((borderColour != "" && borderColour != "transparent" && this.borderWidth > 0)? ((borderColour.substr(0, 3) == "rgb")? this.rgb2Hex(borderColour)  : borderColour) : this.boxColour);this.borderString    = this.borderWidth + "px" + " solid " + this.borderColour;this.backgroundImage = ((backgroundImage != "none")? backgroundImage : "");if(boxPosition != "absolute") this.box.
 style.position = "relative";this.applyCorners = function() {for(var t = 0; t < 2; t++) {switch(t) {case 0:
+if(this.settings.tl.enabled || this.settings.tr.enabled ) {var newMainContainer = document.createElement("DIV");with(newMainContainer.style){width    = "100%";fontSize = "1px";overflow = "hidden";position = "absolute";paddingLeft  = this.borderWidth + "px";paddingRight = this.borderWidth + "px";var topMaxRadius = Math.max(this.settings.tl ? this.settings.tl.radius : 0, this.settings.tr ? this.settings.tr.radius : 0);height = topMaxRadius + "px";top    = 0 - topMaxRadius + "px";left   = 0 - this.borderWidth + "px";}
+this.topContainer = this.box.appendChild(newMainContainer);}
+break;case 1:
+if(this.settings.bl.enabled || this.settings.br.enabled) {var newMainContainer = document.createElement("DIV");with(newMainContainer.style){width    = "100%";fontSize = "1px";overflow = "hidden";position = "absolute";paddingLeft  = this.borderWidth + "px";paddingRight = this.borderWidth + "px";var botMaxRadius = Math.max(this.settings.bl ? this.settings.bl.radius : 0, this.settings.br ? this.settings.br.radius : 0);height  = botMaxRadius + "px";bottom  =  0 - botMaxRadius + "px";left    =  0 - this.borderWidth + "px";}
+this.bottomContainer = this.box.appendChild(newMainContainer);}
+break;}}
+if(this.topContainer) this.box.style.borderTopWidth = "0px";if(this.bottomContainer) this.box.style.borderBottomWidth = "0px";var corners = ["tr", "tl", "br", "bl"];for(var i in corners) {var cc = corners[i];if(!this.settings[cc]) {if(((cc == "tr" || cc == "tl") && this.topContainer != null) || ((cc == "br" || cc == "bl") && this.bottomContainer != null)) {var newCorner = document.createElement("DIV");newCorner.style.position = "relative";newCorner.style.fontSize = "1px";newCorner.style.overflow = "hidden";if(this.backgroundImage == "") {newCorner.style.backgroundColor = this.boxColour;} else {newCorner.style.backgroundImage = this.backgroundImage;}
+switch(cc) {case "tl":
+with(newCorner.style){height      = topMaxRadius - this.borderWidth + "px";marginRight = this.settings.tr.radius - (this.borderWidth*2) + "px";borderLeft  = this.borderString;borderTop   = this.borderString;left         = -this.borderWidth + "px";}
+break;case "tr":
+with(newCorner.style){height      = topMaxRadius - this.borderWidth + "px";marginLeft  = this.settings.tl.radius - (this.borderWidth*2) + "px";borderRight = this.borderString;borderTop   = this.borderString;backgroundPosition  = "-" + this.boxWidth + "px 0px";left         = this.borderWidth + "px";}
+break;case "bl":
+with(newCorner.style){height       = botMaxRadius - this.borderWidth + "px";marginRight  = this.settings.br.radius - (this.borderWidth*2) + "px";borderLeft   = this.borderString;borderBottom = this.borderString;left         = -this.borderWidth + "px";}
+break;case "br":
+with(newCorner.style){height       = botMaxRadius - this.borderWidth + "px";marginLeft   = this.settings.bl.radius - (this.borderWidth*2) + "px";borderRight  = this.borderString;borderBottom = this.borderString;left         = this.borderWidth + "px"}
+break;}}} else {if(this.masterCorners[this.settings[cc].radius]) {var newCorner = this.masterCorners[this.settings[cc].radius].cloneNode(true);} else {var newCorner = document.createElement("DIV");with(newCorner.style){height = this.settings[cc].radius + "px";width  = this.settings[cc].radius + "px";position = "absolute";fontSize = "1px";overflow = "hidden";}
+var borderRadius = parseInt(this.settings[cc].radius - this.borderWidth);for(var intx = 0, j = this.settings[cc].radius; intx < j; intx++) {if((intx +1) >= borderRadius) {var y1 = -1;} else {var y1 = (Math.floor(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow((intx+1), 2))) - 1);}
+if(borderRadius != j) {if((intx) >= borderRadius) {var y2 = -1;} else {var y2 = Math.ceil(Math.sqrt(Math.pow(borderRadius,2) - Math.pow(intx, 2)));}
+if((intx+1) >= j) {var y3 = -1;} else {var y3 = (Math.floor(Math.sqrt(Math.pow(j ,2) - Math.pow((intx+1), 2))) - 1);}}
+if((intx) >= j) {var y4 = -1;} else {var y4 = Math.ceil(Math.sqrt(Math.pow(j ,2) - Math.pow(intx, 2)));}
+if(y1 > -1) this.drawPixel(intx, 0, this.boxColour, 100, (y1+1), newCorner, -1, this.settings[cc].radius);if(borderRadius != j) {if(this.antiAlias) {for(var inty = (y1 + 1); inty < y2; inty++) {if(this.backgroundImage != "") {var borderFract = (this.pixelFraction(intx, inty, borderRadius) * 100);if (borderFract < 30) {this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, 0, this.settings[cc].radius);} else {this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, -1, this.settings[cc].radius);}} else {var pixelcolour = dojo.gfx.color.blend(this.boxColour, this.borderColour, this.pixelFraction(intx, inty, borderRadius));this.drawPixel(intx, inty, pixelcolour, 100, 1, newCorner, 0, this.settings[cc].radius);}}}
+if(y3 >= y2) {if (y1 == -1) {y1 = 0;}
+this.drawPixel(intx, y2, this.borderColour, 100, (y3 - y2 + 1), newCorner, 0, this.settings[cc].radius);}
+var outsideColour = this.borderColour;} else {var outsideColour = this.boxColour;var y3 = y1;}
+if(this.antiAlias) {for(var inty = (y3 + 1); inty < y4; inty++) {this.drawPixel(intx, inty, outsideColour, (this.pixelFraction(intx, inty , j) * 100), 1, newCorner, ((this.borderWidth > 0)? 0 : -1), this.settings[cc].radius);}}}
+this.masterCorners[this.settings[cc].radius] = newCorner.cloneNode(true);}
+if(cc != "br") {for(var t = 0, k = newCorner.childNodes.length; t < k; t++) {var pixelBar = newCorner.childNodes[t];var pixelBarTop    = parseInt(pixelBar.style.top.substring(0, pixelBar.style.top.indexOf("px")));var pixelBarLeft   = parseInt(pixelBar.style.left.substring(0, pixelBar.style.left.indexOf("px")));var pixelBarHeight = parseInt(pixelBar.style.height.substring(0, pixelBar.style.height.indexOf("px")));if(cc == "tl" || cc == "bl") {pixelBar.style.left = this.settings[cc].radius -pixelBarLeft -1 + "px";}
+if(cc == "tr" || cc == "tl") {pixelBar.style.top =  this.settings[cc].radius -pixelBarHeight -pixelBarTop + "px";}
+var value;switch(cc) {case "tr":
+value = (-1 *( Math.abs((this.boxWidth - this.settings[cc].radius + this.borderWidth) + pixelBarLeft) - (Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth))));pixelBar.style.backgroundPosition  = value + "px";break;case "tl":
+value = (-1 *( Math.abs((this.settings[cc].radius -pixelBarLeft -1)  - this.borderWidth) - (Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth))));pixelBar.style.backgroundPosition  = value + "px";break;case "bl":
+value = (-1 *( Math.abs((this.settings[cc].radius -pixelBarLeft -1) - this.borderWidth) - (Math.abs((this.boxHeight + this.settings[cc].radius + pixelBarTop) -this.borderWidth))));pixelBar.style.backgroundPosition  = value + "px";break;}}}}
+if(newCorner) {switch(cc) {case "tl":
+if(newCorner.style.position == "absolute") newCorner.style.top  = "0px";if(newCorner.style.position == "absolute") newCorner.style.left = "0px";if(this.topContainer) this.topContainer.appendChild(newCorner);break;case "tr":
+if(newCorner.style.position == "absolute") newCorner.style.top  = "0px";if(newCorner.style.position == "absolute") newCorner.style.right = "0px";if(this.topContainer) this.topContainer.appendChild(newCorner);break;case "bl":
+if(newCorner.style.position == "absolute") newCorner.style.bottom  = "0px";if(newCorner.style.position == "absolute") newCorner.style.left = "0px";if(this.bottomContainer) this.bottomContainer.appendChild(newCorner);break;case "br":
+if(newCorner.style.position == "absolute") newCorner.style.bottom = "0px";if(newCorner.style.position == "absolute") newCorner.style.right = "0px";if(this.bottomContainer) this.bottomContainer.appendChild(newCorner);break;}}}
+var radiusDiff = [];radiusDiff["t"] = this.settings.tl.enabled && this.settings.tr.enabled ? Math.abs(this.settings.tl.radius - this.settings.tr.radius) : 0;radiusDiff["b"] = this.settings.bl.enabled && this.settings.br.enabled ? Math.abs(this.settings.bl.radius - this.settings.br.radius) : 0;for(var z in radiusDiff) {if(radiusDiff[z]) {var smallerCornerType = ((this.settings[z + "l"].radius < this.settings[z + "r"].radius)? z +"l" : z +"r");var newFiller = document.createElement("DIV");with(newFiller.style) {height = radiusDiff[z] + "px";width  =  this.settings[smallerCornerType].radius+ "px"
+position = "absolute";fontSize = "1px";overflow = "hidden";backgroundColor = this.boxColour;}
+switch(smallerCornerType) {case "tl":
+with(newFiller.style) {bottom = "0px";left   = "0px";borderLeft = this.borderString;}
+this.topContainer.appendChild(newFiller);break;case "tr":
+with(newFiller.style) {bottom = "0px";right  = "0px";borderRight = this.borderString;}
+this.topContainer.appendChild(newFiller);break;case "bl":
+with(newFiller.style) {top    = "0px";left   = "0px";borderLeft = this.borderString;}
+this.bottomContainer.appendChild(newFiller);break;case "br":
+with(newFiller.style) {top    = "0px";right  = "0px";borderRight = this.borderString;}
+this.bottomContainer.appendChild(newFiller);break;}}
+var newFillerBar = document.createElement("DIV");with(newFillerBar.style) {position = "relative";fontSize = "1px";overflow = "hidden";backgroundColor = this.boxColour;}
+switch(z) {case "t":
+if(this.topContainer) {with(newFillerBar.style) {height      = topMaxRadius - this.borderWidth + "px";marginLeft  = this.settings.tl.radius - this.borderWidth + "px";marginRight = this.settings.tr.radius - this.borderWidth + "px";borderTop   = this.borderString;}
+this.topContainer.appendChild(newFillerBar);}
+break;case "b":
+if(this.bottomContainer) {with(newFillerBar.style) {height       = botMaxRadius - this.borderWidth + "px";marginLeft   = this.settings.bl.radius - this.borderWidth + "px";marginRight  = this.settings.br.radius - this.borderWidth + "px";borderBottom = this.borderString;}
+this.bottomContainer.appendChild(newFillerBar);}
+break;}}}
+this.drawPixel = function(intx, inty, colour, transAmount, height, newCorner, image, cornerRadius) {var pixel = document.createElement("DIV");pixel.style.height   = height + "px";pixel.style.width    = "1px";pixel.style.position = "absolute";pixel.style.fontSize = "1px";pixel.style.overflow = "hidden";if(image == -1 && this.backgroundImage != "") {pixel.style.backgroundImage = this.backgroundImage;pixel.style.backgroundPosition  = "-" + (this.boxWidth - (cornerRadius - intx) + this.borderWidth) + "px -" + ((this.boxHeight + cornerRadius + inty) -this.borderWidth) + "px";} else {pixel.style.backgroundColor = colour;}
+if (transAmount != 100) {dojo.html.setOpacity(pixel, transAmount);}
+pixel.style.top = inty + "px";pixel.style.left = intx + "px";newCorner.appendChild(pixel);}},pixelFraction: function(x, y, r) {var pixelfraction = 0;var xvalues = [];var yvalues = [];var point = 0;var whatsides = "";var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x,2)));if ((intersect >= y) && (intersect < (y+1))) {whatsides = "Left";xvalues[point] = 0;yvalues[point] = intersect - y;point =  point + 1;}
+var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y+1,2)));if ((intersect >= x) && (intersect < (x+1))) {whatsides = whatsides + "Top";xvalues[point] = intersect - x;yvalues[point] = 1;point = point + 1;}
+var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x+1,2)));if ((intersect >= y) && (intersect < (y+1))) {whatsides = whatsides + "Right";xvalues[point] = 1;yvalues[point] = intersect - y;point =  point + 1;}
+var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y,2)));if ((intersect >= x) && (intersect < (x+1))) {whatsides = whatsides + "Bottom";xvalues[point] = intersect - x;yvalues[point] = 0;}
+switch (whatsides) {case "LeftRight":
+pixelfraction = Math.min(yvalues[0],yvalues[1]) + ((Math.max(yvalues[0],yvalues[1]) - Math.min(yvalues[0],yvalues[1]))/2);break;case "TopRight":
+pixelfraction = 1-(((1-xvalues[0])*(1-yvalues[1]))/2);break;case "TopBottom":
+pixelfraction = Math.min(xvalues[0],xvalues[1]) + ((Math.max(xvalues[0],xvalues[1]) - Math.min(xvalues[0],xvalues[1]))/2);break;case "LeftBottom":
+pixelfraction = (yvalues[0]*xvalues[1])/2;break;default:
+pixelfraction = 1;}
+return pixelfraction;},rgb2Hex: function (rgbColour) {try{var rgbArray = this.rgb2Array(rgbColour);var red   = parseInt(rgbArray[0]);var green = parseInt(rgbArray[1]);var blue  = parseInt(rgbArray[2]);var hexColour = "#" + this.intToHex(red) + this.intToHex(green) + this.intToHex(blue);}
+catch(e){ alert("There was an error converting the RGB value to Hexadecimal in function rgb2Hex");}
+return hexColour;},intToHex: function (strNum) {var base = strNum / 16;var rem = strNum % 16;var base = base - (rem / 16);var baseS = this.makeHex(base);var remS = this.makeHex(rem);return baseS + '' + remS;},makeHex: function(x) {if((x >= 0) && (x <= 9)) {return x;} else {switch(x) {case 10: return "A";case 11: return "B";case 12: return "C";case 13: return "D";case 14: return "E";case 15: return "F";}}},rgb2Array: function(rgbColour) {var rgbValues = rgbColour.substring(4, rgbColour.indexOf(")"));var rgbArray = rgbValues.split(", ");return rgbArray;}});
\ No newline at end of file

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Select.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Select.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Select.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Select.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,4 @@
+
+dojo.provide("dojo.widget.Select");dojo.require("dojo.widget.ComboBox");dojo.require("dojo.widget.*");dojo.require("dojo.widget.html.stabile");dojo.widget.defineWidget(
+"dojo.widget.Select",dojo.widget.ComboBox,{forceValidOption: true,setValue: function(value) {this.comboBoxValue.value = value;dojo.widget.html.stabile.setState(this.widgetId, this.getState(), true);this.onValueChanged(value);},setLabel: function(value){this.comboBoxSelectionValue.value = value;if (this.textInputNode.value != value) {this.textInputNode.value = value;}},getLabel: function(){return this.comboBoxSelectionValue.value;},getState: function() {return {value: this.getValue(),label: this.getLabel()};},onKeyUp: function( evt){this.setLabel(this.textInputNode.value);},setState: function( state) {this.setValue(state.value);this.setLabel(state.label);},setAllValues: function( value1,  value2){this.setLabel(value1);this.setValue(value2);}}
+);
\ No newline at end of file

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Show.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Show.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Show.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/Show.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,30 @@
+
+dojo.provide("dojo.widget.Show");dojo.require("dojo.widget.*");dojo.require("dojo.widget.HtmlWidget");dojo.require("dojo.uri.Uri");dojo.require("dojo.event.*");dojo.require("dojo.lfx.*");dojo.require("dojo.math.curves");dojo.require("dojo.lang.common");dojo.require("dojo.lang.func");dojo.widget.defineWidget(
+"dojo.widget.Show",dojo.widget.HtmlWidget,function(){this._slides=[];},{isContainer: true,_slide: -1,body: null,nav: null,hider: null,select: null,option: null,inNav: false,debugPane: null,noClick: false,templatePath: dojo.uri.dojoUri("src/widget/templates/Show.html"),templateCssPath: dojo.uri.dojoUri("src/widget/templates/Show.css"),fillInTemplate: function(args, frag){if(args.debugPane){var dp = this.debugPane = dojo.widget.byId(args.debugPane);dp.hide();dojo.event.connect(dp, "closeWindow", dojo.lang.hitch(this, function(){ this.debugPane = false; }));}
+var source = this.getFragNodeRef(frag);this.sourceNode = dojo.body().appendChild(source.cloneNode(true));for(var i = 0, child; child = this.sourceNode.childNodes[i]; i++){if(child.tagName && child.getAttribute("dojotype").toLowerCase() == "showslide"){child.className = "dojoShowPrintSlide";child.innerHTML = "<h1>" + child.title + "</h1>" + child.innerHTML;}}
+this.sourceNode.className = "dojoShowPrint";this.sourceNode.style.display = "none";dojo.event.connect(document, "onclick", this, "gotoSlideByEvent");if(dojo.render.html.ie) {dojo.event.connect(document,"onkeydown",this, "gotoSlideByEvent");} else {dojo.event.connect(document,"onkeypress",this, "gotoSlideByEvent");}
+dojo.event.connect(window, "onresize", this, "resizeWindow");dojo.event.connect(this.nav, "onmousemove", this, "popUpNav");},postCreate: function(){this._slides = [];for(var i = 0, child; child = this.children[i]; i++){if(child.widgetType == "ShowSlide"){this._slides.push(child);this.option.text = child.title+" ("+(i+1)+")";this.option.parentNode.insertBefore(this.option.cloneNode(true), this.option);}}
+this.option.parentNode.removeChild(this.option);this.domNode.style.display = "block";this.resizeWindow();this.gotoSlide(0, true);dojo.addOnLoad(dojo.lang.hitch(this,function(){var th = window.location.hash;if(th.length){var parts = (""+window.location).split(this.widgetId+"_SlideNo_");if(parts.length > 1){setTimeout(dojo.lang.hitch(this, function(){this.gotoSlide(parseInt(parts[1]), true);}), 300);}}})
+);},gotoSlide: function( slide, preventSetHash){if(slide == this._slide){return;}
+if(!this._slides[slide]){for(var i = 0, child; child = this._slides[i]; i++){if(child.title == slide){slide = i;break;}}}
+if(!this._slides[slide]){return;}
+if(this.debugPane){if(this._slides[slide].debug){this.debugPane.show();}else{this.debugPane.hide();}}
+if(this._slide != -1){while(this._slides[this._slide].previousAction()){}}
+if(!preventSetHash){window.location.href = "#"+this.widgetId+"_SlideNo_"+slide;}
+if(this._slides[this._slide]){this._slides[this._slide].hide();}
+this._slide = slide;this.select.selectedIndex = slide;var cn = this.contentNode;while(cn.firstChild){ cn.removeChild(cn.firstChild); }
+cn.appendChild(this._slides[slide].domNode);this._slides[slide].show();},gotoSlideByEvent: function( event){var node = event.target;var type = event.type;if(type == "click"){if(node.tagName == "OPTION" && node.parentNode == this.select){this.gotoSlide(node.index);}else if(node == this.select){this.gotoSlide(node.selectedIndex);}else{this.nextSlide(event);}}else if (type=="keydown" || type=="keypress") {var key = event.keyCode;var ch = event.charCode;if(key == 63234 || key == 37){this.previousSlide(event);}else if(key == 63235 || key == 39 || ch == 32){this.nextSlide(event);}}},nextSlide: function( event){if(!this.stopEvent(event)){return false;}
+if(!this._slides[this._slide].nextAction(event)){if((this._slide + 1) != this._slides.length){this.gotoSlide(this._slide + 1);return true;}
+return false;}},previousSlide: function( event){if(!this.stopEvent(event)){return false;}
+if(!this._slides[this._slide].previousAction(event)){if((this._slide - 1) != -1){this.gotoSlide(this._slide - 1);return true;}
+return false;}},stopEvent: function( ev){if(!ev){return true;}
+if (ev.type == "click" && (this._slides[this._slide].noClick || this.noClick)) {return false;}
+var target = ev.target;while(target != null){if(target == this.domNode){target = ev.target;break;}
+target = target.parentNode;}
+if(!dojo.dom.isDescendantOf(target, this.nav)){while(target && target != this.domNode){if(target.tagName == "A" || target.tagName == "INPUT" || target.tagName == "TEXTAREA" || target.tagName == "SELECT"){return false;}
+if(typeof target.onclick == "function" || typeof target.onkeypress == "function"){return false;}
+target = target.parentNode;}}
+if(window.event){ev.returnValue = false;ev.cancelBubble = true;}else{ev.preventDefault();ev.stopPropagation();}
+return true;},popUpNav: function(){if(!this.inNav){dojo.lfx.propertyAnimation(this.nav, {"height": { start: 5, end: 30 }}, 250).play();}
+clearTimeout(this.inNav);this.inNav = setTimeout(dojo.lang.hitch(this, "hideNav"), 2000);},hideNav: function(){clearTimeout(this.inNav);this.inNav = false;dojo.lfx.propertyAnimation(this.nav, {"height": { start: 30, end: 5 }}, 250).play();},resizeWindow: function( ev){dojo.body().style.height = "auto";var h = Math.max(
+document.documentElement.scrollHeight || dojo.body().scrollHeight,dojo.html.getViewport().height);dojo.body().style.height = h + "px";}});
\ No newline at end of file

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowAction.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowAction.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowAction.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowAction.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,3 @@
+
+dojo.provide("dojo.widget.ShowAction");dojo.require("dojo.widget.*");dojo.widget.defineWidget(
+"dojo.widget.ShowAction",dojo.widget.HtmlWidget,{on: "",action: "fade",duration: 350,from: "",to: "",auto: "false",postMixInProperties: function(){if(dojo.render.html.opera){this.action = this.action.split("/").pop();}}});
\ No newline at end of file

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowSlide.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowSlide.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowSlide.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/ShowSlide.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,29 @@
+
+dojo.provide("dojo.widget.ShowSlide");dojo.require("dojo.widget.*");dojo.require("dojo.lang.common");dojo.require("dojo.widget.HtmlWidget");dojo.require("dojo.lfx.html");dojo.require("dojo.html.display");dojo.require("dojo.html.layout");dojo.require("dojo.animation.Animation");dojo.require("dojo.gfx.color");dojo.widget.defineWidget(
+"dojo.widget.ShowSlide",dojo.widget.HtmlWidget,{title: "",_action: -1,isContainer: true,_components: {},_actions: [],gotoAction: function( action){this._action = action;},_nextAction: function( event){if((this._action + 1) != this._actions.length){++this._action;return true;}
+return false;},_previousAction: function( event){if((this._action - 1) != -1){--this._action;return true;}
+return false;},htmlTitle: null,debug: false,noClick: false,templatePath: dojo.uri.dojoUri("src/widget/templates/ShowSlide.html"),templateCssPath: dojo.uri.dojoUri("src/widget/templates/ShowSlide.css"),postCreate: function(){this.htmlTitle.innerHTML = this.title;var actions = this.getChildrenOfType("ShowAction", false);var atypes = {};dojo.lang.forEach(actions, function(act){ atypes[act.on] = true; });this._components = {};var cn = this.containerNode;var nodes = dojo.render.html.ie ? cn.all : cn.getElementsByTagName('*');dojo.lang.forEach(nodes, function(node){var as = node.getAttribute("as");if(as){if(!this._components[as]){this._components[as] = [];}
+this._components[as].push(node);if(!atypes[as]){var tmpAction = dojo.widget.createWidget("ShowAction", { on: as });this.addChild(tmpAction);atypes[as] = true;}}}, this);this._actions = [];actions = this.getChildrenOfType("ShowAction", false);dojo.lang.forEach(actions, function(child){this._actions.push(child);var components = this._components[child.on];for(var j = 0, component; component = components[j]; j++){if(child["action"] && (
+(child.action != "remove")&&
+(child.action != "fadeout")&&
+(child.action != "wipeout")
+) ){this.hideComponent(component);}}}, this);},previousAction: function( event){if(!this.parent.stopEvent(event)){return false;}
+var action = this._actions[this._action];if(!action){return false;}
+var on = action.on;while(action.on == on){var components = this._components[on];for(var i = 0, component; component = components[i]; i++){if(
+(action.action == "remove")||
+(action.action == "fadeout")||
+(action.action == "wipeout")
+){if(component.style.display == "none"){component.style.display = "";component.style.visibility = "visible";var exits = true;}
+dojo.html.setOpacity(component, 1);}else if(action.action){this.hideComponent(component);}}
+--this._action;if(exits){return true;}
+if(action.auto == "true"){on = this._actions[this._action].on;}
+action = this._actions[this._action];if(!action){return false;}}
+return true;},hideComponent: function( component){component.style.visibility = "hidden";component.style.backgroundColor = "transparent";var parent = component.parentNode;if((parent)&&(parent.tagName.toLowerCase() == "li")){parent.oldType = parent.style.listStyleType;parent.style.listStyleType = "none";}},nextAction: function( event){if(!this.parent.stopEvent(event)){return false;}
+if(!this._nextAction(this)){return false;}
+var action = this._actions[this._action];if(!action){return false;}
+var tmpAction = action["action"];var components = this._components[action.on];for(var i = 0, component; component = components[i]; i++){if(tmpAction){var duration = action.duration || 1000;if((tmpAction == "fade")||(tmpAction == "fadeIn")){dojo.html.setOpacity(component, 0);dojo.lfx.html.fadeShow(component, duration).play(true);}else if(tmpAction == "fadeout"){dojo.lfx.html.fadeHide(component, duration).play(true);}else if(tmpAction == "fly"){var width = dojo.html.getMarginBox(component).width;var position = dojo.html.getAbsolutePosition(component);component.style.position = "relative";component.style.left = -(width + position.x) + "px";dojo.lfx.html.slideBy(component, { top: 0, left: (width + position.x)}, duration, -1, this.callWith).play(true);}else if((tmpAction == "wipe")||(tmpAction == "wipein")){dojo.lfx.html.wipeIn(component, duration).play();}else if(tmpAction == "wipeout"){dojo.lfx.html.wipeOut(component, duration).play();}else if(tmpAction == "color"){var from = n
 ew dojo.gfx.color.Color(action.from).toRgb();var to = new dojo.gfx.color.Color(action.to).toRgb();var anim = new dojo.animation.Animation(new dojo.math.curves.Line(from, to), duration, 0);var node = component;dojo.event.connect(anim, "onAnimate", function(e) {node.style.color = "rgb(" + e.coordsAsInts().join(",") + ")";});anim.play(true);}else if(tmpAction == "bgcolor"){dojo.lfx.html.unhighlight(component, action.to, duration).play();}else if(tmpAction == "remove"){component.style.display = "none";}
+if(tmpAction == "hide"){component.style.visibility = "hidden";}else{component.style.visibility = "visible";}}}
+action = this._actions[this._action + 1];if(action && action.auto == "true"){this.nextAction();}
+return true;},callWith: function( node){if(!node){ return; }
+if(dojo.lang.isArray(node)){dojo.lang.forEach(node, arguments.callee);return;}
+var parent = node.parentNode;if((parent)&&(parent.tagName.toLowerCase() == "li")){parent.style.listStyleType = parent.oldType;}}});
\ No newline at end of file

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

Added: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SlideShow.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SlideShow.js?view=auto&rev=477287
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SlideShow.js (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo/src/widget/SlideShow.js Mon Nov 20 10:54:21 2006
@@ -0,0 +1,9 @@
+
+dojo.provide("dojo.widget.SlideShow");dojo.require("dojo.event.*");dojo.require("dojo.widget.*");dojo.require("dojo.lfx.*");dojo.require("dojo.html.display");dojo.widget.defineWidget(
+"dojo.widget.SlideShow",dojo.widget.HtmlWidget,{templatePath: dojo.uri.dojoUri("src/widget/templates/SlideShow.html"),templateCssPath: dojo.uri.dojoUri("src/widget/templates/SlideShow.css"),imgUrls: [],imgUrlBase: "",delay: 4000,transitionInterval: 2000,imgWidth: 800,imgHeight: 600,preventCache: false,stopped: false,_urlsIdx: 0,_background: "img2",_foreground: "img1",fadeAnim: null,startStopButton: null,img1: null,img2: null,postMixInProperties: function(){this.width = this.imgWidth + "px";this.height = this.imgHeight + "px";},fillInTemplate: function(){if(dojo.render.html.safari && this.imgUrls.length == 2) {this.preventCache = true;}
+dojo.html.setOpacity(this.img1, 0.9999);dojo.html.setOpacity(this.img2, 0.9999);if(this.imgUrls.length>1){this.img2.src = this.imgUrlBase+this.imgUrls[this._urlsIdx++] + this._getUrlSuffix();this._endTransition();}else{this.img1.src = this.imgUrlBase+this.imgUrls[this._urlsIdx++] + this._getUrlSuffix();}},_getUrlSuffix: function() {if(this.preventCache) {return "?ts=" + (new Date()).getTime();} else {return "";}},togglePaused: function(){if(this.stopped){this.stopped = false;this._backgroundImageLoaded();this.startStopButton.value= "pause";}else{this.stopped = true;this.startStopButton.value= "play";}},_backgroundImageLoaded: function(){if(this.stopped){ return; }
+if(this.fadeAnim) {this.fadeAnim.stop();}
+this.fadeAnim = dojo.lfx.fadeOut(this[this._foreground],this.transitionInterval, null);dojo.event.connect(this.fadeAnim,"onEnd",this,"_endTransition");this.fadeAnim.play();},_endTransition: function(){with(this[this._background].style){ zIndex = parseInt(zIndex)+1; }
+with(this[this._foreground].style){ zIndex = parseInt(zIndex)-1; }
+var tmp = this._foreground;this._foreground = this._background;this._background = tmp;this._loadNextImage();},_loadNextImage: function(){dojo.event.kwConnect({srcObj: this[this._background],srcFunc: "onload",adviceObj: this,adviceFunc: "_backgroundImageLoaded",once: true,delay: this.delay});dojo.html.setOpacity(this[this._background], 1.0);this[this._background].src = this.imgUrlBase+this.imgUrls[this._urlsIdx++];if(this._urlsIdx>(this.imgUrls.length-1)){this._urlsIdx = 0;}}}
+);
\ No newline at end of file

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