/*
* (c) Rob Gordon 2005.
*/
package org.oddjob.designer.elements;
import org.oddjob.arooa.design.DesignFactory;
import org.oddjob.arooa.design.DesignInstance;
import org.oddjob.arooa.design.DesignProperty;
import org.oddjob.arooa.design.DesignValueBase;
import org.oddjob.arooa.design.SimpleDesignProperty;
import org.oddjob.arooa.design.SimpleTextAttribute;
import org.oddjob.arooa.design.screem.BorderedGroup;
import org.oddjob.arooa.design.screem.Form;
import org.oddjob.arooa.design.screem.StandardForm;
import org.oddjob.arooa.parsing.ArooaContext;
import org.oddjob.arooa.parsing.ArooaElement;
/**
* Design for {@link DateType}
*/
public class DateDE implements DesignFactory {
public DesignInstance createDesign(ArooaElement element,
ArooaContext parentContext) {
return new DateDesign(element, parentContext);
}
}
class DateDesign extends DesignValueBase {
private final SimpleTextAttribute date;
private final SimpleTextAttribute format;
private final SimpleTextAttribute timeZone;
private final SimpleDesignProperty clock;
public DateDesign(ArooaElement element, ArooaContext parentContext) {
super(element, parentContext);
date = new SimpleTextAttribute("date", this);
format = new SimpleTextAttribute("format", this);
timeZone = new SimpleTextAttribute("timeZone", this);
clock = new SimpleDesignProperty("clock", this);
}
public Form detail() {
return new StandardForm(this).addFormItem(
new BorderedGroup("Date")
.add(date.view().setTitle("Date"))
.add(format.view().setTitle("Format"))
.add(timeZone.view().setTitle("Time Zone"))
.add(clock.view().setTitle("Clock"))
);
}
@Override
public DesignProperty[] children() {
return new DesignProperty[] { date, format, timeZone, clock };
}
}