fi.helsinki.cs.gist.schedule
Class GDefaultScheduleViewModel

java.lang.Object
  |
  +--fi.helsinki.cs.gist.schedule.GDefaultScheduleViewModel

public class GDefaultScheduleViewModel
extends java.lang.Object
implements GScheduleViewModel


Field Summary
protected  java.util.Calendar calendar
           
protected  int daySheetHeight
           
protected  java.util.Vector dayWidths
           
protected  java.util.Vector gridLines
          Vector that holds y-coordinates for grid lines.
protected  int gridMinuteScale
           
protected  int gridStartY
           
protected  java.beans.PropertyChangeSupport propertyChangeListeners
           
protected  int rangeEndMinute
           
protected  int rangeStartMinute
           
 
Constructor Summary
GDefaultScheduleViewModel()
           
GDefaultScheduleViewModel(java.util.Calendar calendar)
           
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener l)
           
protected  java.util.Vector calculateGridLines()
           
protected  int calculateGridStartY()
           
 int getDaySheetHeight()
           
 java.util.Vector getDayWidths()
           
 int getGridLine(int line)
           
 java.util.Vector getGridLines()
           
 java.util.Vector getGridLineTimes()
          Returns grid line times.
 java.util.Vector getGridLineTimes(java.util.Date day)
          Returns grid line times.
 int getGridScaling()
          Returns grid scaling in minutes.
 int getGridStartY()
           
 int getHourRangeEnd()
          Deprecated. If possible, use Date-objects and getTimeRangeEnd
 int getHourRangeStart()
          Deprecated. If possible, use Date-objects and getTimeRangeStart
 int getLineForTime(java.util.Date time)
           
 java.util.Date getNearestGridTime(java.util.Date time)
          Returns nearest grid time to given time.
 java.util.Date getNearestGridTime(java.awt.Point p)
          Get nearest grid time to point p.
 java.util.Date getNearestGridTime(java.awt.Point p, java.util.Date day)
          Get nearest grid time to point p.
 java.util.Date getTimeRangeEnd()
          Returns end time for visible time range of GSchedule.
 java.util.Date getTimeRangeStart()
          Returns start time for visible time range of GSchedule.
 void init(java.util.Calendar cal)
           
static void main(java.lang.String[] args)
           
protected  java.util.Date minutesFromMidnightToTime(int minutes, java.util.Date day)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener l)
           
 void setDaySheetHeight(int height)
           
 void setDayWidths(java.util.Vector aDayWidths)
           
 void setGridScaling(int gridMinuteScale)
          Sets grid scaling in minutes.
 void setHourRangeEnd(int endHour)
          Deprecated. If possible, use Date-objects and setTimeRangeEnd
 void setHourRangeStart(int startHour)
          Deprecated. If possible, use Date-objects and setTimeRangeStart
 void setTimeRangeEnd(java.util.Date end)
          Sets end time for visible time range of GSchedule
 void setTimeRangeStart(java.util.Date start)
          Sets start time for visible time range of GSchedule
protected  int timeToMinutesFromMidnight(java.util.Date time)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

dayWidths

protected java.util.Vector dayWidths

daySheetHeight

protected int daySheetHeight

gridMinuteScale

protected int gridMinuteScale

gridStartY

protected int gridStartY

gridLines

protected java.util.Vector gridLines
Vector that holds y-coordinates for grid lines. This vector includes first and last lines. Zero-line for these lines is line specified by gridStartY.

rangeStartMinute

protected int rangeStartMinute

rangeEndMinute

protected int rangeEndMinute

calendar

protected java.util.Calendar calendar

propertyChangeListeners

protected transient java.beans.PropertyChangeSupport propertyChangeListeners
Constructor Detail

GDefaultScheduleViewModel

public GDefaultScheduleViewModel()

GDefaultScheduleViewModel

public GDefaultScheduleViewModel(java.util.Calendar calendar)
Method Detail

init

public void init(java.util.Calendar cal)

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Specified by:
addPropertyChangeListener in interface GScheduleViewModel

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener l)
Specified by:
removePropertyChangeListener in interface GScheduleViewModel

setDaySheetHeight

public void setDaySheetHeight(int height)
Specified by:
setDaySheetHeight in interface GScheduleViewModel

getDaySheetHeight

public int getDaySheetHeight()
Specified by:
getDaySheetHeight in interface GScheduleViewModel

getGridStartY

public int getGridStartY()
Specified by:
getGridStartY in interface GScheduleViewModel

getGridLines

public java.util.Vector getGridLines()
Specified by:
getGridLines in interface GScheduleViewModel

getGridLine

public int getGridLine(int line)
Specified by:
getGridLine in interface GScheduleViewModel

setDayWidths

public void setDayWidths(java.util.Vector aDayWidths)
Specified by:
setDayWidths in interface GScheduleViewModel

getDayWidths

public java.util.Vector getDayWidths()
Specified by:
getDayWidths in interface GScheduleViewModel

setTimeRangeStart

public void setTimeRangeStart(java.util.Date start)
Sets start time for visible time range of GSchedule
Specified by:
setTimeRangeStart in interface GScheduleViewModel
Parameters:
start - start time, only HOUR and MINUTE fields are considered

getTimeRangeStart

public java.util.Date getTimeRangeStart()
Returns start time for visible time range of GSchedule.
Specified by:
getTimeRangeStart in interface GScheduleViewModel

setHourRangeStart

public void setHourRangeStart(int startHour)
Deprecated. If possible, use Date-objects and setTimeRangeStart
Sets start hour for visible time range of GSchedule.
Specified by:
setHourRangeStart in interface GScheduleViewModel
See Also:
setTimeRangeStart(Date start)

getHourRangeStart

public int getHourRangeStart()
Deprecated. If possible, use Date-objects and getTimeRangeStart
Returns start hour for visible time range of GSchedule.
Specified by:
getHourRangeStart in interface GScheduleViewModel
See Also:
getTimeRangeStart()

setTimeRangeEnd

public void setTimeRangeEnd(java.util.Date end)
Sets end time for visible time range of GSchedule
Specified by:
setTimeRangeEnd in interface GScheduleViewModel
Parameters:
end - end time, only HOUR and MINUTE fields are considered

getTimeRangeEnd

public java.util.Date getTimeRangeEnd()
Returns end time for visible time range of GSchedule.
Specified by:
getTimeRangeEnd in interface GScheduleViewModel

setHourRangeEnd

public void setHourRangeEnd(int endHour)
Deprecated. If possible, use Date-objects and setTimeRangeEnd
Sets end hour for visible time range of GSchedule.
Specified by:
setHourRangeEnd in interface GScheduleViewModel
See Also:
setTimeRangeEnd(Date end)

getHourRangeEnd

public int getHourRangeEnd()
Deprecated. If possible, use Date-objects and getTimeRangeEnd
Returns end hour for visible time range of GSchedule.
Specified by:
getHourRangeEnd in interface GScheduleViewModel
See Also:
getTimeRangeEnd()

setGridScaling

public void setGridScaling(int gridMinuteScale)
Sets grid scaling in minutes.
Specified by:
setGridScaling in interface GScheduleViewModel

getGridScaling

public int getGridScaling()
Returns grid scaling in minutes.
Specified by:
getGridScaling in interface GScheduleViewModel

getGridLineTimes

public java.util.Vector getGridLineTimes()
Returns grid line times. Year, month and day of times are unspecified and shouldn't be used.
Specified by:
getGridLineTimes in interface GScheduleViewModel

getGridLineTimes

public java.util.Vector getGridLineTimes(java.util.Date day)
Returns grid line times. Year, month and day of times are same as on given day.
Specified by:
getGridLineTimes in interface GScheduleViewModel

getNearestGridTime

public java.util.Date getNearestGridTime(java.util.Date time)
Returns nearest grid time to given time. Year,month and day of returned value are same as of given time.
Specified by:
getNearestGridTime in interface GScheduleViewModel

getNearestGridTime

public java.util.Date getNearestGridTime(java.awt.Point p)
Get nearest grid time to point p. Point p's origo should be (0,gridStartY) in local context. Year, month and day of returned time are unspecified, and shouldn't be used.
Specified by:
getNearestGridTime in interface GScheduleViewModel

getNearestGridTime

public java.util.Date getNearestGridTime(java.awt.Point p,
                                         java.util.Date day)
Get nearest grid time to point p. Point p's origo should be (0,gridStartY) in local context. Year, month and day of returned time are same as given time's.
Specified by:
getNearestGridTime in interface GScheduleViewModel

getLineForTime

public int getLineForTime(java.util.Date time)
Specified by:
getLineForTime in interface GScheduleViewModel

minutesFromMidnightToTime

protected java.util.Date minutesFromMidnightToTime(int minutes,
                                                   java.util.Date day)

timeToMinutesFromMidnight

protected int timeToMinutesFromMidnight(java.util.Date time)

calculateGridStartY

protected int calculateGridStartY()

calculateGridLines

protected java.util.Vector calculateGridLines()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

main

public static void main(java.lang.String[] args)