1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
/* *************************************************************************
IT Mill Toolkit
Development of Browser User Interfaces Made Easy
Copyright (C) 2000-2006 IT Mill Ltd
*************************************************************************
This product is distributed under commercial license that can be found
from the product package on license.pdf. Use of this product might
require purchasing a commercial license from IT Mill Ltd. For guidelines
on usage, see licensing-guidelines.html
*************************************************************************
For more information, contact:
IT Mill Ltd phone: +358 2 4802 7180
Ruukinkatu 2-4 fax: +358 2 4802 7181
20540, Turku email: info@itmill.com
Finland company www: www.itmill.com
Primary source for information and releases: www.itmill.com
********************************************************************** */
package com.itmill.toolkit.demo.features;
import java.util.Locale;
import com.itmill.toolkit.data.util.IndexedContainer;
import com.itmill.toolkit.data.util.MethodProperty;
import com.itmill.toolkit.ui.*;
public class FeatureDateField extends Feature {
static private IndexedContainer localeContainer;
static {
localeContainer = new IndexedContainer();
localeContainer.addContainerProperty("name", String.class, "");
Locale[] locales = Locale.getAvailableLocales();
for (int i = 0; i < locales.length; i++)
localeContainer.addItem(locales[i]).getItemProperty("name")
.setValue(locales[i].getDisplayName());
}
public FeatureDateField() {
super();
}
protected Component getDemoComponent() {
OrderedLayout l = new OrderedLayout();
// Example panel
DateField df = new DateField();
df.setValue(new java.util.Date());
l.addComponent(df);
// Create locale selector
// TODO: see #244 (broken for AJAX mode), known issue exists
Select selector = new Select("Application Locale", localeContainer);
selector.setItemCaptionPropertyId("name");
selector.setImmediate(true);
selector.setPropertyDataSource(new MethodProperty(
this.getApplication(), "locale"));
l.addComponent(selector);
// Properties
propertyPanel = new PropertyPanel(df);
Form ap = propertyPanel
.createBeanPropertySet(new String[] { "resolution" });
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.getField("resolution").setValue(
new Integer(DateField.RESOLUTION_DAY));
Select themes = (Select) propertyPanel.getField("style");
themes.addItem("text").getItemProperty(
themes.getItemCaptionPropertyId()).setValue("text");
themes.addItem("calendar").getItemProperty(
themes.getItemCaptionPropertyId()).setValue("calendar");
df.setStyle("calendar");
propertyPanel.addProperties("DateField Properties", ap);
return l;
}
protected String getExampleSrc() {
return "DateField df = new DateField(\"Caption\");\n"
+ "df.setValue(new java.util.Date());\n";
}
protected String getDescriptionXHTML() {
return "<p>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 userinterfaces. IT Mill Toolkit provides a DateField "
+ "component that is intuitive to use and yet controllable through "
+ "its properties.</p>"
+ "<p>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.</p>"
+ "<p>On the demo tab you can try out how the different properties affect the "
+ "presentation of the component.</p>";
}
protected String getImage() {
return "datefield.jpg";
}
protected String getTitle() {
return "DateField";
}
}
|