/*
@ITMillApache2LicenseForJavaFiles@
*/
package com.vaadin.tests.featurebrowser;
import java.util.Locale;
import com.vaadin.ui.Component;
import com.vaadin.ui.DateField;
import com.vaadin.ui.Form;
import com.vaadin.ui.Label;
import com.vaadin.ui.OrderedLayout;
import com.vaadin.ui.Select;
public class FeatureDateField extends Feature {
static private String[] localeNames;
static {
final Locale[] locales = Locale.getAvailableLocales();
localeNames = new String[locales.length];
for (int i = 0; i < locales.length; i++) {
localeNames[i] = locales[i].getDisplayName();
}
}
public FeatureDateField() {
super();
}
@Override
protected Component getDemoComponent() {
final OrderedLayout l = new OrderedLayout();
l.addComponent(new Label("Your default locale is: "
+ getApplication().getLocale().toString().replace('_', '-')));
final DateField df = new DateField();
df.setValue(new java.util.Date());
l.addComponent(df);
// Properties
propertyPanel = new PropertyPanel(df);
final Form ap = propertyPanel.createBeanPropertySet(new String[] {
"resolution", "locale" });
ap.replaceWithSelect("resolution", new Object[] {
new Integer(DateField.RESOLUTION_YEAR),
new Integer(DateField.RESOLUTION_MONTH),
new Integer(DateField.RESOLUTION_DAY),
new Integer(DateField.RESOLUTION_HOUR),
new Integer(DateField.RESOLUTION_MIN),
new Integer(DateField.RESOLUTION_SEC),
new Integer(DateField.RESOLUTION_MSEC) }, new Object[] {
"Year", "Month", "Day", "Hour", "Minute", "Second",
"Millisecond" });
ap.replaceWithSelect("locale", Locale.getAvailableLocales(),
localeNames);
ap.getField("resolution").setValue(
new Integer(DateField.RESOLUTION_DAY));
ap.getField("locale").setValue(Locale.getDefault());
final Select themes = (Select) propertyPanel.getField("style");
themes.addItem("text").getItemProperty(
themes.getItemCaptionPropertyId()).setValue("text");
themes.addItem("calendar").getItemProperty(
themes.getItemCaptionPropertyId()).setValue("calendar");
propertyPanel.addProperties("DateField Properties", ap);
setJavadocURL("ui/DateField.html");
return l;
}
@Override
protected String getExampleSrc() {
return "DateField df = new DateField(\"Caption\");\n"
+ "df.setValue(new java.util.Date());\n";
}
@Override
protected String getDescriptionXHTML() {
return "Representing Dates and times and providing a way to select "
+ "or enter some specific date and/or time is an typical need in "
+ "data-entry user interfaces (UI). Vaadin provides a DateField "
+ "component that is intuitive to use and yet controllable through "
+ "its properties."
+ "
The calendar-style allows point-and-click selection "
+ "of dates while text-style shows only minimalistic user interface."
+ " Validators may be bound to the component to check and "
+ "validate the given input."
+ "
On the demo tab you can try out how the different properties affect the "
+ "presentation of the component.";
}
@Override
protected String getImage() {
return "icon_demo.png";
}
@Override
protected String getTitle() {
return "DateField";
}
}