Mega Code Archive

 
Categories / Java / GWT
 

Custom Event Calendar Sample (Smart GWT)

/*  * SmartGWT (GWT for SmartClient)  * Copyright 2008 and beyond, Isomorphic Software, Inc.  *  * SmartGWT is free software; you can redistribute it and/or modify it  * under the terms of the GNU Lesser General Public License version 3  * as published by the Free Software Foundation.  SmartGWT is also  * available under typical commercial license terms - see  * http://smartclient.com/license  * This software is distributed in the hope that it will be useful,  * but WITHOUT ANY WARRANTY; without even the implied warranty of  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU  * Lesser General Public License for more details.  */ package com.smartgwt.sample.showcase.client; import java.util.Date; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.RootPanel; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.fields.DataSourceDateField; import com.smartgwt.client.data.fields.DataSourceSequenceField; import com.smartgwt.client.data.fields.DataSourceTextField; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.calendar.Calendar; import com.smartgwt.client.widgets.calendar.CalendarEvent; import com.smartgwt.client.widgets.form.fields.HeaderItem; import com.smartgwt.client.widgets.form.fields.RadioGroupItem; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.TextItem; public class Showcase implements EntryPoint{     public void onModuleLoad() {        RootPanel.get().add(getViewPanel());     }     public Canvas getViewPanel() {       DataSource eventDS = new DataSource();       DataSourceSequenceField eventIdField = new DataSourceSequenceField("eventId");       eventIdField.setPrimaryKey(true);       DataSourceTextField nameField = new DataSourceTextField("name");       DataSourceTextField descField = new DataSourceTextField("description");       DataSourceDateField startDateField = new DataSourceDateField("startDate");       DataSourceDateField endDateField = new DataSourceDateField("endDate");       eventDS.setFields(eventIdField, nameField, descField, startDateField, endDateField);       eventDS.setClientOnly(true);       eventDS.setTestData(CalendarData.getRecords());       Calendar calendar = new Calendar();       calendar.setDataSource(eventDS);       calendar.setAutoFetchData(true);       //specify the last field from the default fields so that subsequent fields come after the       //default fields       TextItem descItem = new TextItem();       descItem.setName("description");       //custom fields below       HeaderItem eventOptions = new HeaderItem();       eventOptions.setDefaultValue("Event Options");       SelectItem repeatsItem = new SelectItem();       repeatsItem.setName("repeats");       repeatsItem.setTitle("Repeats");       repeatsItem.setColSpan(4);       repeatsItem.setDefaultToFirstOption(true);       repeatsItem.setValueMap("Does not repeat", "Daily", "Weekly", "Monthly", "Yearly");       SelectItem reminderItem = new SelectItem();       reminderItem.setName("reminderType");       reminderItem.setTitle("Reminder");       reminderItem.setWidth(70);       reminderItem.setDefaultToFirstOption(true);       reminderItem.setValueMap("Pop-up", "Email");       TextItem reminderValue = new TextItem();       reminderValue.setName("reminderValue");       reminderValue.setShowTitle(false);       reminderValue.setWidth(60);       reminderValue.setDefaultValue(10);       SelectItem reminderUnits = new SelectItem();       reminderUnits.setName("reminderUnits");       reminderUnits.setShowTitle(false);       reminderUnits.setWidth(70);       reminderUnits.setDefaultToFirstOption(false);       reminderUnits.setValueMap("minutes", "hours", "days");       calendar.setEventEditorFields(descItem, eventOptions, repeatsItem, reminderItem, reminderValue, reminderUnits);       TextItem nameItem = new TextItem();       nameItem.setType("text");       nameItem.setName("name");       RadioGroupItem radioGroupItem = new RadioGroupItem("sharing");       radioGroupItem.setTitle("Sharing");       radioGroupItem.setVertical(false);       radioGroupItem.setValueMap("Public", "Private");       radioGroupItem.setWidth(50);              calendar.setEventDialogFields(nameItem, radioGroupItem);       return calendar;            } } class CalendarData {   private static CalendarEvent[] records;   private static Date today = new Date();   private static int year = today.getYear();   private static int month = today.getMonth();   private static int start = today.getDate() - today.getDay();   public static CalendarEvent[] getRecords() {       if (records == null) {           records = getNewRecords();       }       return records;   }   public static CalendarEvent[] getNewRecords() {       return new CalendarEvent[]{               new CalendarEvent(1, "Meeting", "Shareholders meeting: monthly forecast report", new Date(year, month, start + 2, 9, 0, 0), new Date(year, month, start + 2, 14, 0, 0)),               new CalendarEvent(2, "Realtor", "Breakfast with realtor to discuss moving plans", new Date(year, month, start + 3, 8, 0, 0), new Date(year, month, start + 3, 10, 0, 0)),               new CalendarEvent(3, "Soccer", "Little league soccer finals", new Date(year, month, start + 4, 13, 0, 0), new Date(year, month, start + 4, 16, 0, 0)),               new CalendarEvent(4, "Sleep", "Catch up on sleep", new Date(year, month, start + 4, 5, 0, 0), new Date(year, month, start + 4, 9, 0, 0)),               new CalendarEvent(5, "Inspection", "Home inspector coming", new Date(year, month, start + 4, 10, 0, 0), new Date(year, month, start + 4, 12, 0, 0), false, "testStyle"),               new CalendarEvent(6, "Airport run", "Pick James up from the airport", new Date(year, month, start + 4, 1, 0, 0), new Date(year, month, start + 4, 3, 0, 0)),               new CalendarEvent(7, "Dinner Party", "Prepare elaborate meal for friends", new Date(year, month, start + 4, 17, 0, 0), new Date(year, month, start + 4, 20, 0, 0)),               new CalendarEvent(8, "Poker", "Poker at Steve's house", new Date(year, month, start + 4, 21, 0, 0), new Date(year, month, start + 4, 23, 0, 0)),               new CalendarEvent(9, "Meeting", "Board of directors meeting: discussion of next months strategy", new Date(year, month, start + 5, 11, 0, 0), new Date(year, month, start + 5, 15, 0, 0))       };   } }                  SmartGWT.zip( 9,880 k)