GWT Java

/*
 * 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)