/******************************************************************************* * Copyright (c) 2013 BSI Business Systems Integration AG. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * BSI Business Systems Integration AG - initial API and implementation ******************************************************************************/ package org.eclipsescout.demo.widgets.client.ui.forms; import java.util.ArrayList; import java.util.Date; import java.util.List; import org.eclipse.scout.commons.annotations.Order; import org.eclipse.scout.commons.exception.ProcessingException; import org.eclipse.scout.commons.holders.Holder; import org.eclipse.scout.rt.client.IClientSession; import org.eclipse.scout.rt.client.ui.basic.calendar.AbstractCalendar; import org.eclipse.scout.rt.client.ui.form.AbstractForm; import org.eclipse.scout.rt.client.ui.form.AbstractFormHandler; import org.eclipse.scout.rt.client.ui.form.fields.button.AbstractCloseButton; import org.eclipse.scout.rt.client.ui.form.fields.calendarfield.AbstractCalendarField; import org.eclipse.scout.rt.client.ui.form.fields.groupbox.AbstractGroupBox; import org.eclipse.scout.rt.extension.client.ui.basic.calendar.provider.AbstractExtensibleCalendarItemProvider; import org.eclipse.scout.rt.shared.TEXTS; import org.eclipse.scout.rt.shared.services.common.calendar.CalendarAppointment; import org.eclipse.scout.rt.shared.services.common.calendar.ICalendarItem; import org.eclipsescout.demo.widgets.client.ui.forms.CalendarFieldForm.MainBox.CalendarField; import org.eclipsescout.demo.widgets.client.ui.forms.CalendarFieldForm.MainBox.CloseButton; public class CalendarFieldForm extends AbstractForm implements IPageForm { public CalendarFieldForm() throws ProcessingException { super(); } @Override protected boolean getConfiguredAskIfNeedSave() { return false; } @Override protected String getConfiguredTitle() { return TEXTS.get("CalendarField"); } @Override public void startPageForm() throws ProcessingException { startInternal(new PageFormHandler()); } public CalendarField getCalendarField() { return getFieldByClass(CalendarField.class); } @Override public CloseButton getCloseButton() { return getFieldByClass(CloseButton.class); } public MainBox getMainBox() { return getFieldByClass(MainBox.class); } @Order(10.0) public class MainBox extends AbstractGroupBox { @Order(10.0) public class CalendarField extends AbstractCalendarField { @Override protected int getConfiguredGridH() { return 20; } @Override protected int getConfiguredGridW() { return 0; } @Override protected boolean getConfiguredLabelVisible() { return false; } @Order(10.0) public class Calendar extends AbstractCalendar { @Order(10.0) public class DefaultItemProvider extends AbstractExtensibleCalendarItemProvider { @Override protected void execLoadItemsInBackground(final IClientSession session, final Date minDate, final Date maxDate, final Holder resultHolder) throws ProcessingException { resultHolder.setValue(getMyCalendarItems()); } } public ICalendarItem[] getMyCalendarItems() throws ProcessingException { final java.util.Calendar cal = java.util.Calendar.getInstance(); final List result = new ArrayList(); cal.setTime(new Date()); cal.set(java.util.Calendar.DAY_OF_MONTH, 31); cal.set(java.util.Calendar.MONTH, 2); cal.set(java.util.Calendar.YEAR, 2014); System.err.println(cal.getTime()); result.add(new CalendarAppointment(1L, 2L, cal.getTime(), cal.getTime(), true, "March 31", "body", "2AD50A")); cal.setTime(new Date()); cal.set(java.util.Calendar.DAY_OF_MONTH, 30); cal.set(java.util.Calendar.MONTH, 2); cal.set(java.util.Calendar.YEAR, 2014); System.err.println(cal.getTime()); result.add(new CalendarAppointment(1L, 2L, cal.getTime(), cal.getTime(), true, "March 30", "body", "9EE0AA")); cal.setTime(new Date()); cal.set(java.util.Calendar.DAY_OF_MONTH, 29); cal.set(java.util.Calendar.MONTH, 2); cal.set(java.util.Calendar.YEAR, 2014); System.err.println(cal.getTime()); result.add(new CalendarAppointment(1L, 2L, cal.getTime(), cal.getTime(), true, "March 29", "body", "9AD5FD")); return result.toArray(new ICalendarItem[]{}); } } } @Order(30.0) public class CloseButton extends AbstractCloseButton { } } public class PageFormHandler extends AbstractFormHandler { } }