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/02/16 00:31:07 UTC
svn commit: r378118 [22/23] - in
/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo:
./ src/ src/alg/ src/animation/ src/collections/ src/crypto/ src/data/
src/dnd/ src/event/ src/flash/ src/flash/flash6/ src/flash/flash8/ src/fx/...
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-blue_benji_p_01.svg
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-blue_benji_p_01.svg?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-blue_benji_p_01.svg (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-blue_benji_p_01.svg Wed Feb 15 15:30:01 2006
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg height="104.00000pt" id="svg1" inkscape:version="0.40" sodipodi:docbase="/home/bpcomp/Inkscape" sodipodi:docname="aqua-pill-blue.svg" sodipodi:version="0.32" width="308.00000pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>pill-button-blue</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li></rdf:li>
+ <rdf:li>webpage</rdf:li>
+ <rdf:li>shape</rdf:li>
+ <rdf:li>button</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs3">
+ <linearGradient id="linearGradient1759">
+ <stop id="stop1760" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:0.0000000;"/>
+ <stop id="stop1761" offset="1.0000000" style="stop-color:#ffffff;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1755">
+ <stop id="stop1756" offset="0.0000000" style="stop-color:#0d56db;stop-opacity:1.0000000;"/>
+ <stop id="stop1757" offset="1.0000000" style="stop-color:#061176;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient gradientTransform="matrix(1.800141,0.000000,0.000000,0.555512,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1686" inkscape:collect="always" x1="172.99106" x2="172.99106" xlink:href="#linearGradient1755" y1="432.17224" y2="633.04230"/>
+ <linearGradient gradientTransform="matrix(1.784730,0.000000,0.000000,0.560309,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1754" inkscape:collect="always" x1="175.19505" x2="175.19505" xlink:href="#linearGradient1755" y1="627.57422" y2="426.25912"/>
+ <linearGradient gradientTransform="scale(2.045893,0.488784)" gradientUnits="userSpaceOnUse" id="linearGradient1762" inkscape:collect="always" x1="91.269760" x2="91.269775" xlink:href="#linearGradient1759" y1="93.231247" y2="3.6385469"/>
+ </defs>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="173.73576" inkscape:cy="22.298666" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="914" inkscape:window-width="1276" inkscape:window-x="0" inkscape:window-y="46" inkscape:zoom="0.86831673" pagecolor="#ffffff"/>
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+ <g id="g5828">
+ <rect height="113.72585" id="rect1061" rx="57.582676" ry="56.143105" style="fill:url(#linearGradient1754);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient1686);stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" width="368.52905" x="8.6373997" y="7.9563966"/>
+ <rect height="80.668518" id="rect1758" rx="48.225491" ry="38.806480" style="fill:url(#linearGradient1762);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;" width="343.50781" x="21.422380" y="15.607353"/>
+ </g>
+ </g>
+</svg>
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-c.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-c.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-c.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-l.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-l.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-l.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-r.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-r.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji-r.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji.svg
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji.svg?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji.svg (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-gray_benji.svg Wed Feb 15 15:30:01 2006
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg height="104.00000pt" id="svg1" inkscape:version="0.40" sodipodi:docbase="/home/bpcomp/Inkscape" sodipodi:docname="aqua-pill-blue.svg" sodipodi:version="0.32" width="308.00000pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>pill-button-blue</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hash</rdf:li>
+ <rdf:li></rdf:li>
+ <rdf:li>webpage</rdf:li>
+ <rdf:li>shape</rdf:li>
+ <rdf:li>button</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>buttons</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs3">
+ <linearGradient id="linearGradient1759">
+ <stop id="stop1760" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:0.0000000;"/>
+ <stop id="stop1761" offset="1.0000000" style="stop-color:#ffffff;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1755">
+ <stop id="stop1756" offset="0.0000000" style="stop-color:gray;stop-opacity:1.0000000;"/>
+ <stop id="stop1757" offset="1.0000000" style="stop-color:gray;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient gradientTransform="matrix(1.800141,0.000000,0.000000,0.555512,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1686" inkscape:collect="always" x1="172.99106" x2="172.99106" xlink:href="#linearGradient1755" y1="432.17224" y2="633.04230"/>
+ <linearGradient gradientTransform="matrix(1.784730,0.000000,0.000000,0.560309,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1754" inkscape:collect="always" x1="175.19505" x2="175.19505" xlink:href="#linearGradient1755" y1="627.57422" y2="426.25912"/>
+ <linearGradient gradientTransform="scale(2.045893,0.488784)" gradientUnits="userSpaceOnUse" id="linearGradient1762" inkscape:collect="always" x1="91.269760" x2="91.269775" xlink:href="#linearGradient1759" y1="93.231247" y2="3.6385469"/>
+ </defs>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="173.73576" inkscape:cy="22.298666" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="914" inkscape:window-width="1276" inkscape:window-x="0" inkscape:window-y="46" inkscape:zoom="0.86831673" pagecolor="#ffffff"/>
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+ <g id="g5828">
+ <rect height="113.72585" id="rect1061" rx="57.582676" ry="56.143105" style="fill:url(#linearGradient1754);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient1686);stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" width="368.52905" x="8.6373997" y="7.9563966"/>
+ <rect height="80.668518" id="rect1758" rx="48.225491" ry="38.806480" style="fill:url(#linearGradient1762);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;" width="343.50781" x="21.422380" y="15.607353"/>
+ </g>
+ </g>
+</svg>
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-c.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-c.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-c.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-l.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-l.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-l.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-r.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-r.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji-r.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji_01.svg
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji_01.svg?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji_01.svg (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-purple_benji_01.svg Wed Feb 15 15:30:01 2006
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg height="104.00000pt" id="svg1" inkscape:version="0.40" sodipodi:docbase="/home/bpcomp/Inkscape" sodipodi:docname="aqua-pill-purple.svg" sodipodi:version="0.32" width="308.00000pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>pill-button-purple</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>webpage</rdf:li>
+ <rdf:li>shape</rdf:li>
+ <rdf:li>button</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs3">
+ <linearGradient id="linearGradient1759">
+ <stop id="stop1760" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:0.0000000;"/>
+ <stop id="stop1761" offset="1.0000000" style="stop-color:#ffffff;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1755">
+ <stop id="stop1756" offset="0.0000000" style="stop-color:#db0d87;stop-opacity:1.0000000;"/>
+ <stop id="stop1757" offset="1.0000000" style="stop-color:#76064b;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient gradientTransform="matrix(1.800141,0.000000,0.000000,0.555512,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1686" inkscape:collect="always" x1="172.99106" x2="172.99106" xlink:href="#linearGradient1755" y1="432.17224" y2="633.04230"/>
+ <linearGradient gradientTransform="matrix(1.784730,0.000000,0.000000,0.560309,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1754" inkscape:collect="always" x1="175.19505" x2="175.19505" xlink:href="#linearGradient1755" y1="627.57422" y2="426.25912"/>
+ <linearGradient gradientTransform="scale(2.045893,0.488784)" gradientUnits="userSpaceOnUse" id="linearGradient1762" inkscape:collect="always" x1="91.269760" x2="91.269775" xlink:href="#linearGradient1759" y1="93.231247" y2="3.6385469"/>
+ </defs>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="173.73576" inkscape:cy="22.298666" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="914" inkscape:window-width="1276" inkscape:window-x="0" inkscape:window-y="46" inkscape:zoom="0.86831673" pagecolor="#ffffff"/>
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+ <g id="g5828">
+ <rect height="113.72585" id="rect1061" rx="57.582676" ry="56.143105" style="fill:url(#linearGradient1754);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient1686);stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" width="368.52905" x="8.6373997" y="7.9563966"/>
+ <rect height="80.668518" id="rect1758" rx="48.225491" ry="38.806480" style="fill:url(#linearGradient1762);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;" width="343.50781" x="21.422380" y="15.607353"/>
+ </g>
+ </g>
+</svg>
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_ben_01.svg
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_ben_01.svg?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_ben_01.svg (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_ben_01.svg Wed Feb 15 15:30:01 2006
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg height="104.00000pt" id="svg1" inkscape:version="0.40" sodipodi:docbase="/home/bpcomp/Inkscape" sodipodi:docname="aqua-pill-seagreen.svg" sodipodi:version="0.32" width="308.00000pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>pill-button-seagreen</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>webpage</rdf:li>
+ <rdf:li>shape</rdf:li>
+ <rdf:li>button</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org">
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Benji Park</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date></dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs3">
+ <linearGradient id="linearGradient1759">
+ <stop id="stop1760" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:0.0000000;"/>
+ <stop id="stop1761" offset="1.0000000" style="stop-color:#ffffff;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient id="linearGradient1755">
+ <stop id="stop1756" offset="0.0000000" style="stop-color:#0cdbb7;stop-opacity:1.0000000;"/>
+ <stop id="stop1757" offset="1.0000000" style="stop-color:#067662;stop-opacity:1.0000000;"/>
+ </linearGradient>
+ <linearGradient gradientTransform="matrix(1.800141,0.000000,0.000000,0.555512,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1686" inkscape:collect="always" x1="172.99106" x2="172.99106" xlink:href="#linearGradient1755" y1="432.17224" y2="633.04230"/>
+ <linearGradient gradientTransform="matrix(1.784730,0.000000,0.000000,0.560309,-116.6050,-231.0506)" gradientUnits="userSpaceOnUse" id="linearGradient1754" inkscape:collect="always" x1="175.19505" x2="175.19505" xlink:href="#linearGradient1755" y1="627.57422" y2="426.25912"/>
+ <linearGradient gradientTransform="scale(2.045893,0.488784)" gradientUnits="userSpaceOnUse" id="linearGradient1762" inkscape:collect="always" x1="91.269760" x2="91.269775" xlink:href="#linearGradient1759" y1="93.231247" y2="3.6385469"/>
+ </defs>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="173.73585" inkscape:cy="22.298651" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="914" inkscape:window-width="1276" inkscape:window-x="0" inkscape:window-y="46" inkscape:zoom="1.2279853" pagecolor="#ffffff"/>
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+ <g id="g5828">
+ <rect height="113.72585" id="rect1061" rx="57.582676" ry="56.143105" style="fill:url(#linearGradient1754);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient1686);stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" width="368.52905" x="8.6373997" y="7.9563966"/>
+ <rect height="80.668518" id="rect1758" rx="48.225491" ry="38.806480" style="fill:url(#linearGradient1762);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:6.2500000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;" width="343.50781" x="21.422380" y="15.607353"/>
+ </g>
+ </g>
+</svg>
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-c.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-c.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-c.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-l.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-l.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-l.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-r.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-r.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/pill-button-seagreen_benji-r.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/submenu_off.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/submenu_off.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/submenu_off.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/submenu_on.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/submenu_on.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/submenu_on.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left_r.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left_r.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left_r.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left_r_curr.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left_r_curr.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_left_r_curr.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right_r.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right_r.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right_r.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right_r_curr.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right_r_curr.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/tab_right_r_curr.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/titlebar-bg.jpg
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/titlebar-bg.jpg?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/titlebar-bg.jpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/toolbar-bg.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/toolbar-bg.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/toolbar-bg.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/transparent.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/transparent.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/transparent.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_blank.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_blank.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_blank.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_expand_minus.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_expand_minus.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_expand_minus.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_expand_plus.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_expand_plus.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_expand_plus.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_c.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_c.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_c.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_l.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_l.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_l.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_p.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_p.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_p.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_t.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_t.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_t.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_v.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_v.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_v.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_x.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_x.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_x.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_y.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_y.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_y.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_z.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_z.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_grid_z.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_node.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_node.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/treenode_node.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/verticalbar.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/verticalbar.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/verticalbar.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/whiteDownArrow.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/whiteDownArrow.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/images/whiteDownArrow.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/incrementMonth.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/incrementMonth.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/incrementMonth.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/incrementWeek.gif
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/incrementWeek.gif?rev=378118&view=auto
==============================================================================
Binary file - no diff available.
Propchange: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/templates/incrementWeek.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/validate.js
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/validate.js?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/validate.js (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/widget/validate.js Wed Feb 15 15:30:01 2006
@@ -0,0 +1,774 @@
+/*
+ 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.validate");
+
+dojo.provide("dojo.widget.validate.Textbox");
+dojo.provide("dojo.widget.validate.ValidationTextbox");
+dojo.provide("dojo.widget.validate.IntegerTextbox");
+dojo.provide("dojo.widget.validate.RealNumberTextbox");
+dojo.provide("dojo.widget.validate.CurrencyTextbox");
+dojo.provide("dojo.widget.validate.IpAddressTextbox");
+dojo.provide("dojo.widget.validate.UrlTextbox");
+dojo.provide("dojo.widget.validate.EmailTextbox");
+dojo.provide("dojo.widget.validate.EmailListTextbox");
+dojo.provide("dojo.widget.validate.DateTextbox");
+dojo.provide("dojo.widget.validate.TimeTextbox");
+dojo.provide("dojo.widget.validate.UsStateTextbox");
+dojo.provide("dojo.widget.validate.UsZipTextbox");
+dojo.provide("dojo.widget.validate.UsPhoneNumberTextbox");
+
+dojo.require("dojo.widget.HtmlWidget");
+dojo.require("dojo.widget.Manager");
+dojo.require("dojo.widget.Parse");
+dojo.require("dojo.xml.Parse");
+dojo.require("dojo.lang");
+dojo.require("dojo.validate");
+
+dojo.widget.manager.registerWidgetPackage("dojo.widget.validate");
+
+
+/*
+ ****** Textbox ******
+
+ This widget is a generic textbox field.
+ Serves as a base class to derive more specialized functionality in subclasses.
+ Has the following properties that can be specified as attributes in the markup.
+
+ @attr id The textbox id attribute.
+ @attr className The textbox class attribute.
+ @attr name The textbox name attribute.
+ @attr value The textbox value attribute.
+ @attr trim Removes leading and trailing whitespace if true. Default is false.
+ @attr uppercase Converts all characters to uppercase if true. Default is false.
+ @attr lowercase Converts all characters to lowercase if true. Default is false.
+ @attr ucFirst Converts the first character of each word to uppercase if true.
+ @attr lowercase Removes all characters that are not digits if true. Default is false.
+*/
+dojo.widget.validate.Textbox = function() { }
+
+dojo.inherits(dojo.widget.validate.Textbox, dojo.widget.HtmlWidget);
+
+dojo.lang.extend(dojo.widget.validate.Textbox, {
+ // default values for new subclass properties
+ widgetId: "",
+ widgetType: "Textbox",
+ id: "",
+ className: "",
+ name: "",
+ value: "",
+ trim: false,
+ uppercase: false,
+ lowercase: false,
+ ucFirst: false,
+ digit: false,
+
+ templateString: "<input dojoAttachPoint='textbox' dojoAttachEvent='onblur;onfocus'"
+ + " id='${this.id}' name='${this.name}' "
+ + " value='${this.value}' class='${this.className}'></input>",
+
+ // our DOM nodes
+ textbox: null,
+
+ // Apply various filters to textbox value
+ filter: function() {
+ if (this.trim) {
+ this.textbox.value = this.textbox.value.replace(/(^\s*|\s*$)/g, "");
+ }
+ if (this.uppercase) {
+ this.textbox.value = this.textbox.value.toUpperCase();
+ }
+ if (this.lowercase) {
+ this.textbox.value = this.textbox.value.toLowerCase();
+ }
+ if (this.ucFirst) {
+ this.textbox.value = this.textbox.value.replace(/\b\w+\b/g,
+ function(word) { return word.substring(0,1).toUpperCase() + word.substring(1).toLowerCase(); });
+ }
+ if (this.digit) {
+ this.textbox.value = this.textbox.value.replace(/\D/g, "");
+ }
+ },
+
+ // event handlers, you can over-ride these in your own subclasses
+ onfocus: function() {},
+ onblur: function() { this.filter(); },
+
+ // All functions below are called by create from dojo.widget.Widget
+ mixInProperties: function(localProperties, frag) {
+ dojo.widget.validate.Textbox.superclass.mixInProperties.apply(this, arguments);
+ if ( localProperties["class"] ) {
+ this.className = localProperties["class"];
+ }
+ },
+
+ fillInTemplate: function() {
+ // apply any filters to initial value
+ this.filter();
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:Textbox");
+
+
+/*
+ ****** ValidationTextbox ******
+
+ A subclass of Textbox.
+ Over-ride isValid in subclasses to perform specific kinds of validation.
+ Has 4 new properties that can be specified as attributes in the markup.
+
+ @attr required Can be true or false, default is false.
+ @attr validColor The color textbox is highlighted for valid input. Default is #cfc.
+ @attr invalidColor The color textbox is highlighted for invalid input. Default is #fcc.
+ @attr missingMessage The message to display if value is missing.
+ @attr invalidMessage The message to display if value is invalid.
+ @attr listenOnKeyPress Updates messages on each key press. Default is true.
+*/
+dojo.widget.validate.ValidationTextbox = function() {}
+
+dojo.inherits(dojo.widget.validate.ValidationTextbox, dojo.widget.validate.Textbox);
+
+dojo.lang.extend(dojo.widget.validate.ValidationTextbox, {
+ // default values for new subclass properties
+ widgetType: "ValidationTextbox",
+ required: false,
+ validColor: "#cfc",
+ invalidColor: "#fcc",
+ invalidMessage: "* The value entered is not valid.",
+ missingMessage: "* This value is required.",
+ listenOnKeyPress: true,
+
+ templateString: "<div>"
+ + "<input dojoAttachPoint='textbox' dojoAttachEvent='onblur;onfocus;onkeyup'"
+ + " id='${this.id}' name='${this.name}' "
+ + " value='${this.value}' class='${this.className}'></input>"
+ + "<span dojoAttachPoint='invalidSpan' class='invalid'>${this.invalidMessage}</span>"
+ + "<span dojoAttachPoint='missingSpan' class='missing'>${this.missingMessage}</span>"
+ + "</div>",
+
+ // new DOM nodes
+ invalidSpan: null,
+ missingSpan: null,
+
+ // Need to over-ride with your own validation code in subclasses
+ isValid: function() { return true; },
+
+ // Returns true if value is all whitespace
+ isEmpty: function() {
+ return ( /^\s*$/.test(this.textbox.value) );
+ },
+
+ // Returns true if value is required and it is all whitespace.
+ isMissing: function() {
+ return ( this.required && this.isEmpty() );
+ },
+
+ // Called oninit, onblur, and onkeypress.
+ // Show missing or invalid messages if appropriate, and highlight textbox field.
+ update: function() {
+ this.missingSpan.style.display = "none";
+ this.invalidSpan.style.display = "none";
+
+ var empty = this.isEmpty();
+ var valid = this.isValid();
+ var missing = this.isMissing();
+
+ // Display at most one error message
+ if ( missing ){
+ this.missingSpan.style.display = "";
+ }
+ else if ( !empty && !valid ){
+ this.invalidSpan.style.display = "";
+ }
+ },
+
+ // Called oninit, and onblur.
+ highlight: function() {
+ // highlight textbox background
+ if ( this.isEmpty() ) {
+ this.textbox.style.backgroundColor = "";
+ }
+ else if ( this.isValid() ) {
+ this.textbox.style.backgroundColor = this.validColor;
+ }
+ else {
+ this.textbox.style.backgroundColor = this.invalidColor;
+ }
+ },
+
+ onfocus: function() {
+ // Put the textbox background back to normal
+ this.textbox.style.backgroundColor = "";
+ },
+
+ onblur: function() {
+ this.filter();
+ this.update();
+ this.highlight();
+ },
+
+ onkeyup: function() {
+ if ( this.listenOnKeyPress ) {
+ //this.filter(); trim is problem if you have to type two words
+ this.update();
+ }
+ },
+
+ fillInTemplate: function() {
+ // Attach isMissing and isValid methods to the textbox.
+ // We may use them later in connection with a submit button widget.
+ // TODO: this is unorthodox; it seems better to do it another way -- Bill
+ this.textbox.isValid = function() { _this.isValid.call(_this); };
+ this.textbox.isMissing = function() { _this.isMissing.call(_this); };
+ },
+
+ fillInTemplate: function() {
+ // apply any filters to initial value
+ this.filter();
+
+ // highlight textbox as valid or invalid
+ this.highlight();
+
+ // show missing or invalid messages on init
+ this.update();
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:ValidationTextbox");
+
+
+/*
+ ****** IntegerTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test for integer input.
+ Has two new properties that can be specified as attributes in the markup.
+
+ @attr signed The leading plus-or-minus sign. Can be true or false, default is either.
+ @attr separator The character used as the thousands separator. Default is no separator.
+*/
+dojo.widget.validate.IntegerTextbox = function(node) {
+ // this property isn't a primitive and needs to be created on a per-item basis.
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.IntegerTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.IntegerTextbox, {
+ // new subclass properties
+ widgetType: "IntegerTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.IntegerTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.signed ) {
+ this.flags.signed = ( localProperties.signed == "true" );
+ }
+ if ( localProperties.separator ) {
+ this.flags.separator = localProperties.separator;
+ }
+ },
+
+ // Over-ride for integer validation
+ isValid: function() {
+ return dojo.validate.isInteger(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:IntegerTextbox");
+
+
+/*
+ ****** RealNumberTextbox ******
+
+ A subclass that extends IntegerTextbox.
+ Over-rides isValid to test for real number input.
+ Has three new properties that can be specified as attributes in the markup.
+
+ @attr places The exact number of decimal places. If omitted, it's unlimited and optional.
+ @attr exponent Can be true or false. If omitted the exponential part is optional.
+ @attr eSigned Is the exponent signed? Can be true or false, if omitted the sign is optional.
+*/
+dojo.widget.validate.RealNumberTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.RealNumberTextbox, dojo.widget.validate.IntegerTextbox);
+
+dojo.lang.extend(dojo.widget.validate.RealNumberTextbox, {
+ // new subclass properties
+ widgetType: "RealNumberTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.RealNumberTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.places ) {
+ this.flags.places = Number( localProperties.places );
+ }
+ if ( localProperties.exponent ) {
+ this.flags.exponent = ( localProperties.exponent == "true" );
+ }
+ if ( localProperties.esigned ) {
+ this.flags.eSigned = ( localProperties.esigned == "true" );
+ }
+ },
+
+ // Over-ride for real number validation
+ isValid: function() {
+ return dojo.validate.isRealNumber(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:RealNumberTextbox");
+
+
+/*
+ ****** CurrencyTextbox ******
+
+ A subclass that extends IntegerTextbox.
+ Over-rides isValid to test if input denotes a monetary value .
+ Has 2 new properties that can be specified as attributes in the markup.
+
+ @attr cents The two decimal places for cents. Can be true or false, optional if omitted.
+ @attr symbol A currency symbol such as Yen "�", Pound "�", or the Euro "�". Default is "$".
+ @attr separator Default is "," instead of no separator as in IntegerTextbox.
+*/
+dojo.widget.validate.CurrencyTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.CurrencyTextbox, dojo.widget.validate.IntegerTextbox);
+
+dojo.lang.extend(dojo.widget.validate.CurrencyTextbox, {
+ // new subclass properties
+ widgetType: "CurrencyTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.CurrencyTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.cents ) {
+ this.flags.cents = ( localProperties.cents == "true" );
+ }
+ if ( localProperties.symbol ) {
+ this.flags.symbol = localProperties.symbol;
+ }
+ },
+
+ // Over-ride for currency validation
+ isValid: function() {
+ return dojo.validate.isCurrency(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:CurrencyTextbox");
+
+
+/*
+ ****** IpAddressTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test for IP addresses.
+ Can specify formats for ipv4 or ipv6 as attributes in the markup.
+
+ @attr allowDottedDecimal true or false, default is true.
+ @attr allowDottedHex true or false, default is true.
+ @attr allowDottedOctal true or false, default is true.
+ @attr allowDecimal true or false, default is true.
+ @attr allowHex true or false, default is true.
+ @attr allowIPv6 true or false, default is true.
+ @attr allowHybrid true or false, default is true.
+*/
+dojo.widget.validate.IpAddressTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.IpAddressTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.IpAddressTextbox, {
+ // new subclass properties
+ widgetType: "IpAddressTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.IpAddressTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.allowdotteddecimal ) {
+ this.flags.allowDottedDecimal = ( localProperties.allowdotteddecimal == "true" );
+ }
+ if ( localProperties.allowdottedhex ) {
+ this.flags.allowDottedHex = ( localProperties.allowdottedhex == "true" );
+ }
+ if ( localProperties.allowdottedoctal ) {
+ this.flags.allowDottedOctal = ( localProperties.allowdottedoctal == "true" );
+ }
+ if ( localProperties.allowdecimal ) {
+ this.flags.allowDecimal = ( localProperties.allowdecimal == "true" );
+ }
+ if ( localProperties.allowhex ) {
+ this.flags.allowHex = ( localProperties.allowhex == "true" );
+ }
+ if ( localProperties.allowipv6 ) {
+ this.flags.allowIPv6 = ( localProperties.allowipv6 == "true" );
+ }
+ if ( localProperties.allowhybrid ) {
+ this.flags.allowHybrid = ( localProperties.allowhybrid == "true" );
+ }
+ },
+
+ // Over-ride for IP address validation
+ isValid: function() {
+ return dojo.validate.isIpAddress(this.textbox.value, this.flags);
+ }
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:IpAddressTextbox");
+
+
+/*
+ ****** UrlTextbox ******
+
+ A subclass of IpAddressTextbox.
+ Over-rides isValid to test for URL's.
+ Can specify 5 additional attributes in the markup.
+
+ @attr scheme Can be true or false. If omitted the scheme is optional.
+ @attr allowIP Allow an IP address for hostname. Default is true.
+ @attr allowLocal Allow the host to be "localhost". Default is false.
+ @attr allowCC Allow 2 letter country code domains. Default is true.
+ @attr allowGeneric Allow generic domains. Can be true or false, default is true.
+*/
+dojo.widget.validate.UrlTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.UrlTextbox, dojo.widget.validate.IpAddressTextbox);
+
+dojo.lang.extend(dojo.widget.validate.UrlTextbox, {
+ // new subclass properties
+ widgetType: "UrlTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.UrlTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.scheme ) {
+ this.flags.scheme = ( localProperties.scheme == "true" );
+ }
+ if ( localProperties.allowip ) {
+ this.flags.allowIP = ( localProperties.allowip == "true" );
+ }
+ if ( localProperties.allowlocal ) {
+ this.flags.allowLocal = ( localProperties.allowlocal == "true" );
+ }
+ if ( localProperties.allowcc ) {
+ this.flags.allowCC = ( localProperties.allowcc == "true" );
+ }
+ if ( localProperties.allowgeneric ) {
+ this.flags.allowGeneric = ( localProperties.allowgeneric == "true" );
+ }
+ },
+
+ // Over-ride for URL validation
+ isValid: function() {
+ return dojo.validate.isUrl(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:UrlTextbox");
+
+
+/*
+ ****** EmailTextbox ******
+
+ A subclass of UrlTextbox.
+ Over-rides isValid to test for email addresses.
+ Can use all markup attributes/properties of UrlTextbox except scheme.
+ One new attribute available in the markup.
+
+ @attr allowCruft Allow address like <ma...@yahoo.com>. Default is false.
+*/
+dojo.widget.validate.EmailTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.EmailTextbox, dojo.widget.validate.UrlTextbox);
+
+dojo.lang.extend(dojo.widget.validate.EmailTextbox, {
+ // new subclass properties
+ widgetType: "EmailTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.EmailTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.allowcruft ) {
+ this.flags.allowCruft = ( localProperties.allowcruft == "true" );
+ }
+ },
+
+ // Over-ride for email address validation
+ isValid: function() {
+ return dojo.validate.isEmailAddress(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:EmailTextbox");
+
+
+/*
+ ****** EmailListTextbox ******
+
+ A subclass of EmailTextbox.
+ Over-rides isValid to test for a list of email addresses.
+ Can use all markup attributes/properties of EmailTextbox and ...
+
+ @attr listSeparator The character used to separate email addresses.
+ Default is ";", ",", "\n" or " ".
+*/
+dojo.widget.validate.EmailListTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.EmailListTextbox, dojo.widget.validate.EmailTextbox);
+
+dojo.lang.extend(dojo.widget.validate.EmailListTextbox, {
+ // new subclass properties
+ widgetType: "EmailListTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.EmailListTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.listseparator ) {
+ this.flags.listSeparator = localProperties.listseparator;
+ }
+ },
+
+ // Over-ride for email address list validation
+ isValid: function() {
+ return dojo.validate.isEmailAddressList(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:EmailListTextbox");
+
+
+/*
+ ****** DateTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test if input is in a valid date format.
+
+ @attr format Described in dojo.validate.js. Default is "MM/DD/YYYY".
+*/
+dojo.widget.validate.DateTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.DateTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.DateTextbox, {
+ // new subclass properties
+ widgetType: "DateTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.DateTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.format ) {
+ this.flags.format = localProperties.format;
+ }
+ },
+
+ // Over-ride for date validation
+ isValid: function() {
+ return dojo.validate.isValidDate(this.textbox.value, this.flags.format);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:DateTextbox");
+
+
+/*
+ ****** TimeTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test if input is in a valid time format.
+
+ @attr format Described in dojo.validate.js. Default is "h:mm:ss t".
+ @attr amSymbol The symbol used for AM. Default is "AM" or "am".
+ @attr pmSymbol The symbol used for PM. Default is "PM" or "pm".
+*/
+dojo.widget.validate.TimeTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.TimeTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.TimeTextbox, {
+ // new subclass properties
+ widgetType: "TimeTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // First initialize properties in super-class.
+ dojo.widget.validate.TimeTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.format ) {
+ this.flags.format = localProperties.format;
+ }
+ if ( localProperties.amsymbol ) {
+ this.flags.amSymbol = localProperties.amsymbol;
+ }
+ if ( localProperties.pmsymbol ) {
+ this.flags.pmSymbol = localProperties.pmsymbol;
+ }
+ },
+
+ // Over-ride for time validation
+ isValid: function() {
+ return dojo.validate.isValidTime(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:TimeTextbox");
+
+
+/*
+ ****** UsStateTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test if input is a US state abbr.
+
+ @attr allowTerritories Allow Guam, Puerto Rico, etc. Default is true.
+ @attr allowMilitary Allow military 'states', e.g. Armed Forces Europe (AE). Default is true.
+*/
+dojo.widget.validate.UsStateTextbox = function(node) {
+ this.flags = {};
+}
+
+dojo.inherits(dojo.widget.validate.UsStateTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.UsStateTextbox, {
+ // new subclass properties
+ widgetType: "UsStateTextbox",
+
+ mixInProperties: function(localProperties, frag) {
+ // Initialize properties in super-class.
+ dojo.widget.validate.UsStateTextbox.superclass.mixInProperties.apply(this, arguments);
+
+ // Get properties from markup attibutes, and assign to flags object.
+ if ( localProperties.allowterritories ) {
+ this.flags.allowTerritories = ( localProperties.allowterritories == "true" );
+ }
+ if ( localProperties.allowmilitary ) {
+ this.flags.allowMilitary = ( localProperties.allowmilitary == "true" );
+ }
+ },
+
+ isValid: function() {
+ return dojo.validate.us.isState(this.textbox.value, this.flags);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:UsStateTextbox");
+
+
+/*
+ ****** UsZipTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test if input is a US zip code.
+ Validates zip-5 and zip-5 plus 4.
+*/
+dojo.widget.validate.UsZipTextbox = function(node) {}
+
+dojo.inherits(dojo.widget.validate.UsZipTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.UsZipTextbox, {
+ // new subclass properties
+ widgetType: "UsZipTextbox",
+
+ isValid: function() {
+ return dojo.validate.us.isZipCode(this.textbox.value);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:UsZipTextbox");
+
+
+/*
+ ****** UsSocialSecurityNumberTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test if input is a US Social Security Number.
+*/
+dojo.widget.validate.UsSocialSecurityNumberTextbox = function(node) {}
+
+dojo.inherits(dojo.widget.validate.UsSocialSecurityNumberTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.UsSocialSecurityNumberTextbox, {
+ // new subclass properties
+ widgetType: "UsSocialSecurityNumberTextbox",
+
+ isValid: function() {
+ return dojo.validate.us.isSocialSecurityNumber(this.textbox.value);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:UsSocialSecurityNumberTextbox");
+
+
+/*
+ ****** UsPhoneNumberTextbox ******
+
+ A subclass of ValidationTextbox.
+ Over-rides isValid to test if input is a 10-digit US phone number, an extension is optional.
+*/
+dojo.widget.validate.UsPhoneNumberTextbox = function(node) {}
+
+dojo.inherits(dojo.widget.validate.UsPhoneNumberTextbox, dojo.widget.validate.ValidationTextbox);
+
+dojo.lang.extend(dojo.widget.validate.UsPhoneNumberTextbox, {
+ // new subclass properties
+ widgetType: "UsPhoneNumberTextbox",
+
+ isValid: function() {
+ return dojo.validate.us.isPhoneNumber(this.textbox.value);
+ }
+
+});
+
+dojo.widget.tags.addParseTreeHandler("dojo:UsPhoneNumberTextbox");
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/Parse.js
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/Parse.js?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/Parse.js (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/Parse.js Wed Feb 15 15:30:01 2006
@@ -0,0 +1,171 @@
+/*
+ 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.xml.Parse");
+
+dojo.require("dojo.dom");
+
+//TODO: determine dependencies
+// currently has dependency on dojo.xml.DomUtil nodeTypes constants...
+
+/* generic method for taking a node and parsing it into an object
+
+TODO: WARNING: This comment is wrong!
+
+For example, the following xml fragment
+
+<foo bar="bar">
+ <baz xyzzy="xyzzy"/>
+</foo>
+
+can be described as:
+
+dojo.???.foo = {}
+dojo.???.foo.bar = {}
+dojo.???.foo.bar.value = "bar";
+dojo.???.foo.baz = {}
+dojo.???.foo.baz.xyzzy = {}
+dojo.???.foo.baz.xyzzy.value = "xyzzy"
+
+*/
+// using documentFragment nomenclature to generalize in case we don't want to require passing a collection of nodes with a single parent
+dojo.xml.Parse = function(){
+ this.parseFragment = function(documentFragment) {
+ // handle parent element
+ var parsedFragment = {};
+ // var tagName = dojo.xml.domUtil.getTagName(node);
+ var tagName = dojo.dom.getTagName(documentFragment);
+ // TODO: What if document fragment is just text... need to check for nodeType perhaps?
+ parsedFragment[tagName] = new Array(documentFragment.tagName);
+ var attributeSet = this.parseAttributes(documentFragment);
+ for(var attr in attributeSet){
+ if(!parsedFragment[attr]){
+ parsedFragment[attr] = [];
+ }
+ parsedFragment[attr][parsedFragment[attr].length] = attributeSet[attr];
+ }
+ var nodes = documentFragment.childNodes;
+ for(var childNode in nodes){
+ switch(nodes[childNode].nodeType){
+ case dojo.dom.ELEMENT_NODE: // element nodes, call this function recursively
+ parsedFragment[tagName].push(this.parseElement(nodes[childNode]));
+ break;
+ case dojo.dom.TEXT_NODE: // if a single text node is the child, treat it as an attribute
+ if(nodes.length == 1){
+ if(!parsedFragment[documentFragment.tagName]){
+ parsedFragment[tagName] = [];
+ }
+ parsedFragment[tagName].push({ value: nodes[0].nodeValue });
+ }
+ break;
+ }
+ }
+
+ return parsedFragment;
+ }
+
+ this.parseElement = function(node, hasParentNodeSet, optimizeForDojoML, thisIdx){
+ // TODO: make this namespace aware
+ var parsedNodeSet = {};
+ var tagName = dojo.dom.getTagName(node);
+ parsedNodeSet[tagName] = [];
+ if((!optimizeForDojoML)||(tagName.substr(0,4).toLowerCase()=="dojo")){
+ var attributeSet = this.parseAttributes(node);
+ for(var attr in attributeSet){
+ if((!parsedNodeSet[tagName][attr])||(typeof parsedNodeSet[tagName][attr] != "array")){
+ parsedNodeSet[tagName][attr] = [];
+ }
+ parsedNodeSet[tagName][attr].push(attributeSet[attr]);
+ }
+
+ // FIXME: we might want to make this optional or provide cloning instead of
+ // referencing, but for now, we include a node reference to allow
+ // instantiated components to figure out their "roots"
+ parsedNodeSet[tagName].nodeRef = node;
+ parsedNodeSet.tagName = tagName;
+ parsedNodeSet.index = thisIdx||0;
+ }
+
+ var count = 0;
+ for(var i=0; i<node.childNodes.length; i++){
+ var tcn = node.childNodes.item(i);
+ switch(tcn.nodeType){
+ case dojo.dom.ELEMENT_NODE: // element nodes, call this function recursively
+ count++;
+ var ctn = dojo.dom.getTagName(tcn);
+ if(!parsedNodeSet[ctn]){
+ parsedNodeSet[ctn] = [];
+ }
+ parsedNodeSet[ctn].push(this.parseElement(tcn, true, optimizeForDojoML, count));
+ if( (tcn.childNodes.length == 1)&&
+ (tcn.childNodes.item(0).nodeType == dojo.dom.TEXT_NODE)){
+ parsedNodeSet[ctn][parsedNodeSet[ctn].length-1].value = tcn.childNodes.item(0).nodeValue;
+ }
+ break;
+ case dojo.dom.TEXT_NODE: // if a single text node is the child, treat it as an attribute
+ if(node.childNodes.length == 1) {
+ parsedNodeSet[tagName].push({ value: node.childNodes.item(0).nodeValue });
+ }
+ break;
+ default: break;
+ /*
+ case dojo.dom.ATTRIBUTE_NODE: // attribute node... not meaningful here
+ break;
+ case dojo.dom.CDATA_SECTION_NODE: // cdata section... not sure if this would ever be meaningful... might be...
+ break;
+ case dojo.dom.ENTITY_REFERENCE_NODE: // entity reference node... not meaningful here
+ break;
+ case dojo.dom.ENTITY_NODE: // entity node... not sure if this would ever be meaningful
+ break;
+ case dojo.dom.PROCESSING_INSTRUCTION_NODE: // processing instruction node... not meaningful here
+ break;
+ case dojo.dom.COMMENT_NODE: // comment node... not not sure if this would ever be meaningful
+ break;
+ case dojo.dom.DOCUMENT_NODE: // document node... not sure if this would ever be meaningful
+ break;
+ case dojo.dom.DOCUMENT_TYPE_NODE: // document type node... not meaningful here
+ break;
+ case dojo.dom.DOCUMENT_FRAGMENT_NODE: // document fragment node... not meaningful here
+ break;
+ case dojo.dom.NOTATION_NODE:// notation node... not meaningful here
+ break;
+ */
+ }
+ }
+ //return (hasParentNodeSet) ? parsedNodeSet[node.tagName] : parsedNodeSet;
+ return parsedNodeSet;
+ }
+
+ /* parses a set of attributes on a node into an object tree */
+ this.parseAttributes = function(node) {
+ // TODO: make this namespace aware
+ var parsedAttributeSet = {};
+ var atts = node.attributes;
+ // TODO: should we allow for duplicate attributes at this point...
+ // would any of the relevant dom implementations even allow this?
+ for(var i=0; i<atts.length; i++) {
+ var attnode = atts.item(i);
+ if((dojo.render.html.capable)&&(dojo.render.html.ie)){
+ if(!attnode){ continue; }
+ if( (typeof attnode == "object")&&
+ (typeof attnode.nodeValue == 'undefined')||
+ (attnode.nodeValue == null)||
+ (attnode.nodeValue == '')){
+ continue;
+ }
+ }
+ var nn = (attnode.nodeName.indexOf("dojo:") == -1) ? attnode.nodeName : attnode.nodeName.split("dojo:")[1];
+ parsedAttributeSet[nn] = {
+ value: attnode.nodeValue
+ };
+ }
+ return parsedAttributeSet;
+ }
+}
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/__package__.js
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/__package__.js?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/__package__.js (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/__package__.js Wed Feb 15 15:30:01 2006
@@ -0,0 +1,18 @@
+/*
+ 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.require("dojo.xml.Parse");
+dojo.hostenv.conditionalLoadModule({
+ common: ["dojo.xml.domUtil"],
+ browser: ["dojo.xml.htmlUtil"],
+ dashboard: ["dojo.xml.htmlUtil"],
+ svg: ["dojo.xml.svgUtil"]
+});
+dojo.hostenv.moduleLoaded("dojo.xml.*");
Added: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/domUtil.js
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/domUtil.js?rev=378118&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/domUtil.js (added)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/html/dojo/src/xml/domUtil.js Wed Feb 15 15:30:01 2006
@@ -0,0 +1,84 @@
+/*
+ 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.xml.domUtil");
+dojo.require("dojo.graphics.color");
+dojo.require("dojo.dom");
+dojo.require("dojo.style");
+
+dj_deprecated("dojo.xml.domUtil is deprecated, use dojo.dom instead");
+
+// for loading script:
+dojo.xml.domUtil = new function(){
+ this.nodeTypes = {
+ ELEMENT_NODE : 1,
+ ATTRIBUTE_NODE : 2,
+ TEXT_NODE : 3,
+ CDATA_SECTION_NODE : 4,
+ ENTITY_REFERENCE_NODE : 5,
+ ENTITY_NODE : 6,
+ PROCESSING_INSTRUCTION_NODE : 7,
+ COMMENT_NODE : 8,
+ DOCUMENT_NODE : 9,
+ DOCUMENT_TYPE_NODE : 10,
+ DOCUMENT_FRAGMENT_NODE : 11,
+ NOTATION_NODE : 12
+ }
+
+ this.dojoml = "http://www.dojotoolkit.org/2004/dojoml";
+ this.idIncrement = 0;
+
+ this.getTagName = function(){return dojo.dom.getTagName.apply(dojo.dom, arguments);}
+ this.getUniqueId = function(){return dojo.dom.getUniqueId.apply(dojo.dom, arguments);}
+ this.getFirstChildTag = function() {return dojo.dom.getFirstChildElement.apply(dojo.dom, arguments);}
+ this.getLastChildTag = function() {return dojo.dom.getLastChildElement.apply(dojo.dom, arguments);}
+ this.getNextSiblingTag = function() {return dojo.dom.getNextSiblingElement.apply(dojo.dom, arguments);}
+ this.getPreviousSiblingTag = function() {return dojo.dom.getPreviousSiblingElement.apply(dojo.dom, arguments);}
+
+ this.forEachChildTag = function(node, unaryFunc) {
+ var child = this.getFirstChildTag(node);
+ while(child) {
+ if(unaryFunc(child) == "break") { break; }
+ child = this.getNextSiblingTag(child);
+ }
+ }
+
+ this.moveChildren = function() {return dojo.dom.moveChildren.apply(dojo.dom, arguments);}
+ this.copyChildren = function() {return dojo.dom.copyChildren.apply(dojo.dom, arguments);}
+ this.clearChildren = function() {return dojo.dom.removeChildren.apply(dojo.dom, arguments);}
+ this.replaceChildren = function() {return dojo.dom.replaceChildren.apply(dojo.dom, arguments);}
+
+ this.getStyle = function() {return dojo.style.getStyle.apply(dojo.style, arguments);}
+ this.toCamelCase = function() {return dojo.style.toCamelCase.apply(dojo.style, arguments);}
+ this.toSelectorCase = function() {return dojo.style.toSelectorCase.apply(dojo.style, arguments);}
+
+ this.getAncestors = function(){return dojo.dom.getAncestors.apply(dojo.dom, arguments);}
+ this.isChildOf = function() {return dojo.dom.isDescendantOf.apply(dojo.dom, arguments);}
+ this.createDocumentFromText = function() {return dojo.dom.createDocumentFromText.apply(dojo.dom, arguments);}
+
+ if(dojo.render.html.capable || dojo.render.svg.capable) {
+ this.createNodesFromText = function(txt, wrap){return dojo.dom.createNodesFromText.apply(dojo.dom, arguments);}
+ }
+
+ this.extractRGB = function(color) { return dojo.graphics.color.extractRGB(color); }
+ this.hex2rgb = function(hex) { return dojo.graphics.color.hex2rgb(hex); }
+ this.rgb2hex = function(r, g, b) { return dojo.graphics.color.rgb2hex(r, g, b); }
+
+ this.insertBefore = function() {return dojo.dom.insertBefore.apply(dojo.dom, arguments);}
+ this.before = this.insertBefore;
+ this.insertAfter = function() {return dojo.dom.insertAfter.apply(dojo.dom, arguments);}
+ this.after = this.insertAfter
+ this.insert = function(){return dojo.dom.insertAtPosition.apply(dojo.dom, arguments);}
+ this.insertAtIndex = function(){return dojo.dom.insertAtIndex.apply(dojo.dom, arguments);}
+ this.textContent = function () {return dojo.dom.textContent.apply(dojo.dom, arguments);}
+ this.renderedTextContent = function () {return dojo.dom.renderedTextContent.apply(dojo.dom, arguments);}
+ this.remove = function (node) {return dojo.dom.removeNode.apply(dojo.dom, arguments);}
+}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org