View Javadoc

1   package de.jaret.examples.timebars.calendar.model;
2   
3   import de.jaret.util.date.Interval;
4   import de.jaret.util.date.JaretDate;
5   import de.jaret.util.ui.timebars.mod.IntervalModificator;
6   import de.jaret.util.ui.timebars.model.TimeBarRow;
7   
8   public class AppointmentModificator implements IntervalModificator {
9   
10      public double getSecondGridSnap() {
11          return 300;
12      }
13  
14      public boolean isShiftingAllowed(TimeBarRow row, Interval interval) {
15          return ((Appointment) interval).isEditable();
16      }
17  
18      public boolean isSizingAllowed(TimeBarRow row, Interval interval) {
19          return ((Appointment) interval).isEditable();
20      }
21  
22      public boolean newBeginAllowed(TimeBarRow row, Interval interval, JaretDate newBegin) {
23          return CalendarModel.BASEDATE.compareDateTo(newBegin) == 0;
24      }
25  
26      public boolean newEndAllowed(TimeBarRow row, Interval interval, JaretDate newEnd) {
27          return CalendarModel.BASEDATE.compareDateTo(newEnd) == 0;
28      }
29  
30      public boolean shiftAllowed(TimeBarRow row, Interval interval, JaretDate newBegin) {
31          return CalendarModel.BASEDATE.compareDateTo(newBegin) == 0
32                  && CalendarModel.BASEDATE.compareDateTo(newBegin.copy().advanceSeconds(interval.getSeconds())) == 0;
33      }
34  
35      public boolean isApplicable(TimeBarRow row, Interval interval) {
36          return true;
37      }
38  
39  }