You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/07/28 13:53:59 UTC
svn commit: r225754 [2/3] - in /myfaces: examples/trunk/sandbox/
examples/trunk/sandbox/WEB-INF/
examples/trunk/sandbox/src/java/org/apache/myfaces/examples/schedule/
sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/
sandbox/trunk/src/java/org...
Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/renderer/ScheduleDetailedDayRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/renderer/ScheduleDetailedDayRenderer.java?rev=225754&r1=225753&r2=225754&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/renderer/ScheduleDetailedDayRenderer.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/renderer/ScheduleDetailedDayRenderer.java Thu Jul 28 04:53:37 2005
@@ -16,7 +16,6 @@
package org.apache.myfaces.custom.schedule.renderer;
-
import java.io.IOException;
import java.util.Calendar;
import java.util.GregorianCalendar;
@@ -34,7 +33,6 @@
import org.apache.myfaces.custom.schedule.model.ScheduleEntry;
import org.apache.myfaces.renderkit.html.HTML;
-
/**
* <p>
* Renderer for the day and workweek views of the Schedule component
@@ -44,8 +42,7 @@
* @author Bruno Aranda (adaptation of Jurgen's code to myfaces)
* @version $Revision$
*/
-public class ScheduleDetailedDayRenderer
- extends AbstractScheduleRenderer
+public class ScheduleDetailedDayRenderer extends AbstractScheduleRenderer
{
//~ Instance fields --------------------------------------------------------
@@ -57,13 +54,11 @@
* @see javax.faces.render.Renderer#encodeBegin(javax.faces.context.FacesContext,
* javax.faces.component.UIComponent)
*/
- public void encodeBegin(
- FacesContext context,
- UIComponent component
- )
- throws IOException
+ public void encodeBegin(FacesContext context, UIComponent component)
+ throws IOException
{
- if (!component.isRendered()) {
+ if (!component.isRendered())
+ {
return;
}
@@ -75,9 +70,8 @@
//the number of rows in the grid is the number of half hours between
//visible start hour and visible end hour, plus 1 for the header
- int numberOfRows =
- ((schedule.getVisibleEndHour() - schedule.getVisibleStartHour()) * 2) +
- 1;
+ int numberOfRows = ((schedule.getVisibleEndHour() - schedule
+ .getVisibleStartHour()) * 2) + 1;
//the grid height = 22 pixels times the number of rows + 3, for the
//table border and the cellpadding
@@ -86,11 +80,8 @@
//container div for the schedule grid
writer.startElement(HTML.DIV_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "schedule-detailed", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "height: " + String.valueOf(gridHeight) + "px; overflow: hidden;",
- null
- );
+ writer.writeAttribute(HTML.STYLE_ATTR, "height: "
+ + String.valueOf(gridHeight) + "px; overflow: hidden;", null);
writeBackground(context, schedule, writer);
writeForegroundStart(context, schedule, writer);
}
@@ -99,13 +90,11 @@
* @see javax.faces.render.Renderer#encodeChildren(javax.faces.context.FacesContext,
* javax.faces.component.UIComponent)
*/
- public void encodeChildren(
- FacesContext context,
- UIComponent component
- )
- throws IOException
+ public void encodeChildren(FacesContext context, UIComponent component)
+ throws IOException
{
- if (!component.isRendered()) {
+ if (!component.isRendered())
+ {
return;
}
@@ -113,21 +102,20 @@
Map attributes = schedule.getAttributes();
ResponseWriter writer = context.getResponseWriter();
- for (
- Iterator dayIterator = schedule.getModel().iterator();
- dayIterator.hasNext();
- ) {
+ for (Iterator dayIterator = schedule.getModel().iterator(); dayIterator
+ .hasNext();)
+ {
ScheduleDay day = (ScheduleDay) dayIterator.next();
writer.startElement(HTML.TD_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "column", null);
writer.writeAttribute(HTML.STYLE_ATTR, "height: 100%;", null);
writer.startElement(HTML.DIV_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "column", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "position: relative; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 0;",
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "position: relative; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 0;",
+ null);
writeEntries(context, schedule, day, writer);
writer.endElement(HTML.DIV_ELEM);
writer.endElement(HTML.TD_ELEM);
@@ -138,13 +126,11 @@
* @see javax.faces.render.Renderer#encodeEnd(javax.faces.context.FacesContext,
* javax.faces.component.UIComponent)
*/
- public void encodeEnd(
- FacesContext context,
- UIComponent component
- )
- throws IOException
+ public void encodeEnd(FacesContext context, UIComponent component)
+ throws IOException
{
- if (!component.isRendered()) {
+ if (!component.isRendered())
+ {
return;
}
@@ -156,70 +142,61 @@
writer.endElement(HTML.DIV_ELEM);
}
- private String getCellClass(
- HtmlSchedule schedule,
- int column,
- int row
- )
+ private String getCellClass(HtmlSchedule schedule, int column, int row)
{
String cellClass = "free";
ScheduleDay day = (ScheduleDay) schedule.getModel().get(column);
- if (!day.isWorkingDay()) {
+ if (!day.isWorkingDay())
+ {
return cellClass;
}
- if (
- ((schedule.getVisibleStartHour() + (row / 2)) >= schedule.getWorkingStartHour()) &&
- ((schedule.getVisibleStartHour() + (row / 2)) < schedule.getWorkingEndHour())
- ) {
+ if (((schedule.getVisibleStartHour() + (row / 2)) >= schedule
+ .getWorkingStartHour())
+ && ((schedule.getVisibleStartHour() + (row / 2)) < schedule
+ .getWorkingEndHour()))
+ {
cellClass = ((row % 2) == 0) ? "even" : "uneven";
}
return cellClass;
}
- private boolean isSelected(
- HtmlSchedule schedule,
- EntryWrapper entry
- )
+ private boolean isSelected(HtmlSchedule schedule, EntryWrapper entry)
{
ScheduleEntry selectedEntry = schedule.getModel().getSelectedEntry();
- if (selectedEntry == null) {
+ if (selectedEntry == null)
+ {
return false;
}
- boolean returnboolean =
- selectedEntry.getId().equals(entry.entry.getId());
+ boolean returnboolean = selectedEntry.getId().equals(
+ entry.entry.getId());
return returnboolean;
}
- private void maximizeEntries(
- EntryWrapper[] entries,
- int numberOfColumns
- )
+ private void maximizeEntries(EntryWrapper[] entries, int numberOfColumns)
{
- for (int i = 0; i < entries.length; i++) {
+ for (int i = 0; i < entries.length; i++)
+ {
EntryWrapper entry = entries[i];
//now see if we can expand the entry to the columns on the right
- while (
- ((entry.column + entry.colspan) < numberOfColumns) &&
- entry.canFitInColumn(entry.column + entry.colspan)
- ) {
+ while (((entry.column + entry.colspan) < numberOfColumns)
+ && entry.canFitInColumn(entry.column + entry.colspan))
+ {
entry.colspan++;
}
}
}
- private void scanEntries(
- EntryWrapper[] entries,
- int index
- )
+ private void scanEntries(EntryWrapper[] entries, int index)
{
- if (entries.length <= 0) {
+ if (entries.length <= 0)
+ {
return;
}
@@ -227,120 +204,118 @@
entry.column = 0;
//see what columns are already taken
- for (int i = 0; i < index; i++) {
- if (entry.overlaps(entries[i])) {
+ for (int i = 0; i < index; i++)
+ {
+ if (entry.overlaps(entries[i]))
+ {
entry.overlappingEntries.add(entries[i]);
entries[i].overlappingEntries.add(entry);
}
}
//find an available column
- while (!entry.canFitInColumn(entry.column)) {
+ while (!entry.canFitInColumn(entry.column))
+ {
entry.column++;
}
//recursively scan the remaining entries for overlaps
- if (++index < entries.length) {
+ if (++index < entries.length)
+ {
scanEntries(entries, index);
}
}
- private void writeBackground(
- FacesContext context,
- HtmlSchedule schedule,
- ResponseWriter writer
- )
- throws IOException
+ private void writeBackground(FacesContext context, HtmlSchedule schedule,
+ ResponseWriter writer) throws IOException
{
//a calendar component should always be inside a UIForm
UIForm parentForm = getParentForm(schedule);
- if (parentForm == null) {
+ if (parentForm == null)
+ {
throw new NullPointerException("No parent UIForm found");
}
writer.startElement(HTML.DIV_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "background", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 0;",
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 0;",
+ null);
//background table for the schedule grid
writer.startElement(HTML.TABLE_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "background", null);
writer.writeAttribute(HTML.CELLPADDING_ATTR, "0", null);
writer.writeAttribute(HTML.CELLSPACING_ATTR, "1", null);
- writer.writeAttribute(HTML.STYLE_ATTR, "width: 100%; height: 100%", null);
+ writer.writeAttribute(HTML.STYLE_ATTR, "width: 100%; height: 100%",
+ null);
writer.startElement(HTML.TBODY_ELEM, schedule);
//header row, containing the column names
writer.startElement(HTML.TR_ELEM, schedule);
writer.startElement(HTML.TD_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "gutter", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "height: 21px; border-style: none; border-width: 0px; overflow: hidden; padding: 0px",
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "height: 21px; border-style: none; border-width: 0px; overflow: hidden; padding: 0px",
+ null);
writer.startElement(HTML.DIV_ELEM, schedule);
- writer.writeAttribute(HTML.STYLE_ATTR, "height: 1px; width: 56px", null);
+ writer
+ .writeAttribute(HTML.STYLE_ATTR, "height: 1px; width: 56px",
+ null);
writer.endElement(HTML.DIV_ELEM);
writer.endElement(HTML.TD_ELEM);
- float columnWidth =
- (schedule.getModel().size() == 0) ? 100
- : (100 / schedule.getModel().size());
-
- for (
- Iterator dayIterator = schedule.getModel().iterator();
- dayIterator.hasNext();
- ) {
+ float columnWidth = (schedule.getModel().size() == 0) ? 100
+ : (100 / schedule.getModel().size());
+
+ for (Iterator dayIterator = schedule.getModel().iterator(); dayIterator
+ .hasNext();)
+ {
ScheduleDay day = (ScheduleDay) dayIterator.next();
writer.startElement(HTML.TD_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "header", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "height: 31px; border-style: none; border-width: 0px; overflow: hidden;",
- null
- );
- writer.writeAttribute(
- HTML.WIDTH_ATTR, String.valueOf(columnWidth) + "%", null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "height: 31px; border-style: none; border-width: 0px; overflow: hidden;",
+ null);
+ writer.writeAttribute(HTML.WIDTH_ATTR, String.valueOf(columnWidth)
+ + "%", null);
writer.startElement(HTML.DIV_ELEM, schedule);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "position: relative; left: 0px; top: 0px; width: 100%; height: 100%;",
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "position: relative; left: 0px; top: 0px; width: 100%; height: 100%;",
+ null);
//write the date
writer.startElement(HTML.SPAN_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "date", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "position: absolute; left: 0px; top: 0px; height: 15px; width: 100%; vertical-align: top; overflow: hidden; white-space: nowrap;",
- null
- );
- writer.writeText(
- getDateString(context, schedule.getAttributes(), day.getDate()),
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "position: absolute; left: 0px; top: 0px; height: 15px; width: 100%; vertical-align: top; overflow: hidden; white-space: nowrap;",
+ null);
+ writer.writeText(getDateString(context, schedule, day.getDate()),
+ null);
writer.endElement(HTML.SPAN_ELEM);
//write the name of the holiday, if there is one
- if (
- (day.getSpecialDayName() != null) &&
- (day.getSpecialDayName().length() > 0)
- ) {
+ if ((day.getSpecialDayName() != null)
+ && (day.getSpecialDayName().length() > 0))
+ {
writer.startElement(HTML.SPAN_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "holiday", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "position: absolute; left: 0px; top: 15px; width: 100%; vertical-align: top; overflow: hidden; white-space: nowrap;",
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "position: absolute; left: 0px; top: 15px; width: 100%; vertical-align: top; overflow: hidden; white-space: nowrap;",
+ null);
writer.writeText(day.getSpecialDayName(), null);
writer.endElement(HTML.SPAN_ELEM);
}
@@ -351,59 +326,54 @@
writer.endElement(HTML.TR_ELEM);
- int numberOfRows =
- (schedule.getVisibleEndHour() - schedule.getVisibleStartHour()) * 2;
+ int numberOfRows = (schedule.getVisibleEndHour() - schedule
+ .getVisibleStartHour()) * 2;
- for (int row = 0; row < numberOfRows; row++) {
+ for (int row = 0; row < numberOfRows; row++)
+ {
writer.startElement(HTML.TR_ELEM, schedule);
//write the hours of the day on the left
//this only happens on even rows, or every hour
- if ((row % 2) == 0) {
+ if ((row % 2) == 0)
+ {
writer.startElement(HTML.TD_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "gutter", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "height: 21px; border-style: none; border-width: 0px; overflow: hidden; padding: 0px",
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "height: 21px; border-style: none; border-width: 0px; overflow: hidden; padding: 0px",
+ null);
writer.writeAttribute("rowspan", "2", null);
writer.startElement(HTML.SPAN_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "hours", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR, "vertical-align: top; height: 100%; padding: 0px;",
- null
- );
- writer.writeText(
- String.valueOf(schedule.getVisibleStartHour() + (row / 2)),
- null
- );
+ writer.writeAttribute(HTML.STYLE_ATTR,
+ "vertical-align: top; height: 100%; padding: 0px;",
+ null);
+ writer.writeText(String.valueOf(schedule.getVisibleStartHour()
+ + (row / 2)), null);
writer.endElement(HTML.SPAN_ELEM);
writer.startElement(HTML.SPAN_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "minutes", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR, "vertical-align: top; height: 100%; padding: 0px;",
- null
- );
+ writer.writeAttribute(HTML.STYLE_ATTR,
+ "vertical-align: top; height: 100%; padding: 0px;",
+ null);
writer.writeText("00", null);
writer.endElement(HTML.SPAN_ELEM);
writer.endElement(HTML.TD_ELEM);
}
//write the cells of the day columns on this row
- for (int column = 0; column < schedule.getModel().size();
- column++
- ) {
+ for (int column = 0; column < schedule.getModel().size(); column++)
+ {
writer.startElement(HTML.TD_ELEM, schedule);
- writer.writeAttribute(
- HTML.CLASS_ATTR, getCellClass(schedule, column, row), null
- );
- writer.writeAttribute(
- HTML.STYLE_ATTR, "overflow: hidden; height: 21px;", null
- );
- writer.writeAttribute(
- HTML.WIDTH_ATTR, String.valueOf(columnWidth) + "%", null
- );
+ writer.writeAttribute(HTML.CLASS_ATTR, getCellClass(schedule,
+ column, row), null);
+ writer.writeAttribute(HTML.STYLE_ATTR,
+ "overflow: hidden; height: 21px;", null);
+ writer.writeAttribute(HTML.WIDTH_ATTR, String
+ .valueOf(columnWidth)
+ + "%", null);
writer.write(HTML.NBSP_ENTITY);
writer.endElement(HTML.TD_ELEM);
}
@@ -416,27 +386,20 @@
writer.endElement(HTML.DIV_ELEM);
}
- private void writeEntries(
- FacesContext context,
- HtmlSchedule schedule,
- ScheduleDay day,
- ResponseWriter writer
- )
- throws IOException
+ private void writeEntries(FacesContext context, HtmlSchedule schedule,
+ ScheduleDay day, ResponseWriter writer) throws IOException
{
TreeSet entrySet = new TreeSet();
Map attributes = schedule.getAttributes();
- for (Iterator entryIterator = day.iterator(); entryIterator.hasNext();) {
- entrySet.add(
- new EntryWrapper((ScheduleEntry) entryIterator.next(), day)
- );
+ for (Iterator entryIterator = day.iterator(); entryIterator.hasNext();)
+ {
+ entrySet.add(new EntryWrapper((ScheduleEntry) entryIterator.next(),
+ day));
}
- EntryWrapper[] entries =
- (EntryWrapper[]) entrySet.toArray(
- new EntryWrapper[entrySet.size()]
- );
+ EntryWrapper[] entries = (EntryWrapper[]) entrySet
+ .toArray(new EntryWrapper[entrySet.size()]);
//determine overlaps
scanEntries(entries, 0);
@@ -444,10 +407,9 @@
//determine the number of columns within this day
int maxColumn = 0;
- for (
- Iterator entryIterator = entrySet.iterator();
- entryIterator.hasNext();
- ) {
+ for (Iterator entryIterator = entrySet.iterator(); entryIterator
+ .hasNext();)
+ {
EntryWrapper wrapper = (EntryWrapper) entryIterator.next();
maxColumn = Math.max(wrapper.column, maxColumn);
}
@@ -463,34 +425,30 @@
UIForm parentForm = getParentForm(schedule);
//and now draw the entries in the columns
- for (
- Iterator entryIterator = entrySet.iterator();
- entryIterator.hasNext();
- ) {
+ for (Iterator entryIterator = entrySet.iterator(); entryIterator
+ .hasNext();)
+ {
EntryWrapper wrapper = (EntryWrapper) entryIterator.next();
- if (isSelected(schedule, wrapper)) {
+ if (isSelected(schedule, wrapper))
+ {
writer.startElement(HTML.DIV_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "entry-selected", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR, wrapper.getBounds(schedule, columnWidth), null
- );
+ writer.writeAttribute(HTML.STYLE_ATTR, wrapper.getBounds(
+ schedule, columnWidth), null);
//draw the tooltip
- if (showTooltip(schedule.getAttributes())) {
- writer.writeAttribute(
- "onmouseover",
- getTooltipText(wrapper.entry, schedule.getAttributes()),
- null
- );
+ if (showTooltip(schedule))
+ {
+ writer.writeAttribute("onmouseover", getTooltipText(
+ wrapper.entry, schedule), null);
}
//draw the contents of the selected entry
writer.startElement(HTML.DIV_ELEM, null);
writer.writeAttribute(HTML.CLASS_ATTR, "text", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR, "height: 100%; width: 100%;", null
- );
+ writer.writeAttribute(HTML.STYLE_ATTR,
+ "height: 100%; width: 100%;", null);
writer.startElement(HTML.SPAN_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "title", null);
writer.writeText(wrapper.entry.getTitle(), null);
@@ -503,23 +461,23 @@
writer.endElement(HTML.SPAN_ELEM);
writer.endElement(HTML.DIV_ELEM);
writer.endElement(HTML.DIV_ELEM);
- } else {
+ }
+ else
+ {
//if the schedule is read-only, the entries should not be
//hyperlinks
writer.startElement(
- schedule.isReadonly() ? HTML.DIV_ELEM : "a", schedule
- );
+ schedule.isReadonly() ? HTML.DIV_ELEM : "a", schedule);
//draw the tooltip
- if (showTooltip(schedule.getAttributes())) {
- writer.writeAttribute(
- "onmouseover",
- getTooltipText(wrapper.entry, schedule.getAttributes()),
- null
- );
+ if (showTooltip(schedule))
+ {
+ writer.writeAttribute("onmouseover", getTooltipText(
+ wrapper.entry, schedule), null);
}
- if (!schedule.isReadonly()) {
+ if (!schedule.isReadonly())
+ {
writer.writeAttribute("href", "#", null);
String clientId = schedule.getClientId(context);
@@ -533,15 +491,13 @@
mousedown.append("'; document.forms['");
mousedown.append(parentForm.getClientId(context));
mousedown.append("'].submit()");
- writer.writeAttribute(
- "onmousedown", mousedown.toString(), null
- );
+ writer.writeAttribute("onmousedown", mousedown.toString(),
+ null);
}
writer.writeAttribute(HTML.CLASS_ATTR, "entry", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR, wrapper.getBounds(schedule, columnWidth), null
- );
+ writer.writeAttribute(HTML.STYLE_ATTR, wrapper.getBounds(
+ schedule, columnWidth), null);
writer.startElement(HTML.SPAN_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "title", null);
writer.writeText(wrapper.entry.getTitle(), null);
@@ -557,64 +513,56 @@
}
}
- private void writeForegroundEnd(
- FacesContext context,
- HtmlSchedule schedule,
- ResponseWriter writer
- )
- throws IOException
+ private void writeForegroundEnd(FacesContext context,
+ HtmlSchedule schedule, ResponseWriter writer) throws IOException
{
writer.endElement(HTML.TR_ELEM);
writer.endElement(HTML.TABLE_ELEM);
writer.endElement(HTML.DIV_ELEM);
}
- private void writeForegroundStart(
- FacesContext context,
- HtmlSchedule schedule,
- ResponseWriter writer
- )
- throws IOException
+ private void writeForegroundStart(FacesContext context,
+ HtmlSchedule schedule, ResponseWriter writer) throws IOException
{
writer.startElement(HTML.DIV_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "foreground", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 2;",
- null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 2;",
+ null);
writer.startElement(HTML.TABLE_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "foreground", null);
writer.writeAttribute(HTML.CELLSPACING_ATTR, "1", null);
writer.writeAttribute(HTML.CELLPADDING_ATTR, "0", null);
- writer.writeAttribute(HTML.STYLE_ATTR, "width: 100%; height: 100%", null);
+ writer.writeAttribute(HTML.STYLE_ATTR, "width: 100%; height: 100%",
+ null);
writer.startElement(HTML.TR_ELEM, schedule);
writer.startElement(HTML.TD_ELEM, schedule);
writer.startElement(HTML.DIV_ELEM, schedule);
- writer.writeAttribute(HTML.STYLE_ATTR, "height: 1px; width: 56px", null);
+ writer
+ .writeAttribute(HTML.STYLE_ATTR, "height: 1px; width: 56px",
+ null);
writer.endElement(HTML.DIV_ELEM);
writer.endElement(HTML.TD_ELEM);
- float columnWidth =
- (schedule.getModel().size() == 0) ? 100
- : (100 / schedule.getModel().size());
-
- for (
- Iterator dayIterator = schedule.getModel().iterator();
- dayIterator.hasNext();
- ) {
+ float columnWidth = (schedule.getModel().size() == 0) ? 100
+ : (100 / schedule.getModel().size());
+
+ for (Iterator dayIterator = schedule.getModel().iterator(); dayIterator
+ .hasNext();)
+ {
ScheduleDay day = (ScheduleDay) dayIterator.next();
writer.startElement(HTML.TD_ELEM, schedule);
writer.writeAttribute(HTML.CLASS_ATTR, "header", null);
- writer.writeAttribute(
- HTML.STYLE_ATTR,
- "height: 31px; border-style: none; border-width: 0px; overflow: hidden;",
- null
- );
- writer.writeAttribute(
- HTML.WIDTH_ATTR, String.valueOf(columnWidth) + "%", null
- );
+ writer
+ .writeAttribute(
+ HTML.STYLE_ATTR,
+ "height: 31px; border-style: none; border-width: 0px; overflow: hidden;",
+ null);
+ writer.writeAttribute(HTML.WIDTH_ATTR, String.valueOf(columnWidth)
+ + "%", null);
writer.endElement(HTML.TD_ELEM);
}
@@ -624,15 +572,16 @@
writer.startElement(HTML.TR_ELEM, schedule);
writer.startElement(HTML.TD_ELEM, schedule);
writer.startElement(HTML.DIV_ELEM, schedule);
- writer.writeAttribute(HTML.STYLE_ATTR, "height: 1px; width: 56px", null);
+ writer
+ .writeAttribute(HTML.STYLE_ATTR, "height: 1px; width: 56px",
+ null);
writer.endElement(HTML.DIV_ELEM);
writer.endElement(HTML.TD_ELEM);
}
//~ Inner Classes ----------------------------------------------------------
- private class EntryWrapper
- implements Comparable
+ private class EntryWrapper implements Comparable
{
//~ Static fields/initializers -----------------------------------------
@@ -648,10 +597,7 @@
//~ Constructors -------------------------------------------------------
- EntryWrapper(
- ScheduleEntry entry,
- ScheduleDay day
- )
+ EntryWrapper(ScheduleEntry entry, ScheduleDay day)
{
this.entry = entry;
this.day = day;
@@ -675,22 +621,23 @@
*/
public boolean equals(Object o)
{
- if (o instanceof EntryWrapper) {
+ if (o instanceof EntryWrapper)
+ {
EntryWrapper other = (EntryWrapper) o;
- boolean returnboolean =
- (entry.getStartTime().equals(other.entry.getStartTime())) &&
- (entry.getEndTime().equals(other.entry.getEndTime())) &&
- (entry.getId().equals(other.entry.getId())) &&
- (day.equals(other.day));
+ boolean returnboolean = (entry.getStartTime()
+ .equals(other.entry.getStartTime()))
+ && (entry.getEndTime().equals(other.entry.getEndTime()))
+ && (entry.getId().equals(other.entry.getId()))
+ && (day.equals(other.day));
/*
- new EqualsBuilder().append(
- entry.getStartTime(), other.entry.getStartTime()
- ).append(entry.getEndTime(), other.entry.getEndTime())
- .append(
- entry.getId(), other.entry.getId()
- ).append(day, other.day).isEquals();
- */
+ new EqualsBuilder().append(
+ entry.getStartTime(), other.entry.getStartTime()
+ ).append(entry.getEndTime(), other.entry.getEndTime())
+ .append(
+ entry.getId(), other.entry.getId()
+ ).append(day, other.day).isEquals();
+ */
return returnboolean;
}
@@ -702,10 +649,8 @@
*/
public int hashCode()
{
- int returnint =
- entry.getStartTime().hashCode() ^
- entry.getEndTime().hashCode() ^
- entry.getId().hashCode();
+ int returnint = entry.getStartTime().hashCode()
+ ^ entry.getEndTime().hashCode() ^ entry.getId().hashCode();
return returnint;
}
@@ -720,10 +665,7 @@
*
* @return the bounds
*/
- String getBounds(
- HtmlSchedule schedule,
- float columnWidth
- )
+ String getBounds(HtmlSchedule schedule, float columnWidth)
{
float width = (columnWidth * colspan) - 0.5f;
float left = column * columnWidth;
@@ -744,9 +686,8 @@
cal.set(Calendar.MILLISECOND, 0);
long visibleStartMillis = cal.getTimeInMillis();
- startMillis =
- day.equalsDate(entry.getStartTime())
- ? Math.max(startMillis, visibleStartMillis) : visibleStartMillis;
+ startMillis = day.equalsDate(entry.getStartTime()) ? Math.max(
+ startMillis, visibleStartMillis) : visibleStartMillis;
cal.setTime(entry.getEndTime());
cal.set(curyear, curmonth, curday);
@@ -757,14 +698,11 @@
cal.set(Calendar.MILLISECOND, 0);
long visibleEndMillis = cal.getTimeInMillis();
- endMillis =
- day.equalsDate(entry.getEndTime())
- ? Math.min(endMillis, visibleEndMillis) : visibleEndMillis;
-
- int top =
- (int) (((startMillis - visibleStartMillis) * rowHeightInPixels) / HALF_HOUR);
- int height =
- (int) (((endMillis - startMillis) * rowHeightInPixels) / HALF_HOUR);
+ endMillis = day.equalsDate(entry.getEndTime()) ? Math.min(
+ endMillis, visibleEndMillis) : visibleEndMillis;
+
+ int top = (int) (((startMillis - visibleStartMillis) * rowHeightInPixels) / HALF_HOUR);
+ int height = (int) (((endMillis - startMillis) * rowHeightInPixels) / HALF_HOUR);
StringBuffer buffer = new StringBuffer();
buffer.append("position: absolute; height: ");
buffer.append(height);
@@ -774,9 +712,8 @@
buffer.append(left);
buffer.append("%; width: ");
buffer.append(width);
- buffer.append(
- "%; padding: 0px; overflow: hidden; border-width: 1.0px; border-style:solid;"
- );
+ buffer
+ .append("%; padding: 0px; overflow: hidden; border-width: 1.0px; border-style:solid;");
return buffer.toString();
}
@@ -792,13 +729,13 @@
*/
boolean canFitInColumn(int column)
{
- for (
- Iterator overlapIterator = overlappingEntries.iterator();
- overlapIterator.hasNext();
- ) {
+ for (Iterator overlapIterator = overlappingEntries.iterator(); overlapIterator
+ .hasNext();)
+ {
EntryWrapper overlap = (EntryWrapper) overlapIterator.next();
- if (overlap.column == column) {
+ if (overlap.column == column)
+ {
return false;
}
}
@@ -817,13 +754,14 @@
*/
boolean overlaps(EntryWrapper other)
{
- if ((entry.getStartTime() == null) || (entry.getEndTime() == null)) {
+ if ((entry.getStartTime() == null) || (entry.getEndTime() == null))
+ {
return false;
}
- boolean returnboolean =
- (entry.getStartTime().before(other.entry.getEndTime()) &&
- entry.getEndTime().after(other.entry.getStartTime()));
+ boolean returnboolean = (entry.getStartTime().before(
+ other.entry.getEndTime()) && entry.getEndTime().after(
+ other.entry.getStartTime()));
return returnboolean;
}
Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/default.css
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/default.css?rev=225754&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/default.css (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/default.css Thu Jul 28 04:53:37 2005
@@ -0,0 +1,294 @@
+/* This is the default theme for the schedule and planner components */
+
+/* PART I: Detailed Day Renderer */
+
+div.schedule-detailed {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(163,177,140);
+ position: relative;
+ width: 100%;
+ left: 0px;
+ right: 0px;
+}
+
+div.schedule-detailed table.background {
+ background-color: rgb(255,255,255);
+}
+
+div.schedule-detailed td.gutter {
+ background-color: rgb(205,214,198);
+ color: rgb(0,0,0);
+ text-align: right;
+ vertical-align: top;
+}
+
+div.schedule-detailed table.background td.header, div.schedule-detailed table.foreground td.header {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.schedule-detailed table.background td.header {
+ background-color: rgb(205,214,198);
+}
+
+div.schedule-detailed td.header span.date, div.schedule-detailed td.header span.holiday {
+ text-align: center;
+}
+
+div.schedule-detailed td.header span.date {
+}
+
+div.schedule-detailed td.header span.holiday {
+}
+
+div.schedule-detailed td.gutter span.hours {
+ font-size: 26px;
+}
+
+div.schedule-detailed td.gutter span.minutes {
+ font-size: 13px;
+}
+
+div.schedule-detailed table.background td.even,
+div.schedule-detailed table.background td.uneven,
+div.schedule-detailed table.background td.free {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.schedule-detailed table.background td.uneven {
+ background-color: rgb(240,244,233);
+ color: rgb(240,244,233);
+}
+
+div.schedule-detailed table.background td.even {
+ background-color: rgb(235,239,228);
+ color: rgb(235,239,228);
+}
+
+div.schedule-detailed table.background td.free {
+ background-color: rgb(215,219,208);
+ color: rgb(215,219,208);
+}
+
+div.schedule-detailed .entry, div.schedule-detailed div.entry-selected {
+ background-color: rgb(255,255,255);
+ text-align: center;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ vertical-align: middle;
+ border-color: rgb(0,0,0);
+ text-decoration: none;
+}
+
+div.schedule-detailed a.entry:hover,
+div.schedule-detailed div.entry-selected {
+ border-color: rgb(153,204,51);
+}
+
+div.schedule-detailed div.entry-selected div.text {
+ border-left: solid rgb(153,204,51) 5.0px;
+}
+
+div.schedule-detailed .entry span.subtitle,
+div.schedule-detailed .entry-selected span.subtitle {
+ font-style: italic;
+ font-size: 9px;
+}
+
+div.schedule-detailed .entry span.title,
+div.schedule-detailed .entry-selected span.title {
+ font-size: 11px;
+}
+
+
+
+/* PART II: Compact Renderer */
+div.schedule-compact {
+ position: relative;
+ width: 100%;
+ left: 0px;
+ background-color: rgb(163,177,140);
+}
+
+div.schedule-compact table.day {
+ background-color: rgb(255,255,255);
+}
+
+div.schedule-compact table.day td.header {
+ background-color: rgb(205,214,198);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.schedule-compact td.content div {
+}
+
+div.schedule-compact td.content td {
+ background-color: rgb(255,255,255);
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ padding: 1px;
+ border-color: rgb(255,255,255);
+ border-width: 1.0px;
+ border-style: solid;
+}
+
+div.schedule-compact a {
+ text-decoration: none;
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+}
+
+div.schedule-compact td.content td.selected {
+ background-color: rgb(153,204,51);
+ border-color: rgb(153,204,51);
+}
+
+div.schedule-compact td.inactive-day td.content {
+ background-color: rgb(205,214,198);
+ visibility: visible;
+}
+
+div.schedule-compact td.inactive-day td.header {
+ background-color: rgb(205,214,198);
+ visibility: visible;
+}
+
+
+
+/* Part III: Planner renderer */
+div.planner {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(163,177,140);
+ position: relative;
+ width: 100%;
+ left: 0px;
+}
+
+div.planner table.background {
+ background-color: rgb(255,255,255);
+}
+
+div.planner div.background td.gutter, div.planner div.foreground td.gutter {
+ color: rgb(0,0,0);
+ text-align: right;
+}
+
+div.planner div.background td.gutter {
+ background-color: rgb(205,214,198);
+}
+
+
+div.planner div.background td.header, div.planner div.foreground td.header, div.planner div.background td.hours {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+ border-style: none;
+ border-width: 0px;
+}
+
+div.planner div.background td.hours {
+ border-color: rgb(255,255,255);
+ background-color: rgb(205,214,198);
+}
+
+div.planner div.foreground td.hours {
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.planner div.background td.header {
+ background-color: rgb(205,214,198);
+}
+
+div.planner div.background div.header span.date {
+ text-align: left;
+ font-weight: bold;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.holiday {
+ text-align: left;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.hours {
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.planner td.gutter span.title {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ vertical-align: middle;
+ padding: 1px;
+ font-size: 10px;
+ font-weight: bold;
+}
+
+div.planner td.even, div.planner td.uneven, div.planner td.free {
+ border-color : rgb(255,255,255);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.planner td.uneven {
+ background-color: rgb(240,244,233);
+ color: rgb(240,244,233);
+}
+
+div.planner td.even {
+ background-color: rgb(235,239,228);
+ color: rgb(235,239,228);
+}
+
+div.planner td.free {
+ background-color: rgb(215,219,208);
+ color: rgb(215,219,208);
+}
+
+div.planner table.foreground td.row {
+ border-color: rgb(255,255,255);
+}
+
+div.planner div.row div.entry {
+ background-color: rgb(0,0,255);
+ vertical-align: middle;
+ text-decoration: none;
+}
+
+
+
+/* PART IV: Tooltips */
+div.domTT {
+ border: 1px solid #333366;
+ background-color: #333366;
+}
+div.domTT .caption {
+ font-family: Verdana, Helvetica;
+ font-size: 10px;
+ font-weight: bold;
+ color: #FFFFFF;
+}
+div.domTT .contents {
+ font-size: 10px;
+ font-family: Verdana, Helvetica;
+ padding: 2px;
+ background-color: #F1F1FF;
+}
Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/evolution.css
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/evolution.css?rev=225754&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/evolution.css (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/evolution.css Thu Jul 28 04:53:37 2005
@@ -0,0 +1,297 @@
+/* This is the evolution theme for the schedule and planner components */
+
+/* PART I: Detailed Day Renderer */
+
+div.schedule-detailed {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(255,255,255);
+ position: relative;
+ width: 100%;
+ left: 0px;
+ right: 0px;
+}
+
+div.schedule-detailed table.background {
+ background-color: rgb(172,172,172);
+}
+
+div.schedule-detailed td.gutter {
+ background-color: rgb(246,246,246);
+ color: rgb(0,0,0);
+ text-align: right;
+ vertical-align: top;
+}
+
+div.schedule-detailed table.background td.header, div.schedule-detailed table.foreground td.header {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.schedule-detailed table.background td.header {
+ background-color: rgb(246,246,246);
+}
+
+div.schedule-detailed td.header span.date, div.schedule-detailed td.header span.holiday {
+ text-align: center;
+}
+
+div.schedule-detailed td.header span.date {
+}
+
+div.schedule-detailed td.header span.holiday {
+}
+
+div.schedule-detailed td.gutter span.hours {
+ font-size: 26px;
+}
+
+div.schedule-detailed td.gutter span.minutes {
+ font-size: 13px;
+}
+
+div.schedule-detailed table.background td.even,
+div.schedule-detailed table.background td.uneven,
+div.schedule-detailed table.background td.free {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.schedule-detailed table.background td.uneven {
+ background-color: rgb(255,255,255);
+ color: rgb(255,255,255);
+}
+
+div.schedule-detailed table.background td.even {
+ background-color: rgb(255,255,255);
+ color: rgb(255,255,255);
+}
+
+div.schedule-detailed table.background td.free {
+ background-color: rgb(217,217,217);
+ color: rgb(217,217,217);
+}
+
+div.schedule-detailed .entry, div.schedule-detailed div.entry-selected {
+ background-color: rgb(190,206,221);
+ text-align: center;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ vertical-align: middle;
+ border-color: rgb(172,172,172);
+ text-decoration: none;
+}
+
+div.schedule-detailed a.entry:hover,
+div.schedule-detailed div.entry-selected {
+ border-color: rgb(100,132,164);
+}
+
+div.schedule-detailed div.entry-selected div.text {
+ border-left: solid rgb(100,132,164) 5.0px;
+}
+
+div.schedule-detailed .entry span.subtitle,
+div.schedule-detailed .entry-selected span.subtitle {
+ font-style: italic;
+ font-size: 9px;
+}
+
+div.schedule-detailed .entry span.title,
+div.schedule-detailed .entry-selected span.title {
+ font-size: 11px;
+}
+
+
+
+/* PART II: Compact Renderer */
+div.schedule-compact {
+ position: relative;
+ width: 100%;
+ left: 0px;
+ background-color: rgb(172,172,172);
+}
+
+div.schedule-compact table.day {
+ background-color: rgb(255,255,255);
+}
+
+div.schedule-compact table.day td.header {
+ background-color: rgb(255,255,255);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: left;
+ vertical-align: middle;
+ border-bottom-color: rgb(172,172,172);
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+}
+
+div.schedule-compact td.content div {
+}
+
+div.schedule-compact td.content td {
+ background-color: rgb(255,255,255);
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ padding: 1px;
+ border-color: rgb(255,255,255);
+ border-width: 1.0px;
+ border-style: solid;
+}
+
+div.schedule-compact a {
+ text-decoration: none;
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+}
+
+div.schedule-compact td.content td.selected {
+ background-color: rgb(190,206,221);
+ border-color: rgb(190,206,221);
+}
+
+div.schedule-compact td.inactive-day td.content {
+ background-color: rgb(238,235,231);
+ visibility: visible;
+}
+
+div.schedule-compact td.inactive-day td.header {
+ background-color: rgb(238,235,231);
+ visibility: visible;
+}
+
+
+
+/* Part III: Planner renderer */
+div.planner {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(255,255,255);
+ position: relative;
+ width: 100%;
+ left: 0px;
+}
+
+div.planner table.background {
+ background-color: rgb(172,172,172);
+}
+
+div.planner div.background td.gutter, div.planner div.foreground td.gutter {
+ color: rgb(0,0,0);
+ text-align: right;
+}
+
+div.planner div.background td.gutter {
+ background-color: rgb(246,246,246);
+}
+
+
+div.planner div.background td.header, div.planner div.foreground td.header, div.planner div.background td.hours {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+ border-style: none;
+ border-width: 0px;
+}
+
+div.planner div.background td.hours {
+ border-color: rgb(246,246,246);
+ background-color: rgb(246,246,246);
+}
+
+div.planner div.foreground td.hours {
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.planner div.background td.header {
+ background-color: rgb(246,246,246);
+}
+
+div.planner div.background div.header span.date {
+ text-align: left;
+ font-weight: bold;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.holiday {
+ text-align: left;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.hours {
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.planner td.gutter span.title {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ vertical-align: middle;
+ padding: 1px;
+ font-size: 10px;
+ font-weight: bold;
+}
+
+div.planner td.even, div.planner td.uneven, div.planner td.free {
+ border-color : rgb(255,255,255);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.planner td.uneven {
+ background-color: rgb(255,255,255);
+ color: rgb(255,255,255);
+}
+
+div.planner td.even {
+ background-color: rgb(255,255,255);
+ color: rgb(255,255,255);
+}
+
+div.planner td.free {
+ background-color: rgb(217,217,217);
+ color: rgb(217,217,217);
+}
+
+div.planner table.foreground td.row {
+ border-color: rgb(255,255,255);
+}
+
+div.planner div.row div.entry {
+ background-color: rgb(190,206,221);
+ vertical-align: middle;
+ text-decoration: none;
+}
+
+
+
+/* PART IV: Tooltips */
+div.domTT {
+ border: 1px solid #333366;
+ background-color: #333366;
+}
+div.domTT .caption {
+ font-family: Verdana, Helvetica;
+ font-size: 10px;
+ font-weight: bold;
+ color: #FFFFFF;
+}
+div.domTT .contents {
+ font-size: 10px;
+ font-family: Verdana, Helvetica;
+ padding: 2px;
+ background-color: #F1F1FF;
+}
Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/outlookxp.css
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/outlookxp.css?rev=225754&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/outlookxp.css (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/outlookxp.css Thu Jul 28 04:53:37 2005
@@ -0,0 +1,295 @@
+/* This is the outlookxp theme for the schedule and planner components */
+
+/* PART I: Detailed Day Renderer */
+
+div.schedule-detailed {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(128,128,128);
+ position: relative;
+ width: 100%;
+ left: 0px;
+ right: 0px;
+}
+
+div.schedule-detailed table.background {
+ background-color: rgb(128,128,128);
+}
+
+div.schedule-detailed td.gutter {
+ background-color: rgb(219,216,209);
+ color: rgb(0,0,0);
+ text-align: right;
+ vertical-align: top;
+}
+
+div.schedule-detailed table.background td.header, div.schedule-detailed table.foreground td.header {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.schedule-detailed table.background td.header {
+ background-color: rgb(219,216,209);
+}
+
+div.schedule-detailed td.header span.date, div.schedule-detailed td.header span.holiday {
+ text-align: center;
+}
+
+div.schedule-detailed td.header span.date {
+}
+
+div.schedule-detailed td.header span.holiday {
+}
+
+div.schedule-detailed td.gutter span.hours {
+ font-size: 26px;
+}
+
+div.schedule-detailed td.gutter span.minutes {
+ font-size: 13px;
+}
+
+div.schedule-detailed table.background td.even,
+div.schedule-detailed table.background td.uneven,
+div.schedule-detailed table.background td.free {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.schedule-detailed table.background td.uneven {
+ background-color: rgb(255,255,143);
+ color: rgb(255,255,143);
+}
+
+div.schedule-detailed table.background td.even {
+ background-color: rgb(255,255,143);
+ color: rgb(255,255,143);
+}
+
+div.schedule-detailed table.background td.free {
+ background-color: rgb(239,240,112);
+ color: rgb(239,240,112);
+}
+
+div.schedule-detailed .entry, div.schedule-detailed div.entry-selected {
+ background-color: rgb(255,255,255);
+ text-align: center;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ vertical-align: middle;
+ border-color: rgb(0,0,0);
+ text-decoration: none;
+}
+
+div.schedule-detailed a.entry:hover,
+div.schedule-detailed div.entry-selected {
+ border-color: rgb(1,2,217);
+}
+
+div.schedule-detailed div.entry-selected div.text {
+ border-left: solid rgb(1,2,217) 5.0px;
+}
+
+div.schedule-detailed .entry span.subtitle,
+div.schedule-detailed .entry-selected span.subtitle {
+ font-style: italic;
+ font-size: 9px;
+}
+
+div.schedule-detailed .entry span.title,
+div.schedule-detailed .entry-selected span.title {
+ font-size: 11px;
+}
+
+
+
+/* PART II: Compact Renderer */
+div.schedule-compact {
+ position: relative;
+ width: 100%;
+ left: 0px;
+ background-color: rgb(128,128,128);
+}
+
+div.schedule-compact table.day {
+ background-color: rgb(255,255,255);
+}
+
+div.schedule-compact table.day td.header {
+ background-color: rgb(219,216,209);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.schedule-compact td.content div {
+}
+
+div.schedule-compact td.content td {
+ background-color: rgb(255,255,255);
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+ padding: 1px;
+ border-color: rgb(255,255,255);
+ border-width: 1.0px;
+ border-style: solid;
+}
+
+div.schedule-compact a {
+ text-decoration: none;
+ color: rgb(0,0,0);
+ text-align: left;
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 11px;
+}
+
+div.schedule-compact td.content td.selected {
+ background-color: rgb(1,2,217);
+ border-color: rgb(1,2,217);
+ color: rgb(255,255,255);
+}
+
+div.schedule-compact td.inactive-day td.content {
+ background-color: rgb(219,216,209);
+ visibility: visible;
+}
+
+div.schedule-compact td.inactive-day td.header {
+ background-color: rgb(219,216,209);
+ visibility: visible;
+}
+
+
+
+/* Part III: Planner renderer */
+div.planner {
+ border-style: solid;
+ border-width: 1px;
+ border-color: rgb(128,128,128);
+ position: relative;
+ width: 100%;
+ left: 0px;
+}
+
+div.planner table.background {
+ border-color: rgb(128,128,128);
+}
+
+div.planner div.background td.gutter, div.planner div.foreground td.gutter {
+ color: rgb(0,0,0);
+ text-align: right;
+}
+
+div.planner div.background td.gutter {
+ background-color: rgb(219,216,209);
+}
+
+
+div.planner div.background td.header, div.planner div.foreground td.header, div.planner div.background td.hours {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ color: rgb(0,0,0);
+ text-align: center;
+ vertical-align: middle;
+ border-style: none;
+ border-width: 0px;
+}
+
+div.planner div.background td.hours {
+ border-color: rgb(255,255,255);
+ background-color: rgb(219,216,209);
+}
+
+div.planner div.foreground td.hours {
+ text-align: center;
+ vertical-align: middle;
+}
+
+div.planner div.background td.header {
+ background-color: rgb(219,216,209);
+}
+
+div.planner div.background div.header span.date {
+ text-align: left;
+ font-weight: bold;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.holiday {
+ text-align: left;
+ vertical-align: top;
+}
+
+div.planner div.background div.header span.hours {
+ text-align: left;
+ vertical-align: middle;
+}
+
+div.planner td.gutter span.title {
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ vertical-align: middle;
+ padding: 1px;
+ font-size: 10px;
+ font-weight: bold;
+}
+
+div.planner td.even, div.planner td.uneven, div.planner td.free {
+ border-color : rgb(255,255,255);
+ font-family: Verdana, Arial, Helvetica, Sans-Serif;
+ font-size: 10px;
+ text-align: center;
+}
+
+div.planner td.uneven {
+ background-color: rgb(255,255,143);
+ color: rgb(255,255,143);
+}
+
+div.planner td.even {
+ background-color: rgb(255,255,143);
+ color: rgb(255,255,143);
+}
+
+div.planner td.free {
+ background-color: rgb(239,240,112);
+ color: rgb(239,240,112);
+}
+
+div.planner table.foreground td.row {
+ border-color: rgb(255,255,255);
+}
+
+div.planner div.row div.entry {
+ background-color: rgb(1,2,255);
+ vertical-align: middle;
+ text-decoration: none;
+}
+
+
+
+/* PART IV: Tooltips */
+div.domTT {
+ border: 1px solid #333366;
+ background-color: #333366;
+}
+div.domTT .caption {
+ font-family: Verdana, Helvetica;
+ font-size: 10px;
+ font-weight: bold;
+ color: #FFFFFF;
+}
+div.domTT .contents {
+ font-size: 10px;
+ font-family: Verdana, Helvetica;
+ padding: 2px;
+ background-color: #F1F1FF;
+}
Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css?rev=225754&r1=225753&r2=225754&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css Thu Jul 28 04:53:37 2005
@@ -1,3 +1,5 @@
+/* This is the default theme for the schedule and planner components */
+
/* PART I: Detailed Day Renderer */
div.schedule-detailed {
@@ -7,6 +9,7 @@
position: relative;
width: 100%;
left: 0px;
+ right: 0px;
}
div.schedule-detailed table.background {