public void doSizing() { if (calendarWidget.getOffsetHeight() > 0) { dayViewBody.setHeight( calendarWidget.getOffsetHeight() - 2 - dayViewHeader.getOffsetHeight() - multiViewBody.getOffsetHeight() + "px"); } // multiViewBody.grid.setHeight(desiredHeight + "px"); }
public void doLayout() { // PERFORM APPOINTMENT LAYOUT NOW Date d = (Date) calendarWidget.getDate().clone(); multiViewBody.setDays((Date) d.clone(), calendarWidget.getDays()); dayViewHeader.setDays((Date) d.clone(), calendarWidget.getDays()); dayViewHeader.setYear((Date) d.clone()); dayViewBody.setDays((Date) d.clone(), calendarWidget.getDays()); dayViewBody.getTimeline().prepare(); dropController.setColumns(calendarWidget.getDays()); dropController.setIntervalsPerHour(calendarWidget.getSettings().getIntervalsPerHour()); dropController.setDate((Date) calendarWidget.getDate().clone()); dropController.setSnapSize(calendarWidget.getSettings().getPixelsPerInterval()); resizeController.setIntervalsPerHour(calendarWidget.getSettings().getIntervalsPerHour()); resizeController.setSnapSize(calendarWidget.getSettings().getPixelsPerInterval()); this.selectedAppointmentWidgets.clear(); appointmentWidgets.clear(); // HERE IS WHERE WE DO THE LAYOUT Date tmpDate = (Date) calendarWidget.getDate().clone(); for (int i = 0; i < calendarWidget.getDays(); i++) { ArrayList<Appointment> filteredList = AppointmentUtil.filterListByDate(calendarWidget.getAppointments(), tmpDate); // perform layout ArrayList<AppointmentAdapter> appointmentAdapters = layoutStrategy.doLayout(filteredList, i, calendarWidget.getDays()); // add all appointments back to the grid for (AppointmentAdapter appt : appointmentAdapters) { AppointmentWidget panel = new AppointmentWidget(); panel.setWidth(appt.getWidth()); panel.setHeight(appt.getHeight()); panel.setTitle(appt.getAppointment().getTitle()); panel.setTop(appt.getTop()); panel.setLeft(appt.getLeft()); panel.setAppointment(appt.getAppointment()); panel.setDescription(appt.getAppointment().getDescription()); // panel.setAppointmentStyle(appt.getAppointment().getAppointmentStyle()); dayViewBody.getGrid().grid.add(panel); boolean selected = calendarWidget.isTheSelectedAppointment(panel.getAppointment()); if (selected) { // panel.addStyleDependentName("selected"); // panel.setSelected(true);//TODO Move to styleManager selectedAppointmentWidgets.add(panel); } styleManager.applyStyle(panel, selected); appointmentWidgets.add(panel); // make footer 'draggable' // resizeController.makeDraggable(panel.getResizeHandle()); // dragController.makeDraggable(panel, panel.getMoveHandle()); } tmpDate.setDate(tmpDate.getDate() + 1); } ArrayList<Appointment> filteredList = AppointmentUtil.filterListByDateRange( calendarWidget.getAppointments(), calendarWidget.getDate(), calendarWidget.getDays()); ArrayList<AppointmentAdapter> adapterList = new ArrayList<AppointmentAdapter>(); int desiredHeight = layoutStrategy.doMultiDayLayout( filteredList, adapterList, calendarWidget.getDate(), calendarWidget.getDays()); multiViewBody.grid.setHeight(desiredHeight + "px"); for (AppointmentAdapter appt : adapterList) { AppointmentWidget panel = new AppointmentWidget(); // panel.addStyleName(appt.getAppointment().getStyle()); // panel.setStylePrimaryName("dv-appointment-multiday");//TODO Move to styleManager panel.setWidth(appt.getWidth()); panel.setHeight(appt.getHeight()); panel.setTitle(appt.getAppointment().getTitle()); panel.setTop(appt.getTop()); panel.setLeft(appt.getLeft()); panel.setAppointment(appt.getAppointment()); panel.setMultiDay(true); // panel.setAppointmentStyle(appt.getAppointment().getAppointmentStyle()); // dayViewBody.getGrid().grid.add(panel); boolean selected = calendarWidget.isTheSelectedAppointment(panel.getAppointment()); if (selected) { // panel.setSelected(true); //TODO: Move to styleManager // panel.addStyleDependentName("selected"); selectedAppointmentWidgets.add(panel); } styleManager.applyStyle(panel, selected); appointmentWidgets.add(panel); this.multiViewBody.grid.add(panel); } }