View Javadoc

1   /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   */
15  
16  package org.kuali.student.common.ui.client.widgets;
17  
18  
19  import java.util.Date;
20  
21  import org.kuali.student.common.ui.client.widgets.impl.KSDatePickerImpl;
22  
23  import com.google.gwt.core.client.GWT;
24  import com.google.gwt.event.dom.client.BlurEvent;
25  import com.google.gwt.event.dom.client.BlurHandler;
26  import com.google.gwt.event.dom.client.FocusEvent;
27  import com.google.gwt.event.dom.client.FocusHandler;
28  import com.google.gwt.event.logical.shared.ValueChangeHandler;
29  import com.google.gwt.event.shared.HandlerRegistration;
30  
31  /**
32   * The KSDatePicker widget provides an easy way for a date to be entered by a user.  When this widget obtains focus,
33   * a datepicker popup calendar appears below the text field.  The user may either select the date using the calendar,
34   * or fill in the date manually (which will automatically selects the date for them in the calendar).
35   * 
36   * TODO 03/11/2009 - This widget currently only supports dates entered in the mm/dd/yyyy format.  Known unresolved backspace bug in Firefox.
37   * 
38   * @author Kuali Student Team
39   *
40   */
41  public class KSDatePicker extends KSDatePickerAbstract implements HasWatermark { 
42      KSDatePickerAbstract datePicker = GWT.create(KSDatePickerImpl.class);
43      
44      /**
45       * Creates a KSDatePicker widget.
46       * 
47       */
48      public KSDatePicker() {
49          this.initWidget(datePicker);
50          
51      }
52  
53      /**
54       * Get the currently selected date.
55       * 
56       * @return the Date selected
57       */
58      @Override
59      public Date getValue() {
60          return datePicker.getValue();
61      }
62  
63      /**
64       * Sets the date and selects it.
65       * 
66       * @param date the Date to set the calendar and associated field to
67       */
68      @Override
69      public void setValue(Date date) {
70          datePicker.setValue(date);
71      }
72  
73      /**
74       * @see com.google.gwt.user.client.ui.HasValue#setValue(java.lang.Object, boolean)
75       */
76      @Override
77      public void setValue(Date date, boolean fireEvents) {
78          datePicker.setValue(date, fireEvents);
79      }
80  
81      /**
82       * @see com.google.gwt.event.logical.shared.HasValueChangeHandlers#addValueChangeHandler(com.google.gwt.event.logical.shared.ValueChangeHandler)
83       */
84      @Override
85      public HandlerRegistration addValueChangeHandler(ValueChangeHandler<Date> handler) {
86          return datePicker.addValueChangeHandler(handler);
87      }
88  
89  	@Override
90  	public HandlerRegistration addFocusHandler(FocusHandler handler) {
91  		return datePicker.addFocusHandler(handler);
92  	}
93  
94  	@Override
95  	public HandlerRegistration addBlurHandler(BlurHandler handler) {
96  		return datePicker.addBlurHandler(handler);
97  	}
98  
99      @Override
100     public boolean hasWatermark() {
101         return datePicker.hasWatermark();
102     }
103 
104     @Override
105     public void setWatermarkText(String waterMark) {
106         datePicker.setWatermarkText(waterMark);
107     }
108 
109     @Override
110     public boolean watermarkShowing() {
111         return datePicker.watermarkShowing();
112     }
113     
114     
115 }