org.apache.myfaces.custom.schedule.renderer
Class AbstractCompactScheduleRenderer

java.lang.Object
  extended by javax.faces.render.Renderer
      extended by org.apache.myfaces.custom.schedule.renderer.AbstractScheduleRenderer
          extended by org.apache.myfaces.custom.schedule.renderer.AbstractCompactScheduleRenderer
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ScheduleCompactMonthRenderer, ScheduleCompactWeekRenderer

public abstract class AbstractCompactScheduleRenderer
extends AbstractScheduleRenderer
implements java.io.Serializable

Abstract superclass for the week and month view renderers.

Version:
$Revision: 398348 $
Author:
Jurgen Lust (latest modification by $Author: jlust $), Bruno Aranda (adaptation of Jurgen's code to myfaces)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.myfaces.custom.schedule.renderer.AbstractScheduleRenderer
comparator, DEFAULT_THEME, EVOLUTION_THEME, LAST_CLICKED_DATE, LAST_CLICKED_Y, OUTLOOK_THEME
 
Constructor Summary
AbstractCompactScheduleRenderer()
           
 
Method Summary
protected  java.util.Date determineLastClickedDate(HtmlSchedule schedule, java.lang.String dateId, java.lang.String yPos)
          In the compact renderer, we don't take the y coordinate of the mouse into account when determining the last clicked date.
 void encodeChildren(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
           
 void encodeEnd(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)
           
protected abstract  int getDefaultRowHeight()
           
protected  int getRowHeight(java.util.Map attributes)
           
protected abstract  java.lang.String getRowHeightProperty()
           
protected  void writeDayCell(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter writer, HtmlSchedule schedule, ScheduleDay day, float cellWidth, int dayOfWeek, int dayOfMonth, boolean isWeekend, boolean isCurrentMonth, int rowspan)
           Draw one day in the schedule
protected  void writeEntries(javax.faces.context.FacesContext context, HtmlSchedule schedule, ScheduleDay day, javax.faces.context.ResponseWriter writer)
           Draw the schedule entries in the specified day cell
 
Methods inherited from class org.apache.myfaces.custom.schedule.renderer.AbstractScheduleRenderer
decode, encodeBegin, getDateString, getEntryRenderer, getHeaderDateFormat, getStyleClass, getTheme, showTooltip
 
Methods inherited from class javax.faces.render.Renderer
convertClientId, getConvertedValue, getRendersChildren
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractCompactScheduleRenderer

public AbstractCompactScheduleRenderer()
Method Detail

encodeChildren

public void encodeChildren(javax.faces.context.FacesContext context,
                           javax.faces.component.UIComponent component)
                    throws java.io.IOException
Overrides:
encodeChildren in class javax.faces.render.Renderer
Throws:
java.io.IOException
See Also:
Renderer.encodeChildren(javax.faces.context.FacesContext, javax.faces.component.UIComponent)

encodeEnd

public void encodeEnd(javax.faces.context.FacesContext context,
                      javax.faces.component.UIComponent component)
               throws java.io.IOException
Overrides:
encodeEnd in class javax.faces.render.Renderer
Throws:
java.io.IOException
See Also:
Renderer.encodeEnd(javax.faces.context.FacesContext, javax.faces.component.UIComponent)

getDefaultRowHeight

protected abstract int getDefaultRowHeight()
Specified by:
getDefaultRowHeight in class AbstractScheduleRenderer
Returns:
The default height, in pixels, of one row in the schedule grid

getRowHeightProperty

protected abstract java.lang.String getRowHeightProperty()
Specified by:
getRowHeightProperty in class AbstractScheduleRenderer
Returns:
The name of the property that determines the row height

getRowHeight

protected int getRowHeight(java.util.Map attributes)
Overrides:
getRowHeight in class AbstractScheduleRenderer
Parameters:
attributes - The attributes
Returns:
The row height, in pixels

writeDayCell

protected void writeDayCell(javax.faces.context.FacesContext context,
                            javax.faces.context.ResponseWriter writer,
                            HtmlSchedule schedule,
                            ScheduleDay day,
                            float cellWidth,
                            int dayOfWeek,
                            int dayOfMonth,
                            boolean isWeekend,
                            boolean isCurrentMonth,
                            int rowspan)
                     throws java.io.IOException

Draw one day in the schedule

Parameters:
context - the FacesContext
writer - the ResponseWriter
schedule - the schedule
day - the day that should be drawn
cellWidth - the width of the cell
dayOfWeek - the day of the week
dayOfMonth - the day of the month
isWeekend - is it a weekend day?
isCurrentMonth - is the day in the currently selected month?
rowspan - the rowspan for the table cell
Throws:
java.io.IOException - when the cell could not be drawn

writeEntries

protected void writeEntries(javax.faces.context.FacesContext context,
                            HtmlSchedule schedule,
                            ScheduleDay day,
                            javax.faces.context.ResponseWriter writer)
                     throws java.io.IOException

Draw the schedule entries in the specified day cell

Parameters:
context - the FacesContext
schedule - the schedule
day - the day
writer - the ResponseWriter
Throws:
java.io.IOException - when the entries could not be drawn

determineLastClickedDate

protected java.util.Date determineLastClickedDate(HtmlSchedule schedule,
                                                  java.lang.String dateId,
                                                  java.lang.String yPos)
In the compact renderer, we don't take the y coordinate of the mouse into account when determining the last clicked date.

Specified by:
determineLastClickedDate in class AbstractScheduleRenderer
Parameters:
schedule - the schedule component
dateId - the string identifying the date
yPos - the y coordinate of the mouse
Returns:
the clicked date


Copyright © 2010. All Rights Reserved.