You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by mr...@apache.org on 2006/04/14 01:47:17 UTC

svn commit: r393978 [23/25] - in /incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo: ./ demos/ demos/widget/ demos/widget/EditorTree/ demos/widget/EditorTree/static/ demos/widget/Mail/ demos/widget/images/ src/ src/alg/...

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/Chart.js
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/Chart.js?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/Chart.js (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/Chart.js Thu Apr 13 16:46:55 2006
@@ -0,0 +1,534 @@
+/*
+	Copyright (c) 2004-2005, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.widget.svg.Chart");
+
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.Chart");
+dojo.require("dojo.math");
+dojo.require("dojo.html");
+dojo.require("dojo.svg");
+dojo.require("dojo.graphics.color");
+
+dojo.widget.svg.Chart=function(){
+	dojo.widget.Chart.call(this);
+	dojo.widget.HtmlWidget.call(this);
+};
+dojo.inherits(dojo.widget.svg.Chart, dojo.widget.HtmlWidget);
+dojo.lang.extend(dojo.widget.svg.Chart, {
+	//	widget props
+	templatePath:null,
+	templateCssPath:null,
+
+	//	state
+	_isInitialized:false,
+	hasData:false,
+
+	//	chart props
+	vectorNode:null,
+	plotArea:null,
+	dataGroup:null,
+	axisGroup:null,
+
+	properties:{
+		height:400,	//	defaults, will resize to the domNode.
+		width:600,
+		plotType:null,
+		padding:{
+			top:10,
+			bottom:2,
+			left:60,
+			right:30
+		},
+		axes:{
+			x:{
+				plotAt:0,
+				label:"",
+				unitLabel:"",
+				unitType:Number,
+				nUnitsToShow:10,
+				range:{
+					min:0,
+					max:200
+				}
+			},
+			y:{
+				plotAt:0,
+				label:"",
+				unitLabel:"",
+				unitType:Number,
+				nUnitsToShow:10,
+				range:{
+					min:0,
+					max:200
+				}
+			}
+		}
+	},
+	
+	fillInTemplate:function(args,frag){
+		this.parseData();
+		this.initialize();
+		this.render();
+	},
+	parseData:function(){
+	},
+	initialize:function(){
+		//	begin by grabbing the table, and reading it in.
+		var table=this.domNode.getElementsByTagName("table")[0];
+		if (!table) return;
+		
+		var bRangeX=false;
+		var bRangeY=false;
+		
+		//	properties off the table
+		if (table.getAttribute("width")) this.properties.width=table.getAttribute("width");
+		if (table.getAttribute("height")) this.properties.height=table.getAttribute("height");
+		if (table.getAttribute("plotType")) this.properties.plotType=table.getAttribute("plotType");
+		if (table.getAttribute("padding")){
+			if (table.getAttribute("padding").indexOf(",") > -1)
+				var p=table.getAttribute("padding").split(","); 
+			else var p=table.getAttribute("padding").split(" ");
+			if (p.length==1){
+				var pad=parseFloat(p[0]);
+				this.properties.padding.top=pad;
+				this.properties.padding.right=pad;
+				this.properties.padding.bottom=pad;
+				this.properties.padding.left=pad;
+			} else if(p.length==2){
+				var padV=parseFloat(p[0]);
+				var padH=parseFloat(p[1]);
+				this.properties.padding.top=padV;
+				this.properties.padding.right=padH;
+				this.properties.padding.bottom=padV;
+				this.properties.padding.left=padH;
+			} else if(p.length==4){
+				this.properties.padding.top=parseFloat(p[0]);
+				this.properties.padding.right=parseFloat(p[1]);
+				this.properties.padding.bottom=parseFloat(p[2]);
+				this.properties.padding.left=parseFloat(p[3]);
+			}
+		}
+		if (table.getAttribute("rangeX")){
+			var p=table.getAttribute("rangeX");
+			if (p.indexOf(",")>-1) p=p.split(",");
+			else p=p.split(" ");
+			this.properties.axes.x.range.min=parseFloat(p[0]);
+			this.properties.axes.x.range.max=parseFloat(p[1]);
+			bRangeX=true;
+		}
+		if (table.getAttribute("rangeY")){
+			var p=table.getAttribute("rangeY");
+			if (p.indexOf(",")>-1) p=p.split(",");
+			else p=p.split(" ");
+			this.properties.axes.y.range.min=parseFloat(p[0]);
+			this.properties.axes.y.range.max=parseFloat(p[1]);
+			bRangeY=true;
+		}
+
+		var thead=table.getElementsByTagName("thead")[0];
+		var tbody=table.getElementsByTagName("tbody")[0];
+		if(!(thead&&tbody)) dojo.raise("dojo.widget.Chart: supplied table must define a head and a body.");
+
+		//	set up the series.
+		var columns=thead.getElementsByTagName("tr")[0].getElementsByTagName("th");	//	should be <tr><..>
+		
+		//	assume column 0 == X
+		for (var i=1; i<columns.length; i++){
+			var key="column"+i;
+			var label=columns[i].innerHTML;
+			var plotType=columns[i].getAttribute("plotType")||"line";
+			var color=columns[i].getAttribute("color");
+			var ds=new dojo.widget.Chart.DataSeries(key,label,plotType,color);
+			this.series.push(ds);
+		}
+
+		//	ok, get the values.
+		var rows=tbody.getElementsByTagName("tr");
+		var xMin=Number.MAX_VALUE,xMax=Number.MIN_VALUE;
+		var yMin=Number.MAX_VALUE,yMax=Number.MIN_VALUE;
+		var ignore = ["accesskey","align","bgcolor","class","colspan","height","id","nowrap","rowspan","style","tabindex","title","valign","width"];
+
+		for(var i=0; i<rows.length; i++){
+			var row=rows[i];
+			var cells=row.getElementsByTagName("td");
+			var x=Number.MIN_VALUE;
+			for (var j=0; j<cells.length; j++){
+				if (j==0){
+					x=parseFloat(cells[j].innerHTML);
+					xMin=Math.min(xMin, x);
+					xMax=Math.max(xMax, x);
+				} else {
+					var ds=this.series[j-1];
+					var y=parseFloat(cells[j].innerHTML);
+					yMin=Math.min(yMin,y);
+					yMax=Math.max(yMax,y);
+					var o={x:x, value:y};
+					var attrs=cells[j].attributes;
+					for(var k=0; k<attrs.length; k++){
+						var attr=attrs.item(k);
+						var bIgnore=false;
+						for (var l=0; l<ignore.length; l++){
+							if (attr.nodeName.toLowerCase()==ignore[l]){
+								bIgnore=true;
+								break;
+							}
+						}
+						if(!bIgnore) o[attr.nodeName]=attr.nodeValue;
+					}
+					ds.add(o);
+				}
+			}
+		}
+
+		//	fix the axes
+		if(!bRangeX){
+			this.properties.axes.x.range={min:xMin, max:xMax};
+		}
+		if(!bRangeY){
+			this.properties.axes.y.range={min:yMin, max:yMax};
+		}
+
+		//	where to plot the axes
+		if (table.getAttribute("axisAt")){
+			var p=table.getAttribute("axisAt");
+			if (p.indexOf(",")>-1) p=p.split(",");
+			else p=p.split(" ");
+			
+			//	x axis
+			if (!isNaN(parseFloat(p[0]))){
+				this.properties.axes.x.plotAt=parseFloat(p[0]);
+			} else if (p[0].toLowerCase()=="ymin"){
+				this.properties.axes.x.plotAt=this.properties.axes.y.range.min;
+			} else if (p[0].toLowerCase()=="ymax"){
+				this.properties.axes.x.plotAt=this.properties.axes.y.range.max;
+			}
+
+			// y axis
+			if (!isNaN(parseFloat(p[1]))){
+				this.properties.axes.y.plotAt=parseFloat(p[1]);
+			} else if (p[1].toLowerCase()=="xmin"){
+				this.properties.axes.y.plotAt=this.properties.axes.x.range.min;
+			} else if (p[1].toLowerCase()=="xmax"){
+				this.properties.axes.y.plotAt=this.properties.axes.x.range.max;
+			}
+		} else {
+			this.properties.axes.x.plotAt=this.properties.axes.y.range.min;
+			this.properties.axes.y.plotAt=this.properties.axes.x.range.min;
+		}
+
+		//	table values should be populated, now pop it off.
+		this.domNode.removeChild(table);
+
+		//	get the width and the height.
+//		this.properties.width=dojo.html.getInnerWidth(this.domNode);
+//		this.properties.height=dojo.html.getInnerHeight(this.domNode);
+
+		// ok, lets create the chart itself.
+		dojo.svg.g.suspend();		
+		if(this.vectorNode) this.destroy();
+		this.vectorNode=document.createElementNS(dojo.svg.xmlns.svg, "svg");
+		this.vectorNode.setAttribute("width", this.properties.width);
+		this.vectorNode.setAttribute("height", this.properties.height);
+
+		//	set up the clip path for the plot area.
+		var defs = document.createElementNS(dojo.svg.xmlns.svg, "defs");
+		var clip = document.createElementNS(dojo.svg.xmlns.svg, "clipPath");
+		clip.setAttribute("id","plotClip"+this.widgetId);
+		var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");		
+		rect.setAttribute("x", this.properties.padding.left);
+		rect.setAttribute("y", this.properties.padding.top);
+		rect.setAttribute("width", this.properties.width-this.properties.padding.left-this.properties.padding.right);
+		rect.setAttribute("height", this.properties.height-this.properties.padding.bottom-this.properties.padding.bottom);
+		clip.appendChild(rect);
+		defs.appendChild(clip);
+		this.vectorNode.appendChild(defs);
+
+		//	the plot background.
+		this.plotArea = document.createElementNS(dojo.svg.xmlns.svg, "g");
+		this.vectorNode.appendChild(this.plotArea);
+		var rect = document.createElementNS(dojo.svg.xmlns.svg, "rect");		
+		rect.setAttribute("x", this.properties.padding.left);
+		rect.setAttribute("y", this.properties.padding.top);
+		rect.setAttribute("width", this.properties.width-this.properties.padding.left-this.properties.padding.right);
+		rect.setAttribute("height", this.properties.height-this.properties.padding.bottom-this.properties.padding.bottom);
+		rect.setAttribute("fill", "#fff");
+		this.plotArea.appendChild(rect);
+
+		//	data group
+		this.dataGroup = document.createElementNS(dojo.svg.xmlns.svg, "g");
+		this.dataGroup.setAttribute("style","clip-path:url(#plotClip"+this.widgetId+");");
+		this.plotArea.appendChild(this.dataGroup);
+
+		//	axis group
+		this.axisGroup = document.createElementNS(dojo.svg.xmlns.svg, "g");
+		this.plotArea.appendChild(this.axisGroup);
+
+		//	x axis
+		var stroke=1;
+		var line = document.createElementNS(dojo.svg.xmlns.svg, "line");
+		var y=dojo.widget.svg.Chart.Plotter.getY(this.properties.axes.x.plotAt, this);
+		line.setAttribute("y1", y);
+		line.setAttribute("y2", y);
+		line.setAttribute("x1",this.properties.padding.left-stroke);
+		line.setAttribute("x2",this.properties.width-this.properties.padding.right);
+		line.setAttribute("style","stroke:#000;stroke-width:"+stroke+";");
+		this.axisGroup.appendChild(line);
+		
+		//	x axis units.
+		//	(min and max)
+		var textSize=10;
+		var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+		text.setAttribute("x", this.properties.padding.left);
+		text.setAttribute("y", this.properties.height-this.properties.padding.bottom+textSize+2);
+		text.setAttribute("style", "text-anchor:middle;font-size:"+textSize+"px;fill:#000;");
+		text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.x.range.min)),2));
+		this.axisGroup.appendChild(text);
+		
+		var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+		text.setAttribute("x", this.properties.width-this.properties.padding.right-(textSize/2));
+		text.setAttribute("y", this.properties.height-this.properties.padding.bottom+textSize+2);
+		text.setAttribute("style", "text-anchor:middle;font-size:"+textSize+"px;fill:#000;");
+		text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.x.range.max)),2));
+		this.axisGroup.appendChild(text);	
+		
+		//	y axis
+		var line=document.createElementNS(dojo.svg.xmlns.svg, "line");
+		var x=dojo.widget.svg.Chart.Plotter.getX(this.properties.axes.y.plotAt, this);
+		line.setAttribute("x1", x);
+		line.setAttribute("x2", x);
+		line.setAttribute("y1", this.properties.padding.top);
+		line.setAttribute("y2", this.properties.height-this.properties.padding.bottom);
+		line.setAttribute("style", "stroke:#000;stroke-width:"+stroke+";");
+		this.axisGroup.appendChild(line);
+
+		//	y axis units
+		var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+		text.setAttribute("x", this.properties.padding.left-4);
+		text.setAttribute("y", this.properties.height-this.properties.padding.bottom);
+		text.setAttribute("style", "text-anchor:end;font-size:"+textSize+"px;fill:#000;");
+		text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.y.range.min)),2));
+		this.axisGroup.appendChild(text);
+		
+		var text = document.createElementNS(dojo.svg.xmlns.svg, "text");
+		text.setAttribute("x", this.properties.padding.left-4);
+		text.setAttribute("y", this.properties.padding.top+(textSize/2));
+		text.setAttribute("style", "text-anchor:end;font-size:"+textSize+"px;fill:#000;");
+		text.appendChild(document.createTextNode(dojo.math.round(parseFloat(this.properties.axes.y.range.max)),2));
+		this.axisGroup.appendChild(text);	
+
+		this.domNode.appendChild(this.vectorNode);
+		dojo.svg.g.resume();
+
+		//	this is last.
+		this.assignColors();
+		this._isInitialized=true;
+	},
+	destroy:function(){
+		while(this.domNode.childNodes.length>0){
+			this.domNode.removeChild(this.domNode.childNodes.item(0));
+		}
+		this.vectorNode=this.plotArea=this.dataGroup=this.axisGroup=null;
+	},
+	render:function(){
+		dojo.svg.g.suspend();
+		
+		if (this.dataGroup){
+			while(this.dataGroup.childNodes.length>0){
+				this.dataGroup.removeChild(this.dataGroup.childNodes.item(0));
+			}
+		} else {
+			this.initialize();
+		}
+
+		//	the remove/append is an attempt to streamline the rendering, it's totally optional
+//		var p=this.dataGroup.parentNode;
+//		p.removeChild(this.dataGroup);
+		for(var i=0; i<this.series.length; i++){
+			dojo.widget.svg.Chart.Plotter.plot(this.series[i], this);
+		}
+//		p.appendChild(this.dataGroup);
+		
+		dojo.svg.g.resume();
+	}
+});
+
+dojo.widget.svg.Chart.PlotTypes = {
+	Bar:"bar",
+	Line:"line",
+	Scatter:"scatter",
+	Bubble:"bubble"
+};
+
+dojo.widget.svg.Chart.Plotter=new function(){
+	var _this=this;
+	var plotters = {};
+	var types=dojo.widget.svg.Chart.PlotTypes;
+	
+	this.getX=function(value, chart){
+		var v=parseFloat(value);
+		var min=chart.properties.axes.x.range.min;
+		var max=chart.properties.axes.x.range.max;
+		var ofst=0-min;
+		min+=ofst; max+=ofst; v+=ofst;
+
+		var xmin=chart.properties.padding.left;
+		var xmax=chart.properties.width-chart.properties.padding.right;
+		var x=(v*((xmax-xmin)/max))+xmin;
+		return x;
+	};
+	this.getY=function(value, chart){
+		var v=parseFloat(value);
+		var max=chart.properties.axes.y.range.max;
+		var min=chart.properties.axes.y.range.min;
+		var ofst=0;
+		if(min<0)ofst+=Math.abs(min);
+		min+=ofst; max+=ofst; v+=ofst;
+		
+		var ymin=chart.properties.height-chart.properties.padding.bottom;
+		var ymax=chart.properties.padding.top;
+		var y=(((ymin-ymax)/(max-min))*(max-v))+ymax;
+		return y;
+	};
+
+	this.addPlotter=function(name, func){
+		plotters[name]=func;
+	};
+	this.plot=function(series, chart){
+		if (series.values.length==0) return;
+		if (series.plotType && plotters[series.plotType]){
+			return plotters[series.plotType](series, chart);
+		}
+		else if (chart.plotType && plotters[chart.plotType]){
+			return plotters[chart.plotType](series, chart);
+		}
+//		else {
+//			return plotters[types.Bar](series, chart);
+//		}
+	};
+
+	//	plotting
+	plotters[types.Bar]=function(series, chart){
+		var space=1;
+		var lastW = 0;
+		for (var i=0; i<series.values.length; i++){
+			var x=_this.getX(series.values[i].x, chart);
+			var w;
+			if (i==series.values.length-1){
+				w=lastW;
+			} else{
+				w=_this.getX(series.values[i+1].x, chart)-x-space;
+				lastW=w;
+			}
+			x-=(w/2);
+
+			var yA=_this.getY(chart.properties.axes.x.plotAt, chart);
+			var y=_this.getY(series.values[i].value, chart);
+			var h=Math.abs(yA-y);
+			if (parseFloat(series.values[i].value)<chart.properties.axes.x.plotAt){
+				var oy=yA;
+				yA=y;
+				y=oy;
+			}
+
+			var bar=document.createElementNS(dojo.svg.xmlns.svg, "rect");
+			bar.setAttribute("fill", series.color);
+			bar.setAttribute("title", series.label + ": " + series.values[i].value);
+			bar.setAttribute("stroke-width", "0");
+			bar.setAttribute("x", x);
+			bar.setAttribute("y", y);
+			bar.setAttribute("width", w);
+			bar.setAttribute("height", h);
+			bar.setAttribute("fill-opacity", "0.9");
+			chart.dataGroup.appendChild(bar);
+		}
+	};
+	plotters[types.Line]=function(series, chart){
+		var tension=3;
+		var line = document.createElementNS(dojo.svg.xmlns.svg, "path");
+		line.setAttribute("fill", "none");
+		line.setAttribute("stroke", series.color);
+		line.setAttribute("stroke-width", "1.5");
+		line.setAttribute("stroke-opacity", "0.85");
+		line.setAttribute("title", series.label);
+		chart.dataGroup.appendChild(line);
+
+		var path = [];
+		for (var i=0; i<series.values.length; i++){
+			var x = _this.getX(series.values[i].x, chart)
+			var y = _this.getY(series.values[i].value, chart);
+
+			var dx = chart.properties.padding.left+1;
+			var dy = chart.properties.height-chart.properties.padding.bottom;
+			if (i>0){
+				dx=x-_this.getX(series.values[i-1].x, chart);
+				dy=_this.getY(series.values[i-1].value, chart);
+			}
+			
+			if (i==0) path.push("M");
+			else {
+				path.push("C");
+				var cx=x-(tension-1)*(dx/tension);
+				path.push(cx+","+dy);
+				cx=x-(dx/tension);
+				path.push(cx+","+y);
+			}
+			path.push(x+","+y);
+		}
+		line.setAttribute("d", path.join(" "));
+	};
+	plotters[types.Scatter]=function(series, chart){
+		var r=7;
+		for (var i=0; i<series.values.length; i++){
+			var x=_this.getX(series.values[i].x, chart);
+			var y=_this.getY(series.values[i].value, chart);
+			var point = document.createElementNS(dojo.svg.xmlns.svg, "path");
+			point.setAttribute("fill", series.color);
+			point.setAttribute("stroke-width", "0");
+			point.setAttribute("title", series.label + ": " + series.values[i].value);
+			point.setAttribute("d",
+				"M " + x + "," + (y-r) + " " +
+				"Q " + x + "," + y + " " + (x+r) + "," + y + " " +
+				"Q " + x + "," + y + " " + x + "," + (y+r) + " " +
+				"Q " + x + "," + y + " " + (x-r) + "," + y + " " +
+				"Q " + x + "," + y + " " + x + "," + (y-r) + " " +
+				"Z"
+			);
+			chart.dataGroup.appendChild(point);
+		}
+	};
+	plotters[types.Bubble]=function(series, chart){
+		//	added param for series[n].value: size
+		var minR=1;
+		
+		//	do this off the x axis?
+		var min=chart.properties.axes.x.range.min;
+		var max=chart.properties.axes.x.range.max;
+		var ofst=0-min;
+		min+=ofst; max+=ofst; v+=ofst;
+		var xmin=chart.properties.padding.left;
+		var xmax=chart.properties.width-chart.properties.padding.right;
+		var factor=(max-min)/(xmax-xmin)*25;
+		
+		for (var i=0; i<series.values.length; i++){
+			var size = series.values[i].size;
+			if (isNaN(parseFloat(size))) size=minR;
+			var point=document.createElementNS(dojo.svg.xmlns.svg, "circle");
+			point.setAttribute("stroke-width", 0);
+			point.setAttribute("fill", series.color);
+			point.setAttribute("fill-opacity", "0.8");
+			point.setAttribute("r", (parseFloat(size)*factor)/2);
+			point.setAttribute("cx", _this.getX(series.values[i].x, chart));
+			point.setAttribute("cy", _this.getY(series.values[i].value, chart));
+			point.setAttribute("title", series.label + ": " + series.values[i].value + " (" + size + ")");
+			chart.dataGroup.appendChild(point);
+		}
+	};
+}();

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/HslColorPicker.js
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/HslColorPicker.js?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/HslColorPicker.js (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/svg/HslColorPicker.js Thu Apr 13 16:46:55 2006
@@ -0,0 +1,139 @@
+/*
+	Copyright (c) 2004-2005, The Dojo Foundation
+	All Rights Reserved.
+
+	Licensed under the Academic Free License version 2.1 or above OR the
+	modified BSD license. For more information on Dojo licensing, see:
+
+		http://dojotoolkit.org/community/licensing.shtml
+*/
+
+dojo.provide("dojo.widget.svg.HslColorPicker");
+
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.HslColorPicker");
+dojo.require("dojo.math");
+dojo.require("dojo.svg");
+dojo.require("dojo.graphics.color");
+
+dojo.widget.svg.HslColorPicker=function(){
+	dojo.widget.HslColorPicker.call(this);
+	dojo.widget.HtmlWidget.call(this);
+	dojo.debug("warning: the HslColorPicker is not a finished widget, and is not yet ready for general use");
+	this.hue = "0";
+	this.saturation = "0";
+	this.light = "0";
+	this.storedColor = "#0054aa";
+	var _this = this;
+	this.filterObject = {
+	}
+};
+dojo.inherits(dojo.widget.svg.HslColorPicker, dojo.widget.HtmlWidget);
+dojo.lang.extend(dojo.widget.svg.HslColorPicker, {
+	//	widget props
+	templatePath: dojo.uri.dojoUri("src/widget/templates/HslColorPicker.svg"),
+	templateCssPath: dojo.uri.dojoUri("src/widget/templates/HslColorPicker.css"),
+	fillInTemplate: function() {
+		this.height = "131px";
+		this.svgDoc = this.hueNode.ownerDocument;
+		this.leftGradientColorNode = this.hueNode.ownerDocument.getElementById("leftGradientColor");
+		this.rightGradientColorNode = this.hueNode.ownerDocument.getElementById("rightGradientColor");
+		this.hueNode.setAttributeNS(dojo.dom.xmlns.xlink, "href", dojo.uri.dojoUri("src/widget/templates/images/hue.png"));
+		var hsl = dojo.graphics.color.hex2hsl(this.storedColor);
+		this.hue = hsl[0];
+		this.saturation = hsl[1];
+		this.light = hsl[2];
+		this.setSaturationStopColors();
+		//this.setHueSlider();
+		//this.setSaturationLightSlider();
+	},
+	setSaturationStopColors: function() {
+		//this.leftGradientStopColor = "rgb(" + dojo.graphics.color.hsl2rgb(this.hue, 20, 50).join(", ") + ")";
+		//this.rightGradientStopColor = "rgb(" + dojo.graphics.color.hsl2rgb(this.hue, 100, 50).join(", ") + ")";
+		//this.leftGradientStopColor = dojo.graphics.color.hsl2hex(this.hue, 20, 50);
+		//this.rightGradientStopColor = dojo.graphics.color.hsl2hex(this.hue, 100, 50);
+		this.leftGradientStopColor = dojo.graphics.color.rgb2hex(this.hsl2rgb(this.hue, 0, 50));
+		this.rightGradientStopColor = dojo.graphics.color.rgb2hex(this.hsl2rgb(this.hue, 100, 50));
+		this.leftGradientColorNode.setAttributeNS(null,'stop-color',this.leftGradientStopColor);
+		this.rightGradientColorNode.setAttributeNS(null,'stop-color',this.rightGradientStopColor);
+	},
+	setHue: function(hue) {
+		this.hue = hue;
+	},
+	setHueSlider: function() {
+		// FIXME: need to add some padding around the picker so you can see the slider at the top and bottom of the picker)
+		this.hueSliderNode.setAttribute("y", parseInt((this.hue/360) * parseInt(this.height) - 2) + "px" );
+	},
+	setSaturationLight: function(saturation, light) {
+		this.saturation = saturation;
+		this.light = light;
+	},
+	setSaturationLightSlider: function() {
+		// TODO
+	},
+	onHueClick: function(evt) {
+		// get the position that was clicked on the element
+		// FIXME: handle document scrolling, offset
+		var yPosition = parseInt(evt.clientY) - parseInt(evt.target.getAttribute("y"));
+		this.setHue( 360 - parseInt(yPosition*(360/parseInt(this.height))) );
+		this.setSaturationStopColors();
+		this.setStoredColor(dojo.graphics.color.hsl2hex(this.hue, this.saturation, this.light));
+	},
+	onHueDrag: function(evt) {
+		// TODO
+	},
+	onSaturationLightClick: function(evt) {
+		// get the position that was clicked on the element
+		// FIXME: handle document scrolling, offset
+		var xPosition = parseInt(evt.clientX) - parseInt(evt.target.getAttribute("y"));
+		var yPosition = parseInt(evt.clientY) - parseInt(evt.target.getAttribute("y"));
+		saturation = parseInt(parseInt(xPosition)*(101/106));
+		light = parseInt(parseInt(yPosition)*(101/106));
+		this.setSaturationLight(saturation, light);
+		this.setStoredColor(dojo.graphics.color.hsl2hex(this.hue, this.saturation, this.light));
+	},
+	onSaturationLightDrag: function(evt) {
+		// TODO
+	},
+	getStoredColor: function() {
+		return this.storedColor;
+	},
+	setStoredColor: function(rgbHexColor) {
+		this.storedColor = rgbHexColor;
+		dojo.event.topic.publish("/" + this.widgetId + "/setStoredColor", this.filterObject);
+	},
+	hsl2rgb: function(hue, saturation, light)
+	{
+		// hsl2rgb in dojo.graphics.color did not behave hte way I expected, so 
+		// I'm using some old code I wrote until I figure out what the issue is
+		// first, check to see if saturation = 0
+		function rgb(q1,q2,hue) {
+			if (hue>360) hue=hue-360;
+			if (hue<0) hue=hue+360;
+			if (hue<60) return (q1+(q2-q1)*hue/60);
+			else if (hue<180) return(q2);
+			else if (hue<240) return(q1+(q2-q1)*(240-hue)/60);
+			else return(q1);
+		}
+		this.rgb = rgb
+	
+		if (saturation==0) {
+			return [Math.round(light*255/100), Math.round(light*255/100), Math.round(light*255/100)];
+		} else {
+			light = light/100;
+			saturation = saturation/100;
+			// check to see if light > 0.5
+			if ((light)<0.5) {
+				var temp2 = (light)*(1.0+saturation)
+			} else {
+				var temp2 = (light+saturation-(light*saturation))
+			}
+			temp1 = 2.0*light - temp2;
+			var rgbcolor = [];
+			rgbcolor[0] = Math.round(rgb(temp1,temp2,parseInt(hue)+120)*255);
+			rgbcolor[1] = Math.round(rgb(temp1,temp2,hue)*255);
+			rgbcolor[2] = Math.round(rgb(temp1,temp2,parseInt(hue)-120)*255);
+			return rgbcolor;
+		}
+	}
+});

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,24 @@
+.AccordionPanel {
+	border: 0px; 
+	margin: 0px; 
+	padding: 0px;
+}
+
+.AccordionPanelLabel {
+	cursor: pointer;
+	color: white;
+	background-color: #272937;
+	font-family: Verdana, Helvetica, sans-serif;
+	font-size: 0.8em;
+	border: 0px; 
+	margin: 0px; 
+	padding: 0px;
+}
+
+.AccordionPanelInitialContent {
+	cursor: pointer;
+	background-color: #fffed0;
+	border: 0px; 
+	margin: 0px; 
+	padding: 0px;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/AccordionPanel.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,35 @@
+<div class="AccordionPanel">
+	<div dojoAttachPoint="labelNode" 
+		dojoOnClick="toggleOpen" 
+		class="AccordionPanelLabel"><span>
+		</span></div>
+	<div dojoAttachPoint="initialContentNode"
+		class="AccordionPanelInitialContent"><span>
+			
+		</span></div>
+	<div dojoAttachPoint="contentNode"
+		class="AccordtionPanelContent"><span>
+			
+		</span></div>
+</div>
+<!--
+<table cellpadding="0" cellspacing="0" border="0">
+	<tr>
+		<td dojoAttachPoint="labelNode" 
+			dojoOnClick="toggleOpen"
+			style="margin: 0px; padding: 0px; cursor: pointer;">
+			label
+		</td>
+	</tr>
+	<tr>
+		<td dojoAttachPoint="initialContentNode">
+			initial content
+		</td>
+	</tr>
+	<tr>
+		<td>
+			<div dojoAttachPoint="contentNode"></div>
+		</td>
+	</tr>
+</table>
+-->

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HslColorPicker.svg
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HslColorPicker.svg?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HslColorPicker.svg (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HslColorPicker.svg Thu Apr 13 16:46:55 2006
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+	xmlns:xlink="http://www.w3.org/1999/xlink"
+	version="1.1" baseProfile="full" width="170" height="131" xmlns:html="http://www.w3.org/1999/xhtml">
+	<defs>
+	<linearGradient id="colorGradient" dojoAttachPoint="colorGradientNode" x1="0" x2="131" y1="0" y2="0" gradientUnits="userSpaceOnUse">
+		<stop id="leftGradientColor" dojoAttachPoint="leftGradientColorNode" offset="0%" stop-color="#828282"/>
+		<stop id="rightGradientColor" dojoAttachPoint="rightGradientColorNode" offset="100%" stop-color="#053fff"/>
+	</linearGradient>
+	<linearGradient id="verticalGradient" x1="0" x2="0" y1="0" y2="131" gradientUnits="userSpaceOnUse">
+		<stop offset="0%" style="stop-color:#000000;"/>
+		<stop offset="50%" style="stop-color:#000000;stop-opacity:0;"/>
+		<stop offset="50%" style="stop-color:#ffffff;stop-opacity:0;"/>
+		<stop offset="100%" style="stop-color:#ffffff;"/>
+	</linearGradient>
+	<linearGradient id="sliderGradient">
+		<stop offset="0%" style="stop-color:#000000;"/>
+		<stop offset="15%" style="stop-color:#ffffff;"/>
+		<stop offset="30%" style="stop-color:#000000;"/>
+		<stop offset="45%" style="stop-color:#ffffff;"/>
+		<stop offset="60%" style="stop-color:#000000;"/>
+		<stop offset="75%" style="stop-color:#ffffff;"/>
+		<stop offset="90%" style="stop-color:#000000;"/>
+	</linearGradient>
+</defs>
+	<rect x="0" y="0" width="131px" height="131px" fill="url(#colorGradient)"/>
+	<rect x="0" y="0" width="131px" height="131px" style="fill:url(#verticalGradient);"/>
+	<rect id="saturationLightSlider" dojoAttachPoint="saturationLightSliderNode" x="100" y="100" width="5px" height="5px" style="stroke:url(#sliderGradient);stroke-width:1px;fill-opacity:0;"/>
+	<image xlink:href="images/hue.png" dojoAttachPoint="hueNode" x="140px" y="0px" width="21px" height="131px" dojoAttachEvent="onclick: onHueClick;"/>
+	<rect dojoAttachPoint="hueSliderNode" x="139px" y="40px" width="24px" height="4px" style="stroke-opacity:1;fill-opacity:0;stroke:black;"/>
+</svg>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,59 @@
+/* ---- button --- */
+.dojoButton {
+	padding: 0 0 0 0;
+	font-size: 8pt;
+	white-space: nowrap;
+	cursor: pointer;
+}
+
+.dojoButton .dojoButtonContents {
+	padding: 2px 2px 2px 2px;
+	text-align: center;		/* if icon and label are split across two lines, center icon */
+	color: white;
+}
+
+.dojoButtonLeftPart .dojoButtonContents {
+	padding-right: 8px;
+}
+
+.dojoButtonDisabled {
+	cursor: url("images/no.gif"), default;
+}
+
+
+.dojoButtonContents img {
+	vertical-align: middle;	/* if icon and label are on same line, center them */
+}
+
+/* -------- colors ------------ */
+
+.dojoButtonHover .dojoButtonContents {
+}
+
+.dojoButtonDepressed .dojoButtonContents {
+	font-style: italic;
+	color: yellow;
+}
+
+.dojoButtonDisabled .dojoButtonContents {
+	color: #eeeeee;
+}
+
+
+/* ---------- drop down button specific ---------- */
+
+/* border between label and arrow (for drop down buttons */
+.dojoButton .border {
+	width: 1px;
+	background: gray;
+}
+
+/* button arrow */
+.dojoButton .downArrow {
+	padding-left: 10px;
+	text-align: center;
+}
+
+.dojoButton.disabled .downArrow {
+	cursor : default;
+}
\ No newline at end of file

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButton2Template.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,6 @@
+<div class="dojoButton" style="position:relative;" dojoAttachEvent="onMouseOver; onMouseOut; onMouseDown; onMouseUp; onClick:buttonClick;">
+  <div class="dojoButtonContents" align=center dojoAttachPoint="containerNode" style="position:absolute;z-index:2;"></div>
+  <img dojoAttachPoint="leftImage" style="position:absolute;left:0px;">
+  <img dojoAttachPoint="centerImage" style="position:absolute;z-index:1;">
+  <img dojoAttachPoint="rightImage" style="position:absolute;top:0px;right:0px;">
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,83 @@
+/* ---- button --- */
+.dojoButton {
+	padding: 0 0 0 0;
+	margin: 0 0 0 0;
+	font-size: 8pt;
+	white-space: nowrap;
+	cursor: pointer;
+}
+
+.dojoButton.dojoDisabled {
+	cursor: default;
+}
+
+.dojoButton a {
+	color: black;
+	text-decoration: none;
+}
+.dojoButton.dojoDisabled a {
+	color: #999;
+}
+
+.dojoButton .label {
+	padding-right: 5px;
+	text-align: center;		/* if icon and label are split across two lines, center icon */
+}
+
+.dojoButton img {
+	vertical-align: middle;	/* if icon and label are on same line, center them */
+}
+
+.dojoButton td, .dojoButtonWrapper td {
+	margin: 0 0 0 0;
+	padding: 0 0 0 0;
+	position: relative;
+}
+.dojoButton table {
+	padding: 0 0 0 0;
+	cell-spacing: 0px;
+	cell-padding: 0px;
+}
+
+/* -------- colors ------------ */
+.dojoButtonNoHover  {
+}
+
+.dojoButtonHover {
+}
+
+.dojoButton.disabled, .dojoButton.disabled * {
+	color : #999;
+	cursor : default;
+	background-color : #f4f4f4;
+}
+
+/** ----- container for the button and stub to attach the menu below it ----- **/
+.dojoButtonWrapper {
+	border-spacing: 0px;
+	cell-spacing: 0px;
+	cell-padding: 0px;
+	margin: 0 0 0 0;
+	padding: 0 0 0 0;
+	display: inline;
+	margin-right: 10px;
+	text-decoration: none;
+}
+
+/* ---------- drop down button specific ---------- */
+
+/* border between label and arrow (for drop down buttons */
+.dojoButton .border {
+	width: 1px;
+	background: gray;
+}
+
+/* button arrow */
+.dojoButton .downArrow {
+	padding-left: 10px;
+	text-align: center;
+}
+
+.dojoButton.disabled .downArrow {
+	cursor : default;
+}
\ No newline at end of file

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlButtonTemplate.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,3 @@
+<button style="padding-top: 2px; padding-bottom: 2px;" class='dojoButton dojoButtonNoHover' resizeHandle='true'
+	dojoAttachEvent='onMouseOver; onMouseOut; onClick;'
+	dojoAttachPoint='containerNode'>${this.label}</button>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlCiviCrmDatePicker.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlCiviCrmDatePicker.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlCiviCrmDatePicker.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlCiviCrmDatePicker.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,12 @@
+<table cellpadding="0" cellspacing="0" border="0" width="400">
+	<tr>
+		<td id="dateHolderTd" width="200">
+		</td>
+		<td id="timeHolderTd" width="200">
+		</td>
+	</tr>
+	<tr style="display: none;" id="formItemsTr">
+		<td id="formItemsTd">&nbsp;</td>
+		<td>&nbsp;</td>
+	</tr>
+</table>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,39 @@
+input.comboBoxInput {
+	font-size: 0.8em;
+	border: 0px;
+}
+
+.comboBoxOptions {
+	font-family: Verdana, Helvetica, Garamond, sans-serif;
+	font-size: 0.7em;
+	background-color: white;
+	border: 1px solid #afafaf;
+	position: absolute;
+	z-index: 1000; 
+	overflow: auto;
+	-moz-opacity: 0;
+	cursor: default;
+}
+
+table.dojoComboBox {
+	border: 1px solid #afafaf;
+}
+
+.cbItem {
+	padding-left: 2px;
+	padding-top: 2px;
+	margin: 0px;
+}
+
+.cbItemEven {
+	background-color: #f4f4f4;
+}
+
+.cbItemOdd {
+	background-color: white;
+}
+
+.cbItemHighlight {
+	background-color: #63709A;
+	color: white;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboBox.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,34 @@
+<div style="position: relative; z-index: 100;">
+	<input type="hidden" name="" value="" 
+		dojoAttachPoint="comboBoxValue">
+	<input type="hidden" name="" value="" 
+		dojoAttachPoint="comboBoxSelectionValue">
+	<table class="dojoComboBox"
+		cellpadding="0"
+		cellmargin="0"
+		border="0"
+		dojoAttachPoint="cbTableNode"
+		dojoAttachEvent="onClick: killEvent;">
+		<tr valign="top">
+			<td width=100%>
+				<input type="text" class="comboBoxInput"
+					dojoAttachEvent="keyDown: onKeyDown; keyUp: onKeyUp;"
+					dojoAttachPoint="textInputNode"
+					style="width: 100%;">
+			</td>
+			<td>
+				<img border="0" 
+					hspace="0"
+					vspace="0"
+					dojoAttachPoint="downArrowNode"
+					dojoAttachEvent="onMouseUp: handleArrowClick;"
+					src="${dojoRoot}/src/widget/templates/images/combo_box_arrow.png">
+			</td>
+		</tr>
+	</table>
+	<div dojoAttachPoint="optionsListWrapper" style="position:relative;">
+		<div class="comboBoxOptions" dojoAttachPoint="optionsListNode"
+			dojoAttachEvent="onClick: selectOption" style="display:none;">
+		</div>
+	</div>
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboButton2Template.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboButton2Template.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboButton2Template.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlComboButton2Template.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,18 @@
+<div class="dojoButton" style="position:relative;top:0px;left:0px; text-align:none;">
+
+	<div dojoAttachPoint="leftPart" class="dojoButtonLeftPart" style="position:absolute;left:0px;top:0px;"
+		dojoAttachEvent="onMouseOver:leftOver; onMouseOut:leftOut; onMouseUp:leftUp; onClick:leftClick;">
+		<div class="dojoButtonContents" dojoAttachPoint="containerNode" style="position:absolute;top:0px;right:0px;z-index:2;"></div>
+		<img dojoAttachPoint="leftImage" style="position:absolute;left:0px;top:0px;">
+		<img dojoAttachPoint="centerImage" style="position:absolute;right:0px;top:0px;z-index:1;">
+	</div>
+
+	<div dojoAttachPoint="rightPart" class="dojoButtonRightPart" style="position:absolute;top:0px;right:0px;"
+		dojoAttachEvent="onMouseOver:rightOver; onMouseOut:rightOut; onMouseUp:rightUp; onClick:rightClick;">
+		<img dojoAttachPoint="arrowBackgroundImage" style="position:absolute;top:0px;left:0px;z-index:1;">
+		<img src="${dojoRoot}/src/widget/templates/images/whiteDownArrow.gif"
+		  		style="z-index:2;position:absolute;left:3px;top:50%;">
+		<img dojoAttachPoint="rightImage" style="position:absolute;top:0px;right:0px;">
+	</div>
+
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlContextMenuTemplate.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlContextMenuTemplate.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlContextMenuTemplate.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlContextMenuTemplate.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,3 @@
+<ul class="dojoContextMenu" 
+	dojoAttachPoint="containerNode">
+</ul>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,77 @@
+.datePickerContainer {
+	margin:0.5em 2em 0.5em 0;
+	width:10em;
+	float:left;
+}
+
+.previousMonth {
+	background-color:#bbbbbb;
+}
+
+.currentMonth {
+	background-color:#8f8f8f;
+}
+
+.nextMonth {
+	background-color:#eeeeee;
+}
+
+.currentDate {
+	text-decoration:underline;
+	font-style:italic;
+}
+
+.selectedItem {
+	background-color:#3a3a3a;
+	color:#ffffff;
+}
+
+.calendarContainer {
+	border-collapse:collapse;
+	border-spacing:0;
+	border-bottom:1px solid #e6e6e6;
+}
+
+.calendarContainer thead{
+	border-bottom:1px solid #e6e6e6;
+}
+
+.calendarContainer td {
+	font-size:0.85em;
+	padding:0.15em;
+	text-align:center;
+	cursor:pointer;cursor:hand;
+}
+
+.monthLabel {
+	font-size:0.9em;
+	font-weight:400;
+	margin:0;
+	text-align:center;
+}
+
+.monthLabel .month {
+	padding:0 0.4em 0 0.4em;
+}
+
+.yearLabel {
+	font-size:0.9em;
+	font-weight:400;
+	margin:0.25em 0 0 0;
+	text-align:right;
+	color:#a3a3a3;
+}
+
+.yearLabel .selectedYear {
+	color:#000;
+	padding:0 0.2em;
+}
+
+.nextYear, .previousYear {
+	cursor:pointer;cursor:hand;
+}
+
+.incrementControl {
+	cursor:pointer;cursor:hand;
+	width:1em;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDatePicker.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,110 @@
+<div class="datePickerContainer" dojoAttachPoint="datePickerContainerNode">
+	<h3 class="monthLabel">
+	<!--
+	<span 
+		dojoAttachPoint="decreaseWeekNode" 
+		dojoAttachEvent="onClick: onIncrementWeek;" 
+		class="incrementControl">
+		<img src="${dojoRoot}/src/widget/templates/decrementWeek.gif" alt="&uarr;" />
+	</span>
+	-->
+	<span 
+		dojoAttachPoint="decreaseMonthNode" 
+		dojoAttachEvent="onClick: onIncrementMonth;" class="incrementControl">
+		<img src="${dojoRoot}/src/widget/templates/decrementMonth.gif" 
+			alt="&uarr;" dojoAttachPoint="decrementMonthImageNode">
+	</span>
+	<span dojoAttachPoint="monthLabelNode" class="month">July</span>
+	<span 
+		dojoAttachPoint="increaseMonthNode" 
+		dojoAttachEvent="onClick: onIncrementMonth;" class="incrementControl">
+		<img src="${dojoRoot}/src/widget/templates/incrementMonth.gif" 
+			alt="&darr;"  dojoAttachPoint="incrementMonthImageNode">
+	</span>
+	<!--
+		<span dojoAttachPoint="increaseWeekNode" 
+			dojoAttachEvent="onClick: onIncrementWeek;" 
+			class="incrementControl">
+			<img src="${dojoRoot}/src/widget/templates/incrementWeek.gif" 
+			alt="&darr;" />
+		</span>
+	-->
+	</h3>
+	<table class="calendarContainer">
+		<thead>
+			<tr>
+				<td>Su</td>
+				<td>Mo</td>
+				<td>Tu</td>
+				<td>We</td>
+				<td>Th</td>
+				<td>Fr</td>
+				<td>Sa</td>
+			</tr>
+		</thead>
+		<tbody dojoAttachPoint="calendarDatesContainerNode" 
+			dojoAttachEvent="onClick: onSetDate;">
+			<tr dojoAttachPoint="calendarRow0">
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+			</tr>
+			<tr dojoAttachPoint="calendarRow1">
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+			</tr>
+			<tr dojoAttachPoint="calendarRow2">
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+			</tr>
+			<tr dojoAttachPoint="calendarRow3">
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+			</tr>
+			<tr dojoAttachPoint="calendarRow4">
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+			</tr>
+			<tr dojoAttachPoint="calendarRow5">
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+				<td></td>
+			</tr>
+		</tbody>
+	</table>
+	<h3 class="yearLabel">
+		<span dojoAttachPoint="previousYearLabelNode"
+			dojoAttachEvent="onClick: onIncrementYear;" class="previousYear"></span>
+		<span class="selectedYear" dojoAttachPoint="currentYearLabelNode"></span>
+		<span dojoAttachPoint="nextYearLabelNode" 
+			dojoAttachEvent="onClick: onIncrementYear;" class="nextYear"></span>
+	</h3>
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDialog.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDialog.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDialog.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDialog.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,13 @@
+<div class="dojoDialog">
+
+	<span dojoAttachPoint="tabStart" 
+		dojoOnFocus="trapTabs" 
+		dojoOnBlur="clearTrap" tabindex="0"></span>
+
+	<div dojoAttachPoint="containerNode"></div>
+
+	<span dojoAttachPoint="tabEnd" 
+		dojoOnFocus="trapTabs" 
+		dojoOnBlur="clearTrap" tabindex="0"></span>
+
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDropDownButtonTemplate.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDropDownButtonTemplate.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDropDownButtonTemplate.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlDropDownButtonTemplate.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,9 @@
+<button dojoAttachPoint="button" class="dojoButton dojoButtonNoHover" dojoAttachEvent="onMouseOver: ; onMouseOut: ; onClick: ;">
+  <table dojoAttachPoint="table" style="margin:0 0 0 0;"><tr>
+    <td class="label" dojoAttachPoint="labelCell"></td>
+    <td class="border" dojoAttachPoint="borderCell"></td>
+    <td class="downArrow" dojoAttachPoint="arrowCell">
+      <img dojoAttachPoint="arrow">
+    </td>
+  </tr></table>
+</button>
\ No newline at end of file

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFisheyeList.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFisheyeList.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFisheyeList.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFisheyeList.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,27 @@
+.dojoHtmlFisheyeListItemLabel {
+	font-family: Arial, Helvetica, sans-serif;
+	background-color: #eee;
+	border: 2px solid #666;
+	padding: 2px;
+	text-align: center;
+	position: absolute;
+	display: none;
+}
+
+.dojoHtmlFisheyeListItemLabel.selected {
+	display: block;
+}
+
+.dojoHtmlFisheyeListItemImage {
+	border: 0px;
+	position: absolute;
+}
+
+.dojoHtmlFisheyeListItem {
+	position: absolute;
+	z-index: 2;
+}
+
+.dojoHtmlFisheyeListBar {
+	position: relative;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFloatingPane.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFloatingPane.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFloatingPane.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlFloatingPane.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,94 @@
+
+.dojoFloatingPane {
+	position: absolute;
+	border: 1px solid;
+	border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;
+	overflow: visible;		/* so drop shadow is displayed */
+	z-index: 10;
+	background-color: ThreeDFace;
+}
+
+.dojoTitleBarIcon {
+	height: 22px;
+	width: 22px;
+	vertical-align: middle;
+	margin-right: 5px;
+	margin-left: 5px;
+}
+
+.dojoFloatingPaneActions{
+	float: right;
+	position: absolute;
+	right: 2px;
+	top: 2px;
+	vertical-align: middle;
+}
+
+.dojoFloatingPaneTitleBar {
+	vertical-align: top;
+	margin: 2px 4px 2px 2px;
+	color: CaptionText;
+	font: small-caption;
+}
+.dojoFloatingPaneActionItem {
+	vertical-align: middle;
+	margin-right: 1px;
+	height: 22px;
+	width: 22px;
+}
+
+.dojoFloatingPaneDragbar {
+	z-index: 10;
+	margin: 2px 2px 0px 2px;
+	background-color: ActiveCaption;
+	cursor: default;
+	overflow: hidden;
+	white-space: nowrap;
+	border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;
+	vertical-align: middle;
+}
+
+/* background image for title bar */
+.dojoFloatingPaneDragbarBackground {
+	z-index: -1;
+}
+.dojoFloatingPaneDragbarForeground {
+	z-index: 1;
+}
+
+/* bar at bottom of window that holds resize handle */
+.dojoFloatingPaneResizebar {
+	z-index: 10;
+	height: 13px;
+	background-color: ThreeDFace;
+}
+
+.dojoFloatingPaneClient {
+	position: absolute;
+	z-index: 10;
+	border: 1px solid;
+	border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;
+	margin: 2px;
+	background-color: ThreeDFace;
+	padding: 8px;
+	font-family: Verdana, Helvetica, Garamond, sans-serif;
+	font-size: 12px;
+	width: 100%;
+	overflow: auto;
+}
+
+.dojoDropShadow {
+	position: absolute;
+	top: 10px;
+	left: 10px;
+	z-index: -1;
+	background: gray;
+}
+
+.dojoCanvasShadow{
+	position: absolute;
+	top: 15px;
+	left: -15px;
+	z-index: -1;
+	background: transparent;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,24 @@
+.editLabel {
+	font-size : small;
+	padding : 0 5px;
+	display : none;
+}
+
+.editableRegion {
+	background-color : #ffc !important;
+	cursor : pointer;
+	_cursor : hand;
+}
+
+.editableRegion .editLabel {
+	display : inline;
+}
+
+.editableTextareaRegion .editLabel {
+	display : block;
+}
+
+.inlineEditBox {
+	/*background-color : #ffc;*/
+	display : inline;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlInlineEditBox.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,9 @@
+<div>
+	<form class="inlineEditBox" dojoAttachPoint="form" dojoAttachEvent="onSubmit:saveEdit; onReset:cancelEdit; onKeyUp: checkForValueChange;">
+		<input type="text" dojoAttachPoint="text" style="display: none;" />
+		<textarea dojoAttachPoint="textarea" style="display: none;"></textarea>
+		<input type="submit" value="Save" dojoAttachPoint="submitButton" />
+		<input type="reset" value="Cancel" dojoAttachPoint="cancelButton" />
+	</form>
+	<a href="javascript:;" dojoAttachPoint="edit" dojoAttachEvent="onClick:beginEdit" class="editLabel">Edit</a>
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlLayoutPane.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlLayoutPane.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlLayoutPane.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlLayoutPane.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,13 @@
+.dojoLayoutPane {
+	display: block;
+	position: relative;
+}
+
+.dojoAlignNone, .dojoAlignLeft, .dojoAlignRight,
+.dojoAlignTop, .dojoAlignBottom {
+	overflow: hidden;
+}
+
+.dojoAlignClient {
+	overflow: auto;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenu2.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenu2.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenu2.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenu2.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,129 @@
+
+.dojoPopupMenu2 {
+	position: absolute;
+	border: 1px solid;
+	border-color: ThreeDLightShadow ThreeDDarkShadow ThreeDDarkShadow ThreeDLightShadow;
+}
+
+.dojoPopupMenu2Client {
+	border: 1px solid;
+	border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;
+	background-color: ThreeDFace;
+	padding: 1px;
+}
+
+.dojoMenuItem2 {
+	position: relative;
+	white-space: nowrap;
+	font: menu;
+	color: WindowText;
+	margin: 0;
+}
+
+.dojoMenuItem2 span {
+	margin: 0;
+}
+
+.dojoMenuItem2Hover {
+	background-color: Highlight;
+	color: HighlightText;
+}
+
+.dojoMenuItem2Icon {
+	position: absolute;
+	background-position: center center;
+	background-repeat: no-repeat;
+	z-index: 1;
+}
+
+.dojoMenuItem2Label {
+	position: absolute;
+	vertical-align: middle;
+	z-index: 1;
+}
+
+.dojoMenuItem2Label span {
+	position: relative;
+	vertical-align: middle;
+	z-index: 2;
+}
+
+.dojoMenuItem2Label span span {
+	position: absolute;
+	color: ThreeDHighlight;
+	display: none;
+	left: 1px;
+	top: 1px;
+	z-index: -2;
+}
+
+.dojoMenuItem2Accel {
+	position: absolute;
+	vertical-align: middle;
+	z-index: 1;
+}
+
+.dojoMenuItem2Accel span {
+	position: relative;
+	vertical-align: middle;
+	z-index: 2;
+}
+
+.dojoMenuItem2Accel span span {
+	position: absolute;
+	color: ThreeDHighlight;
+	display: none;
+	left: 1px;
+	top: 1px;
+	z-index: -2;
+}
+
+.dojoMenuItem2Disabled .dojoMenuItem2Label span,
+.dojoMenuItem2Disabled .dojoMenuItem2Accel span {
+	color: ThreeDShadow;
+}
+
+.dojoMenuItem2Disabled .dojoMenuItem2Label span span,
+.dojoMenuItem2Disabled .dojoMenuItem2Accel span span {
+	color: ThreeDHighlight;
+	display: block;
+}
+
+.dojoMenuItem2Hover .dojoMenuItem2Label span span,
+.dojoMenuItem2Hover .dojoMenuItem2Accel span span {
+	display: none;
+}
+
+.dojoMenuItem2Submenu {
+	position: absolute;
+	background-position: center center;
+	background-repeat: no-repeat;
+}
+
+.dojoMenuItem2Target {
+	position: absolute;
+	z-index: 10;
+	font-size: 1px;
+	background-image: url('images/transparent.gif');
+	cursor: pointer;
+	_cursor: hand;
+}
+
+.dojoMenuSeparator2 {
+	font-size: 1px;
+	margin: 0;
+}
+
+.dojoMenuSeparator2Top {
+	height: 50%;
+	border-bottom: 1px solid ThreeDShadow;
+	margin: 0px 2px;
+	font-size: 1px;
+}
+
+.dojoMenuSeparator2Bottom {
+	height: 50%;
+	border-top: 1px solid ThreeDHighlight;
+	margin: 0px 2px;
+	font-size: 1px;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenuItemTemplate.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenuItemTemplate.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenuItemTemplate.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlMenuItemTemplate.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,2 @@
+<div dojoAttachPoint="labelNode" dojoAttachEvent="onClick">
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,15 @@
+div.statusBar {
+	background-color: ThreeDFace;
+	height: 28px;
+	padding: 1px;
+	overflow: hidden;
+	font-size: 12px;
+}
+
+div.statusPanel {
+	background-color: ThreeDFace;
+	border: 1px solid;
+	border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;
+	margin: 1px;
+	padding: 2px 6px;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizableTextarea.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,14 @@
+<div>
+	<div style="border: 2px solid black; width: 90%; height: 200px;"
+		dojoAttachPoint="rootLayoutNode">
+		<div dojoAttachPoint="textAreaContainerNode" 
+			style="border: 0px; margin: 0px; overflow: hidden;">
+		</div>
+		<div dojoAttachPoint="statusBarContainerNode" class="statusBar">
+			<div dojoAttachPoint="statusLabelNode" 
+				class="statusPanel"
+				style="padding-right: 0px; z-index: 1;">drag to resize</div>
+			<div dojoAttachPoint="resizeHandleNode"></div>
+		</div>
+	</div>
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizeHandle.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizeHandle.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizeHandle.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlResizeHandle.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,19 @@
+.dojoHtmlResizeHandle {
+	position: absolute;
+	right: 2px;
+	bottom: 2px;
+	width: 13px;
+	height: 13px;
+	padding: 0px;
+	margin: 0px;
+	border: 0px;
+	z-index: 20;
+	background-color: ThreeDFace;
+	cursor: nw-resize;
+}
+
+.dojoHtmlResizeHandle img {
+	position: absolute;
+	top: 0px;
+	left: 0px;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSimpleDropdownButtons.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSimpleDropdownButtons.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSimpleDropdownButtons.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSimpleDropdownButtons.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,100 @@
+ul.dojoSimpleDropdownButtons {
+	margin : 0;
+	padding : 5px 0;
+}
+
+ul.dojoSimpleDropdownButtons li {
+	display : inline;
+	margin-right : 5px;
+	padding : 2px 0;
+}
+
+ul.dojoSimpleDropdownButtons li a {
+	padding : 2px 9px;
+	border : 2px outset #ccc;
+	border-right-width : 1px;
+	background : #f4f4f4;
+	color : #333;
+	text-decoration : none;
+}
+
+ul.dojoSimpleDropdownButtons li ul {
+	display : none;
+}
+
+ul.dojoSimpleDropdownButtons li a.disabled {
+	color : #999;
+	cursor : default;
+}
+
+ul.dojoSimpleDropdownButtons li .downArrow {
+	display : inline;
+	padding : 2px 4px;
+	border : 2px outset #ccc;
+	border-left : 0;
+	background : #f4f4f4 url(images/dropdownButtonsArrow.gif) no-repeat 4px 9px;
+	text-decoration : none;
+	color : black;
+	cursor : pointer;
+	_cursor : hand;
+}
+
+ul.dojoSimpleDropdownButtons li .downArrow.disabled {
+	background-image : url(images/dropdownButtonsArrow-disabled.gif);
+	cursor : default;
+}
+
+ul.dojoSimpleDropdownButtons li a:hover,
+ul.dojoSimpleDropdownButtons li span.downArrow:hover {
+	color : black;
+	background-color : #ddd;
+}
+
+ul.dojoSimpleDropdownButtons li .downArrow.pressed, ul.dojoSimpleDropdownButtons li .downArrow:focus {
+	border-style : inset;
+	background-position : 5px 10px;
+	padding : 2px 4px;
+}
+
+ul.dojoSimpleDropdownButtons li a.disabled:hover,
+ul.dojoSimpleDropdownButtons li span.downArrow.disabled:hover {
+	color : #999;
+	background-color : #f4f4f4;
+}
+
+ul.dojoSimpleDropdownButtons li a:focus {
+	padding : 3px 8px 1px 10px;
+	color : #333;
+	border-style : inset;
+}
+
+/* Menu
+ ******************** */
+ul.dojoSimpleDropdownButtonsMenu {
+	position : absolute;
+	margin : 0;
+	_margin : -2px;
+	padding : 0;
+	display : none;
+	border : 1px solid #aaa;
+	background : #f4f4f4;
+	list-style : none;
+	z-index : 99;
+}
+
+ul.dojoSimpleDropdownButtonsMenu li {
+	_display : inline;
+}
+
+ul.dojoSimpleDropdownButtonsMenu a {
+	display : block;
+	padding : 2px 5px;
+	color : #333;
+	text-decoration : none;
+}
+
+ul.dojoSimpleDropdownButtonsMenu a:hover {
+	background : #ddd;
+	color : black;
+}
+

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,9 @@
+.slideShowImg {
+	position: absolute;
+	left: 0px;
+	top: 0px; 
+	border: 2px solid #4d4d4d;
+	padding: 0px;
+	margin: 0px;
+}
+

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSlideShow.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,21 @@
+<table cellpadding="0" cellspacing="0" border="0">
+	<tr>
+		<td dojoAttachPoint="controlsContainer">
+			<input type="button" value="pause" 
+				dojoAttachPoint="startStopButton"
+				dojoAttachEvent="onClick: togglePaused;">
+		</td>
+	</tr>
+	<tr>
+		<td>
+			<div style="position: relative; width: 800px; height: 600px;"
+				dojoAttachPoint="imagesContainer"
+				dojoAttachEvent="onClick: togglePaused;">
+				<img dojoAttachPoint="img1" class="slideShowImg" 
+					style="z-index: 1;"  />
+				<img dojoAttachPoint="img2" class="slideShowImg" 
+					style="z-index: 0;" />
+			</div>	
+		</td>
+	</tr>
+</table>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSplitPane.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSplitPane.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSplitPane.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlSplitPane.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,45 @@
+.dojoHtmlSplitPane{
+	position: relative;
+	overflow: hidden;
+}
+
+.dojoHtmlSplitterPanePanel{
+	position: absolute;
+	background-color: ThreeDFace;
+	padding: 5px;
+	margin: 0;
+}
+
+.dojoHtmlSplitPaneSizerH,
+.dojoHtmlSplitPaneSizerV {
+	font-size: 1px;
+	cursor: move;
+	cursor: w-resize;
+	background-color: ThreeDFace;
+	border: 1px solid;
+	border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;
+	margin: 0;
+}
+
+.dojoHtmlSplitPaneSizerV {
+
+	cursor: n-resize;
+}
+
+.dojoHtmlSplitPaneVirtualSizerH,
+.dojoHtmlSplitPaneVirtualSizerV {
+
+	font-size: 1px;
+	cursor: move;
+	cursor: w-resize;
+	background-color: ThreeDShadow;
+	-moz-opacity: 0.5;
+	opacity: 0.5;
+	filter: Alpha(Opacity=50);
+	margin: 0;
+}
+
+.dojoHtmlSplitPaneVirtualSizerV {
+
+	cursor: n-resize;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabPane.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabPane.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabPane.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabPane.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,69 @@
+.dojoTabPane {
+	overflow: hidden;	/* workaround firefox bug */
+}
+
+.dojoTabPanel {
+	padding : 10px;
+	border : 1px solid #765;
+	margin-top : -1px;
+	margin-bottom : 10px;
+	overflow : auto;
+}
+
+.tabs {
+	margin : 0;
+	padding : 0;
+	list-style : none;
+}
+
+.tabs li {
+	float : left;
+	padding-left : 9px;
+	border-bottom : 1px solid #765;
+	background : url(images/tab_left.gif) no-repeat left top;
+	cursor: pointer;
+}
+
+.tabs li span {
+	display : block;
+	padding : 4px 15px 4px 6px;
+	background : url(images/tab_right.gif) no-repeat right top;
+	color : #333;
+	font-size : 90%;
+	text-decoration : none;
+}
+
+.tabs li.current {
+	padding-bottom : 1px;
+	border-bottom : 0;
+	background-position : 0 -150px;
+}
+
+.tabs li.current span {
+	padding-bottom : 5px;
+	margin-bottom : -1px;
+	background-position : 100% -150px;
+}
+
+/* bottom tabs */
+.tabs.bottom {
+	border-top : 0;
+}
+
+.tabs.bottom li {
+	border-bottom : 0;
+	background : url(images/tab_left_r.gif) no-repeat left bottom;
+}
+
+.tabs.bottom li span {
+	background : url(images/tab_right_r.gif) no-repeat right bottom;
+}
+
+.tabs.bottom li.current {
+	margin-top : -1px;
+	background-image : url(images/tab_left_r_curr.gif);
+}
+
+.tabs.bottom li.current span {
+	background-image : url(images/tab_right_r_curr.gif);
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabs.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabs.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabs.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTabs.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,81 @@
+.dojoTabPanelContainer {
+	width : 100%;
+	height : 20em;
+	padding : 10px;
+	border : 1px solid #765;
+	clear : both;
+	margin-top : -1px;
+	margin-bottom : 10px;
+	overflow : auto;
+	float : left;
+	box-sizing: border-box;
+	-moz-box-sizing: border-box;
+}
+
+.dojoTabPanelContainer :first-child {
+	margin-top : 0;
+}
+
+.tabs {
+	margin : 0;
+	padding : 0;
+	list-style : none;
+	_border : 1px solid white;
+}
+
+.tabs li {
+	float : left;
+	padding-left : 9px;
+	border-bottom : 1px solid #765;
+	background : url(images/tab_left.gif) no-repeat left top;
+}
+
+.tabs li a {
+	display : block;
+	padding : 4px 15px 4px 6px;
+	background : url(images/tab_right.gif) no-repeat right top;
+	color : #333;
+	font-size : 90%;
+	text-decoration : none;
+}
+
+.tabs li.current {
+	padding-bottom : 1px;
+	border-bottom : 0;
+	background-position : 0 -150px;
+}
+
+.tabs li.current a {
+	padding-bottom : 5px;
+	margin-bottom : -1px;
+	background-position : 100% -150px;
+}
+
+/* bottom tabs */
+.tabs.bottom {
+	_border-top : 0;
+}
+
+.tabs.bottom li {
+	border-bottom : 0;
+	background : url(images/tab_left_r.gif) no-repeat left bottom;
+}
+
+.tabs.bottom li a {
+	background : url(images/tab_right_r.gif) no-repeat right bottom;
+}
+
+.tabs.bottom li.current {
+	margin-top : -1px;
+	background-image : url(images/tab_left_r_curr.gif);
+}
+
+.tabs.bottom li.current a {
+	background-image : url(images/tab_right_r_curr.gif);
+}
+
+#tabsHere {
+	overflow : auto;
+	float : none;
+	margin : 0;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBar.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBar.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBar.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBar.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,27 @@
+.dojoTaskBarItem {
+	background-color: ThreeDFace;
+	border: outset 2px;
+	display: inline;
+	margin-right: 5px;
+	cursor: pointer;
+	height: 35px;
+	width: 100px;
+	font-size: 10pt;
+	white-space: nowrap;
+	text-align: center;
+}
+
+.dojoTaskBarItem img {
+	vertical-align: middle;
+	margin-right: 5px;
+	margin-left: 5px;	
+	height: 32px;
+	width: 32px;
+}
+
+.dojoTaskBarItem a {
+	 color: black;
+	text-decoration: none;
+}
+
+

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBarItemTemplate.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBarItemTemplate.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBarItemTemplate.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTaskBarItemTemplate.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,2 @@
+<div class="dojoTaskBarItem" dojoAttachEvent="onClick">
+</div>
\ No newline at end of file

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,37 @@
+.timePickerContainer {
+	margin:1.75em 0 0.5em 0;
+	width:10em;
+	float:left;
+}
+
+.timeContainer {
+	border-collapse:collapse;
+	border-spacing:0;
+}
+
+.timeContainer thead td{
+	border-bottom:1px solid #e6e6e6;
+	padding:0 0.4em 0.2em 0.4em;
+}
+
+.timeContainer td {
+	font-size:0.9em;
+	padding:0 0.25em 0 0.25em;
+	text-align:left;
+	cursor:pointer;cursor:hand;
+}
+
+.timeContainer td.minutesHeading {
+	border-left:1px solid #e6e6e6;
+	border-right:1px solid #e6e6e6;	
+}
+
+.timeContainer .minutes {
+	border-left:1px solid #e6e6e6;
+	border-right:1px solid #e6e6e6;
+}
+
+.selectedItem {
+	background-color:#3a3a3a;
+	color:#ffffff;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTimePicker.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,99 @@
+<div class="timePickerContainer" dojoAttachPoint="timePickerContainerNode">
+	<table class="timeContainer" cellspacing="0" >
+		<thead>
+			<tr>
+				<td dojoAttachEvent="onClick: onSetSelectedHour;">Hour</td>
+				<td class="minutesHeading">Minute</td>
+				<td dojoAttachEvent="onClick: onSetSelectedHour;">&nbsp;</td>
+			</tr>
+		</thead>
+		<tbody>
+			<tr>
+				<td valign="top">
+					<table>
+						<tbody dojoAttachPoint="hourContainerNode"  
+							dojoAttachEvent="onClick: onSetSelectedHour;">
+							<tr>
+								<td>12</td>
+								<td>6</td>
+							</tr>
+							<tr>
+								<td>1</td>
+								<td>7</td>
+							</tr>
+							<tr>
+								<td>2</td>
+								<td>8</td>
+							</tr>
+							<tr>
+								<td>3</td>
+								<td>9</td>
+							</tr>
+							<tr>
+								<td>4</td>
+								<td>10</td>
+							</tr>
+							<tr>
+								<td>5</td>
+								<td>11</td>
+							</tr>
+						</tbody>
+					</table>
+				</td>
+				<td valign="top" class="minutes">
+					<table>
+						<tbody dojoAttachPoint="minuteContainerNode" 
+							dojoAttachEvent="onClick: onSetSelectedMinute;">
+							<tr>
+								<td>00</td>
+								<td>30</td>
+							</tr>
+							<tr>
+								<td>05</td>
+								<td>35</td>
+							</tr>
+							<tr>
+								<td>10</td>
+								<td>40</td>
+							</tr>
+							<tr>
+								<td>15</td>
+								<td>45</td>
+							</tr>
+							<tr>
+								<td>20</td>
+								<td>50</td>
+							</tr>
+							<tr>
+								<td>25</td>
+								<td>55</td>
+							</tr>
+						</tbody>
+					</table>
+				</td>
+				<td valign="top">
+					<table>
+						<tbody dojoAttachPoint="amPmContainerNode" 
+							dojoAttachEvent="onClick: onSetSelectedAmPm;">
+							<tr>
+								<td>AM</td>
+							</tr>
+							<tr>
+								<td>PM</td>
+							</tr>
+						</tbody>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td></td>
+				<td>
+					<div dojoAttachPoint="anyTimeContainerNode" 
+						dojoAttachEvent="onClick: onSetSelectedAnyTime;" 
+						class="anyTimeContainer">any</div>
+				</td>
+				<td></td>
+			</tr>
+		</tbody>
+	</table>
+</div>

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlToolbar.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlToolbar.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlToolbar.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlToolbar.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,54 @@
+.toolbarContainer {
+	border-bottom : 0;
+	background-color : #def;
+	color : ButtonText;
+	font : Menu;
+	background-image: url(images/toolbar-bg.gif);
+}
+
+.toolbar {
+	padding : 2px 4px;
+	min-height : 26px;
+	_height : 26px;
+}
+
+.toolbarItem {
+	float : left;
+	padding : 1px 2px;
+	margin : 0 2px 1px 0;
+	cursor : pointer;
+}
+
+.toolbarItem.selected, .toolbarItem.down {
+	margin : 1px 1px 0 1px;
+	padding : 0px 1px;
+	border : 1px solid #bbf;
+	background-color : #fafaff;
+}
+
+.toolbarButton img {
+	vertical-align : bottom;
+}
+
+.toolbarButton span {
+	line-height : 16px;
+	vertical-align : middle;
+}
+
+.toolbarButton.hover {
+	padding : 0px 1px;
+	border : 1px solid #99c;
+}
+
+.toolbarItem.disabled {
+	opacity : 0.3;
+	filter : alpha(opacity=30);
+	cursor : default;
+}
+
+.toolbarSeparator {
+	cursor : default;
+}
+
+.toolbarFlexibleSpace {
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,10 @@
+.dojoTooltip {
+	border: solid black 1px;
+	background: beige;
+	color: black;
+	position: absolute;
+	max-width: 200px;
+	font-size: small;
+	padding: 2px 2px 2px 2px;
+	z-index: 10;
+}
\ No newline at end of file

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.html
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.html?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.html (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/HtmlTooltipTemplate.html Thu Apr 13 16:46:55 2006
@@ -0,0 +1,2 @@
+<div class='dojoTooltip' style="display:none" dojoAttachPoint="containerNode">
+</div>
\ No newline at end of file

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Menu.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Menu.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Menu.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Menu.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,60 @@
+.dojoMenu {
+	border:1px solid #000000;
+	list-style-type:none;
+	margin:0;
+	padding:0;
+	padding-bottom: 1px;
+	background-color:#f4f4f4;
+	font-size: 8pt;
+}
+
+.dojoMenuSeparator {
+	list-style-type:none;
+	margin:0;
+	padding:1px 0;
+	border-bottom:1px solid #000000;
+	line-height:1px;
+	height:1px;
+}
+
+li:hover.dojoMenuSeparator {
+	background-color:#e5e5e5;
+	cursor:default;
+}
+
+
+
+
+.dojoContextMenu {
+	position: absolute;
+	display: none;
+	border: 2px solid;
+	border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;
+	list-style-type: none;
+	margin: 0;
+	padding: 1px;
+	background-color: ThreeDFace;
+	font-size: 8pt;
+}
+
+.dojoMenuItem {
+	white-space: nowrap;
+	padding: 2px;
+	font: menu;
+	color: WindowText;
+}
+
+.dojoMenuItem a {
+	text-decoration: none;
+	color: WindowText;
+	font: inherit;
+}
+
+.dojoMenuItemHover {
+	padding: 2px;
+	background-color: blue;
+	cursor: pointer;
+	_cursor: hand;
+	background-color: Highlight;
+	color: HighlightText;
+}
\ No newline at end of file

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/PopUpButton.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/PopUpButton.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/PopUpButton.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/PopUpButton.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,35 @@
+.PopUpButton {
+	padding : 2px 6px 2px 9px;
+	border : 1px outset #ccc;
+	background : #f4f4f4;
+	color : #333;
+	text-decoration : none;
+}
+
+.PopUpButton .downArrow {
+	margin-left: 0.5em;
+	margin-bottom: 2px;
+}
+
+.downArrow.disabled {
+	background-image : url(images/dropdownButtonsArrow-disabled.gif);
+	cursor : default;
+}
+
+ul.dropdownButtons li a:hover,
+ul.dropdownButtons li span.downArrow:hover {
+	color : black;
+	background-color : #ddd;
+}
+
+ul.dropdownButtons li .downArrow.pressed, ul.dropdownButtons li .downArrow:focus {
+	border-style : inset;
+	background-position : 5px 10px;
+	padding : 2px 4px;
+}
+
+ul.dropdownButtons li a.disabled:hover,
+ul.dropdownButtons li span.downArrow.disabled:hover {
+	color : #999;
+	background-color : #f4f4f4;
+}

Added: incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Tree.css
URL: http://svn.apache.org/viewcvs/incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Tree.css?rev=393978&view=auto
==============================================================================
--- incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Tree.css (added)
+++ incubator/webwork2/action/src/main/resources/org/apache/struts/action2/static/dojo/src/widget/templates/Tree.css Thu Apr 13 16:46:55 2006
@@ -0,0 +1,29 @@
+.dojoTree {
+	font: caption;
+	font-size: 11px;
+	font-weight: normal;
+	overflow: auto;
+}
+
+.dojoTreeNodeLabel {
+	padding: 1px 2px;
+	color: WindowText;
+	cursor: default;
+}
+
+.dojoTreeNodeLabel:hover {
+	text-decoration: underline;
+}
+
+.dojoTreeNodeLabelSelected {
+	background-color: Highlight;
+	color: HighlightText;
+}
+
+.dojoTree div {
+	white-space: nowrap;
+}
+
+.dojoTree img {
+	vertical-align: middle;
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org