package de.open4me.depot.gui; import java.util.ArrayList; import java.util.Date; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import de.willuhn.jameica.gui.input.ScaleInput; public class DatumsSlider extends ScaleInput { private Listener listener = new RangeListener(); private ArrayList<Date> dates; public DatumsSlider(ArrayList<Date> dates) { super(0); this.dates = dates; setScaling(0, dates.size(), 1, dates.size() / 10); setValue(dates.size()); addListener(listener); listener.handleEvent(null); // einmal initial ausloesen } public Date getDate() { int start = ((Integer)getValue()).intValue(); if (start >= dates.size()) { return null; } else { return dates.get(start); } } private class RangeListener implements Listener { public void handleEvent(Event event) { if (dates == null) { return; } int start = ((Integer)getValue()).intValue(); if (start >= dates.size()) { setComment("Heute"); } else { setComment("" + dates.get(start)); } } } }