/ftr-gwt-library-date/src/main/java/eu/future/earth/gwt/client/date/picker/DatePickerDialog.java
http://ftr-gwt-library.googlecode.com/ · Java · 61 lines · 48 code · 13 blank · 0 comment · 7 complexity · 11895a260f227dade85e9771e623adaf MD5 · raw file
- package eu.future.earth.gwt.client.date.picker;
- import java.util.Date;
- import com.google.gwt.event.shared.HandlerRegistration;
- import com.google.gwt.user.client.DOM;
- import com.google.gwt.user.client.ui.DecoratedPopupPanel;
- import com.google.gwt.user.client.ui.Widget;
- import eu.future.earth.gwt.client.FtrGwtDatePickerCss;
- import eu.future.earth.gwt.client.date.picker.DateSelectEvent.DateSelectEventActions;
- public class DatePickerDialog extends DecoratedPopupPanel implements DateSelectListener, HasDateSelectHandlers {
- private DatePickerMonthNavigator whole = null;
- public DatePickerDialog(DatePickerRenderer renderer) {
- super(true);
- super.addStyleName(FtrGwtDatePickerCss.DIALOG);
- whole = new DatePickerMonthNavigator(renderer);
- setWidget(whole);
- whole.setWidth("250px");
- whole.addDateSelectEventHandler(this);
- }
- public void addWidgetToPicker(Widget newWidget) {
- whole.addWidgetToPicker(newWidget);
- };
-
- public void show(Widget below) {
- if (below == null) {
- super.show();
- super.center();
- } else {
- super.show();
- super.setPopupPosition(below.getAbsoluteLeft(), below.getAbsoluteTop() + below.getOffsetHeight() + 10);
- DOM.scrollIntoView(super.getElement());
- }
- }
- public void setSelectedDate(Date newDate) {
- whole.setSelectedDate(newDate);
- }
- public HandlerRegistration addDateSelectEventHandler(DateSelectListener handler) {
- return addHandler(handler, DateSelectEvent.getType());
- }
- public void handleDateSelectEvent(DateSelectEvent newEvent) {
- if (newEvent.getCommand() == DateSelectEventActions.SELECT_DAY) {
- DateSelectEvent.fire(this, newEvent);
- this.hide();
- }
- if (newEvent.getCommand() == DateSelectEventActions.SELECT_NEW_MONTH) {
- DateSelectEvent.fire(this, newEvent);
- this.hide();
- }
- }
- }