package automenta.spacenet.run.old.app; import automenta.spacenet.run.ArdorSpacetime; import automenta.spacenet.run.DemoDefaults; import automenta.spacenet.space.geom.ProcessBox; import automenta.spacenet.space.widget.button.Button; import automenta.spacenet.space.widget.window.Window; import java.io.FileInputStream; import java.util.Iterator; import java.util.logging.Level; import java.util.logging.Logger; import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.model.Calendar; import net.fortuna.ical4j.model.Component; import net.fortuna.ical4j.model.ComponentList; import net.fortuna.ical4j.model.component.VEvent; /** * * @author seh */ public class DemoTimeLine extends ProcessBox { @Override protected void start() { double initialX = -1; try { //FileInputStream fin = new FileInputStream("/home/seh/USHolidays.ics"); FileInputStream fin = new FileInputStream("/home/seh/basic.ics"); CalendarBuilder builder = new CalendarBuilder(); Calendar calendar = builder.build(fin); ComponentList components = calendar.getComponents(); Iterator<Component> ci = components.iterator(); while (ci.hasNext()) { Component c = ci.next(); //System.out.println( c ); if (c instanceof VEvent) { VEvent event = (VEvent)c; Window w = add(new Window()); double x = ((double)(event.getStartDate().getDate().getTime())) / (24 * 60 * 60.0 * 1000); double y = 0; if (initialX < x) { initialX = x; } String label = event.getSummary().getValue(); w.add(new Button(DemoDefaults.font, label)).moveDZ(0.1).scale(0.9, 0.25); w.move(x, y); System.out.println(" from " + event.getStartDate() + " to " + event.getEndDate() + " at " + x ); } } System.out.println(initialX); getSpacetime().getCamera().getTargetPosition().set(initialX, 0, 10); getSpacetime().getCamera().getTargetTarget().set(initialX, 0, 0); } catch (Exception ex) { Logger.getLogger(DemoTimeLine.class.getName()).log(Level.SEVERE, null, ex); } } public static void main(String[] args) { ArdorSpacetime.newWindow(new DemoTimeLine()); } }