All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.future.earth.gwt.client.date.picker.DatePickerDialog Maven / Gradle / Ivy

There is a newer version: 3.3
Show newest version
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.ui.Widget;

import eu.future.earth.gwt.client.FtrGwtDatePickerCss;
import eu.future.earth.gwt.client.date.picker.DateSelectEvent.DateSelectEventActions;
import eu.future.earth.gwt.client.ui.button.CleanPopupPanel;

public class DatePickerDialog extends CleanPopupPanel implements DateSelectListener, HasDateSelectHandlers {

	private DatePickerMonthNavigator whole = null;

	public DatePickerDialog(DatePickerRenderer renderer) {
		super(true);
		super.setStyleName(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.showRelativeTo(below);
		}
	}

	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();
		}
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy