aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/tests/featurebrowser/FeatureDateField.java
blob: 28530ecca81c3c97955ed6da52470a9cc0e88462 (plain)
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
/* *************************************************************************
 
 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.tests.featurebrowser;

import java.util.Locale;

import com.itmill.toolkit.ui.Component;
import com.itmill.toolkit.ui.DateField;
import com.itmill.toolkit.ui.Form;
import com.itmill.toolkit.ui.Label;
import com.itmill.toolkit.ui.OrderedLayout;
import com.itmill.toolkit.ui.Select;

public class FeatureDateField extends Feature {

    static private String[] localeNames;
    static {
        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();
    }

    protected Component getDemoComponent() {

        OrderedLayout l = new OrderedLayout();

        l.addComponent(new Label("Your default locale is: "
                + getApplication().getLocale().toString().replace('_', '-')));

        DateField df = new DateField();
        df.setValue(new java.util.Date());
        l.addComponent(df);

        // Properties
        propertyPanel = new PropertyPanel(df);
        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());
        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;
    }

    protected String getExampleSrc() {
        return "DateField df = new DateField(\"Caption\");\n"
                + "df.setValue(new java.util.Date());\n";
    }

    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). IT Mill Toolkit provides a DateField "
                + "component that is intuitive to use and yet controllable through "
                + "its properties."
                + "<br /><br />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."
                + "<br /><br />On the demo tab you can try out how the different properties affect the "
                + "presentation of the component.";
    }

    protected String getImage() {
        return "icon_demo.png";
    }

    protected String getTitle() {
        return "DateField";
    }

}