package demo8;
import org.openswing.swing.mdi.client.InternalFrame;
import java.awt.*;
import javax.swing.*;
import org.openswing.swing.gantt.client.*;
import org.openswing.swing.client.*;
import java.awt.event.*;
import java.util.Map;
import org.openswing.swing.message.receive.java.*;
import java.util.ArrayList;
import org.openswing.swing.gantt.java.*;
import java.util.Calendar;
import java.util.HashSet;
import java.util.Date;
/**
* <p>Title: OpenSwing Framework</p>
* <p>Description: Internal Frame with a gantt control inside.</p>
* <p>Copyright: Copyright (C) 2006 Mauro Carniel</p>
* @author Mauro Carniel
* @version 1.0
*/
public class GanttFrame extends InternalFrame {
BorderLayout borderLayout1 = new BorderLayout();
GanttControl gantt = new GanttControl();
public GanttFrame() {
setSize(750,500);
setTitle("Gantt Sample");
try {
jbInit();
GanttDataLocator loc = new GanttDataLocator() {
/**
* Method invoked by the grid to load all rows.
* @param params gantt parameters
* @return response from the server: an object of type VOListResponse if data loading was successfully completed, or an ErrorResponse onject if some error occours
*/
public Response loadData(Map params) {
ArrayList list = new ArrayList();
GanttWorkingHoursVO whVO = new GanttWorkingHoursVO();
Calendar cal = Calendar.getInstance();
cal.set(cal.HOUR_OF_DAY,8);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
whVO.setMorningStartHour(new java.sql.Timestamp(cal.getTimeInMillis()));
cal.set(cal.HOUR_OF_DAY,12);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
whVO.setMorningEndHour(new java.sql.Timestamp(cal.getTimeInMillis()));
cal.set(cal.HOUR_OF_DAY,13);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
whVO.setAfternoonStartHour(new java.sql.Timestamp(cal.getTimeInMillis()));
cal.set(cal.HOUR_OF_DAY,17);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
whVO.setAfternoonEndHour(new java.sql.Timestamp(cal.getTimeInMillis()));
HashSet set = new HashSet();
AppointmentVO appVO = new AppointmentVO();
appVO.setForegroundColor(Color.black);
appVO.setDescription("job1");
cal.set(cal.HOUR_OF_DAY,8);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
appVO.setStartDate(new java.sql.Timestamp(cal.getTimeInMillis()));
cal.set(cal.HOUR_OF_DAY,12);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
appVO.setEndDate(new java.sql.Timestamp(cal.getTimeInMillis()));
appVO.setEnableDelete(true);
appVO.setEnableEdit(true);
set.add(appVO);
GanttRowVO vo = new GanttRowVO();
vo.setAppointmentClass(AppointmentVO.class);
vo.setLegend(new Object[]{"William Smith"});
vo.setMondayWorkingHours(whVO);
vo.setTuesdayWorkingHours(whVO);
vo.setWednesdayWorkingHours(whVO);
vo.setThursdayWorkingHours(whVO);
vo.setFridayWorkingHours(whVO);
vo.setSaturdayWorkingHours(whVO);
vo.setSundayWorkingHours(whVO);
vo.setAppointments(set);
list.add(vo);
set = new HashSet();
appVO = new AppointmentVO();
appVO.setForegroundColor(Color.lightGray);
appVO.setDescription("job2");
cal.set(cal.HOUR_OF_DAY,0);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
appVO.setStartDate(new java.sql.Timestamp(cal.getTimeInMillis()));
cal.set(cal.HOUR_OF_DAY,24);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
appVO.setEndDate(new java.sql.Timestamp(cal.getTimeInMillis()));
appVO.setEnableDelete(true);
appVO.setEnableEdit(true);
set.add(appVO);
vo = new GanttRowVO();
vo.setAppointmentClass(AppointmentVO.class);
vo.setLegend(new Object[]{"John Doe"});
vo.setMondayWorkingHours(whVO);
vo.setTuesdayWorkingHours(whVO);
vo.setWednesdayWorkingHours(whVO);
vo.setThursdayWorkingHours(whVO);
vo.setFridayWorkingHours(whVO);
vo.setSaturdayWorkingHours(whVO);
vo.setSundayWorkingHours(whVO);
vo.setAppointments(set);
list.add(vo);
set = new HashSet();
appVO = new AppointmentVO();
appVO.setForegroundColor(Color.gray);
appVO.setDescription("job3");
cal.set(cal.HOUR_OF_DAY,13);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
appVO.setStartDate(new java.sql.Timestamp(cal.getTimeInMillis()));
cal.set(cal.DAY_OF_MONTH,cal.get(cal.DAY_OF_MONTH)+2);
cal.set(cal.HOUR_OF_DAY,12);
cal.set(cal.MINUTE,0);
cal.set(cal.SECOND,0);
cal.set(cal.MILLISECOND,0);
appVO.setEndDate(new java.sql.Timestamp(cal.getTimeInMillis()));
appVO.setEnableDelete(true);
appVO.setEnableEdit(true);
set.add(appVO);
vo = new GanttRowVO();
vo.setAppointmentClass(AppointmentVO.class);
vo.setLegend(new Object[]{"Frank Porter"});
vo.setMondayWorkingHours(whVO);
vo.setTuesdayWorkingHours(whVO);
vo.setWednesdayWorkingHours(whVO);
vo.setThursdayWorkingHours(whVO);
vo.setFridayWorkingHours(whVO);
vo.setSaturdayWorkingHours(whVO);
vo.setSundayWorkingHours(whVO);
vo.setAppointments(set);
list.add(vo);
return new VOListResponse(list,false,list.size());
}
};
gantt.setGanttDataLocator(loc);
gantt.init(new String[]{"Employee"});
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(borderLayout1);
this.getContentPane().add(gantt, BorderLayout.CENTER);
}
}