From: <tri...@us...> - 2009-09-30 20:08:12
|
Revision: 1164 http://equanda.svn.sourceforge.net/equanda/?rev=1164&view=rev Author: triathlon98 Date: 2009-09-30 20:08:03 +0000 (Wed, 30 Sep 2009) Log Message: ----------- EQ-364 DeltaBar component Modified Paths: -------------- branches/0.9.4.1/equanda-tapestry5/src/site/site.xml Added Paths: ----------- branches/0.9.4.1/equanda-tapestry5/src/main/java/org/equanda/tapestry5/components/DeltaBar.java branches/0.9.4.1/equanda-tapestry5/src/main/resources/org/equanda/tapestry5/components/DeltaBar.tml branches/0.9.4.1/equanda-tapestry5/src/site/wiki/deltabar.wiki Copied: branches/0.9.4.1/equanda-tapestry5/src/main/java/org/equanda/tapestry5/components/DeltaBar.java (from rev 1163, trunk/equanda-tapestry5/src/main/java/org/equanda/tapestry5/components/DeltaBar.java) =================================================================== --- branches/0.9.4.1/equanda-tapestry5/src/main/java/org/equanda/tapestry5/components/DeltaBar.java (rev 0) +++ branches/0.9.4.1/equanda-tapestry5/src/main/java/org/equanda/tapestry5/components/DeltaBar.java 2009-09-30 20:08:03 UTC (rev 1164) @@ -0,0 +1,83 @@ +/** + * This file is part of the equanda project. + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF + * ANY KIND, either express or implied. See the License for the specific language governing rights and + * limitations under the License. + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + */ + +package org.equanda.tapestry5.components; + +import org.apache.tapestry5.annotations.Parameter; +import org.apache.tapestry5.annotations.Property; + +/** + * Component which display a horizontal bar to display from and to values. + * + * @author <a href="mailto:jo...@pr...">Joachim Van der Auwera</a> + */ +public class DeltaBar +{ + @Property + @Parameter( value = "0", required = true ) + private int fromPercentage; + + @Property + @Parameter( value = "0", required = true ) + private int toPercentage; + + @Property + @Parameter( value = "200", required = false, defaultPrefix = "literal" ) + private int width; + + @Property + @Parameter( value = "gray", required = false, defaultPrefix = "literal" ) + private String borderColour; + + @Property + @Parameter( value = "transparent", required = false, defaultPrefix = "literal" ) + private String backgroundColour; + + @Property + @Parameter( value = "red", required = false, defaultPrefix = "literal" ) + private String fromColour; + + @Property + @Parameter( value = "literal:lightgreen", required = false, defaultPrefix = "literal" ) + private String toColour; + + @Property + @Parameter( value = "black", required = false, defaultPrefix = "literal" ) + private String textColour; + + public int getFromWidth() + { + return (int)Math.round( width / 100.0 * fromPercentage ); + } + + public int getToWidth() + { + return (int)Math.round( width / 100.0 * toPercentage ); + } + + public int getTotalWidth() + { + return width; + } +} Copied: branches/0.9.4.1/equanda-tapestry5/src/main/resources/org/equanda/tapestry5/components/DeltaBar.tml (from rev 1163, trunk/equanda-tapestry5/src/main/resources/org/equanda/tapestry5/components/DeltaBar.tml) =================================================================== --- branches/0.9.4.1/equanda-tapestry5/src/main/resources/org/equanda/tapestry5/components/DeltaBar.tml (rev 0) +++ branches/0.9.4.1/equanda-tapestry5/src/main/resources/org/equanda/tapestry5/components/DeltaBar.tml 2009-09-30 20:08:03 UTC (rev 1164) @@ -0,0 +1,40 @@ +<div style="position: relative; /* IE is dumb */ +width: ${totalWidth}px; +border: 1px solid ${borderColour}; +background: ${backgroundColour}; +padding: 2px; "> + <strong style="width: ${toWidth}px; +display: block; +position: absolute; +background: ${toColour}; +text-align: right; +padding: 0; +height: 1em; +line-height: 1em; "></strong> + <strong style="width: ${fromWidth}px; +display: block; +position: absolute; +background: ${fromColour}; +text-align: left; +padding: 0; +height: 1em; +line-height: 1em; "></strong> + <strong style="width: ${width}px; +display: block; +position: absolute; +background: transparent; +text-align: right; +color: ${textColour}; +padding: 0 3px; +height: 1em; +line-height: 1em; ">${toPercentage}%</strong> + <strong style="width: ${width}px; +display: block; +position: relative; +background: transparent; +text-align: left; +color: ${textColour}; +padding: 0 3px; +height: 1em; +line-height: 1em; ">${fromPercentage}%</strong> +</div> \ No newline at end of file Modified: branches/0.9.4.1/equanda-tapestry5/src/site/site.xml =================================================================== --- branches/0.9.4.1/equanda-tapestry5/src/site/site.xml 2009-09-30 19:59:37 UTC (rev 1163) +++ branches/0.9.4.1/equanda-tapestry5/src/site/site.xml 2009-09-30 20:08:03 UTC (rev 1164) @@ -10,6 +10,7 @@ <item name="Introduction" href="index.html"/> <item name="Components" collapse="false"> <item name="Accordion" href="accordion.html"/> + <item name="DeltaBar" href="deltabar.html"/> <item name="FormActionLink" href="formactionlink.html"/> <item name="FormSupport" href="formsupport.html"/> <item name="FormTraversal" href="formtraversal.html"/> Copied: branches/0.9.4.1/equanda-tapestry5/src/site/wiki/deltabar.wiki (from rev 1163, trunk/equanda-tapestry5/src/site/wiki/deltabar.wiki) =================================================================== --- branches/0.9.4.1/equanda-tapestry5/src/site/wiki/deltabar.wiki (rev 0) +++ branches/0.9.4.1/equanda-tapestry5/src/site/wiki/deltabar.wiki 2009-09-30 20:08:03 UTC (rev 1164) @@ -0,0 +1,21 @@ +h1. DeltaBar + +The deltabar component allows display of from-to percentage evolutions in a graphical way. + +There are a couple of possible parameters : +- fromPercentage: from percentage (required), should be between 0 and 100. +- toPercentage : end percentage (required), should be an int between 0 and 100 and should be larger than "fromPercentage". +- width : width of the component (excluding borders), defaults to 200. +- borderColour : border colour, defaults to "gray". +- backgroundColour : background colour for the component, defaults to "transparent". +- fromColour : colour for the "from" bar, defaults to "red". +- toColour : colour for the "to" bar, defaults to "lightgreen". +- toColour : colour for the percentage indications, defaults to "black". + +<code> +<t:equanda.DeltaBar fromPercentage="literal:8" toPercentage="literal:100" /> +<t:equanda.DeltaBar fromPercentage="literal:0" toPercentage="literal:75" /> +<span t:type="equanda/DeltaBar" fromPercentage="literal:76" toPercentage="literal:76" /> +<t:equanda.DeltaBar fromPercentage="literal:76" toPercentage="literal:85" + width="400" borderColour="blue" backgroundColour="black" textColour="white" fromColour="darkgray" toColour="green" /> +</code> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |