final String formId = parentFormInfo == null ? null : parentFormInfo.getFormName();
final TreeSet entrySet = new TreeSet(comparator);
for (Iterator entryIterator = day.iterator(); entryIterator.hasNext();)
{
ScheduleEntry entry = (ScheduleEntry) entryIterator.next();
entrySet.add(entry);
}
for (Iterator entryIterator = entrySet.iterator(); entryIterator
.hasNext();)
{
ScheduleEntry entry = (ScheduleEntry) entryIterator.next();
writer.startElement(HTML.TR_ELEM, schedule);
writer.startElement(HTML.TD_ELEM, schedule);
if (isSelected(schedule, entry))
{
writer.writeAttribute(HTML.CLASS_ATTR, getStyleClass(schedule,
"selected"), null);
}
//compose the CSS style for the entry box
StringBuffer entryStyle = new StringBuffer();
entryStyle.append("width: 100%;");
String entryColor = getEntryRenderer(schedule).getColor(context, schedule, entry, isSelected(schedule, entry));
if (isSelected(schedule, entry) && entryColor != null) {
entryStyle.append(" background-color: ");
entryStyle.append(entryColor);
entryStyle.append(";");
entryStyle.append(" border-color: ");
entryStyle.append(entryColor);
entryStyle.append(";");
}
writer.writeAttribute(HTML.STYLE_ATTR, entryStyle.toString(), null);
// draw the tooltip
if (showTooltip(schedule))
{
getEntryRenderer(schedule).renderToolTip(context, writer,
schedule, entry, isSelected(schedule, entry));
}
if (!isSelected(schedule, entry) && !schedule.isReadonly())
{
writer.startElement("a", schedule);
writer.writeAttribute("href", "#", null);
writer.writeAttribute(
HTML.ONMOUSEUP_ATTR,
"fireEntrySelected('"
+ formId + "', '"
+ clientId + "', '"
+ entry.getId()
+ "');",
null);
}
// draw the content