Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/jfree/TimeBounds.java @ 4641:f3325079dacc
Improve the up and down arrows in the theme navigation panel
Don't stretch the arrow icons and fit to their actual size. Also put the up
buttons on the left and the down buttons on the right.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Tue, 04 Dec 2012 16:16:43 +0100 |
parents | 2f6d4f92d628 |
children |
line wrap: on
line source
package de.intevation.flys.jfree; import java.util.Date; import org.jfree.chart.axis.DateAxis; import org.jfree.chart.axis.ValueAxis; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class TimeBounds implements Bounds { protected long lower; protected long upper; public TimeBounds(long lower, long upper) { this.lower = lower; this.upper = upper; } @Override public Number getLower() { return Long.valueOf(lower); } public Date getLowerAsDate() { return new Date(lower); } @Override public Number getUpper() { return Long.valueOf(upper); } public Date getUpperAsDate() { return new Date(upper); } @Override public void applyBounds(ValueAxis axis) { DateAxis dateAxis = (DateAxis) axis; dateAxis.setMinimumDate(new Date(lower)); dateAxis.setMaximumDate(new Date(upper)); } @Override public void applyBounds(ValueAxis axis, int percent) { DateAxis dateAxis = (DateAxis) axis; long space = (upper - lower) / 100 * percent; dateAxis.setMinimumDate(new Date(lower-space)); dateAxis.setMaximumDate(new Date(upper+space)); } @Override public Bounds combine(Bounds bounds) { if (bounds == null) { return this; } TimeBounds other = (TimeBounds) bounds; long otherLower = other.getLower().longValue(); long otherUpper = other.getUpper().longValue(); return new TimeBounds( otherLower < lower ? otherLower : lower, otherUpper > upper ? otherUpper : upper); } @Override public String toString() { return "TimeBounds=["+ getLowerAsDate() + " ; " + getUpperAsDate() +"]"; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :