/*
* (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.SimpleTextAttribute;
import org.oddjob.arooa.design.screem.BorderedGroup;
import org.oddjob.arooa.design.screem.FieldSelection;
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;
/**
* DesignElement for the Format Type.
*/
public class FormatDE implements DesignFactory {
public DesignInstance createDesign(ArooaElement element,
ArooaContext parentContext) {
return new FormatDesign(element, parentContext);
}
}
class FormatDesign extends DesignValueBase {
private final SimpleTextAttribute format;
private final SimpleTextAttribute timeZone;
private final SimpleTextAttribute date;
private final SimpleTextAttribute number;
public FormatDesign(ArooaElement element, ArooaContext parentContext) {
super(element, parentContext);
format = new SimpleTextAttribute("format", this);
timeZone = new SimpleTextAttribute("timeZone", this);
date = new SimpleTextAttribute("date", this);
number = new SimpleTextAttribute("number", this);
}
public Form detail() {
return new StandardForm(this).addFormItem(
new BorderedGroup(toString())
.add(format.view().setTitle("Format"))
.add(new FieldSelection()
.add(new BorderedGroup("Date Time")
.add(date.view().setTitle("Date"))
.add(timeZone.view().setTitle("Time Zone")))
.add(number.view().setTitle("Number")))
);
}
@Override
public DesignProperty[] children() {
return new DesignProperty[] { format, timeZone, date, number };
}
public String toString() {
return "Format";
}
}