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/13 17:33:25 UTC

svn commit: r216175 [4/4] - in /myfaces: build/trunk/ examples/trunk/sandbox/ examples/trunk/sandbox/WEB-INF/ examples/trunk/sandbox/src/java/org/apache/myfaces/examples/schedule/ sandbox/trunk/conf/ sandbox/trunk/src/java/org/apache/myfaces/custom/sch...

Added: 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=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/resource/css/schedule.css Wed Jul 13 08:33:22 2005
@@ -0,0 +1,291 @@
+/* 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;
+}
+
+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.domTTCaption {
+    font-family: Verdana, Helvetica;
+    font-size: 10px;
+    font-weight: bold;
+    color: #FFFFFF;
+}
+div.domTTContent {
+    font-size: 10px;
+    font-family: Verdana, Helvetica;
+    padding: 2px;
+    background-color: #F1F1FF;
+}

Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleEntryComparator.java Wed Jul 13 08:33:22 2005
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.myfaces.custom.schedule.util;
+
+
+import java.util.Comparator;
+
+import org.apache.myfaces.custom.schedule.model.ScheduleEntry;
+
+
+/**
+ * <p>
+ * Comparator for ScheduleEntry objects. This is needed for correctly
+ * rendering the schedule.
+ * </p>
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @author Bruno Aranda (adaptation of Jurgen's code to myfaces)
+ * @version $Revision$
+ */
+public class ScheduleEntryComparator
+    implements Comparator
+{
+    //~ Methods ----------------------------------------------------------------
+
+    /**
+     * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+     */
+    public int compare(
+        Object o1,
+        Object o2
+    )
+    {
+        if (o1 instanceof ScheduleEntry && o2 instanceof ScheduleEntry) {
+            ScheduleEntry entry1 = (ScheduleEntry) o1;
+            ScheduleEntry entry2 = (ScheduleEntry) o2;
+
+            int returnint = 0;
+            
+        	if (entry1.getStartTime().compareTo(entry2.getStartTime()) < 0)
+        	{
+        		returnint = -1;
+        	} 
+        	else if (entry1.getEndTime().compareTo(entry2.getEndTime()) < 0)
+           	{
+        		returnint = -1;
+           	}
+        	else
+        	{
+        		return (entry1.getId().compareTo(entry2.getId()));
+        	}
+        		
+        	/*
+            new CompareToBuilder().append(
+                entry1.getStartTime(), entry2.getStartTime()
+            ).append(entry1.getEndTime(), entry2.getEndTime())
+                                  .append(entry1.getId(), entry2.getId())
+                                  .toComparison();
+            */
+        	
+            return returnint;
+        }
+
+        return 1;
+    }
+}
+//The End

Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/schedule/util/ScheduleUtil.java Wed Jul 13 08:33:22 2005
@@ -0,0 +1,377 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.myfaces.custom.schedule.util;
+
+import java.util.Calendar;
+import java.util.Date;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
+
+
+/**
+ * <p>
+ * Some utility methods
+ * </p>
+ *
+ * @author Jurgen Lust (latest modification by $Author$)
+ * @author Kito Mann (some methods taken from the source code of his book 'JavaServer Faces in Action', which is also released under the Apache License
+ * @author Bruno Aranda (adaptation of Jurgen's code to myfaces)
+ * @version $Revision$
+ */
+public class ScheduleUtil
+{
+    //~ Methods ----------------------------------------------------------------
+
+    /**
+     * <p>
+     * Check if the value of a UIComponent is a value or method binding
+     * expression.
+     * </p>
+     *
+     * @param value the value to check
+     *
+     * @return whether the value is a binding expression
+     */
+    public static boolean isBindingExpression(Object value)
+    {
+        boolean returnboolean =
+            ((value != null) && value instanceof String &&
+            ((String) value).startsWith("#{") &&
+            ((String) value).endsWith("}"));
+
+        return returnboolean;
+    }
+
+    /**
+     * <p>
+     * Get the boolean value of a UIComponent, even if it is a value
+     * binding expression.
+     * </p>
+     *
+     * @param component the component
+     * @param property the property
+     * @param key the key of the value binding
+     * @param defaultValue the default value
+     *
+     * @return the boolean value
+     */
+    public static boolean getBooleanProperty(
+        UIComponent component,
+        Boolean property,
+        String key,
+        boolean defaultValue
+    )
+    {
+        if (property != null) {
+            return property.booleanValue();
+        } else {
+            ValueBinding binding =
+                (ValueBinding) component.getValueBinding(key);
+
+            if (binding != null) {
+                Boolean value =
+                    (Boolean) binding.getValue(
+                        FacesContext.getCurrentInstance()
+                    );
+
+                if (value != null) {
+                    return value.booleanValue();
+                }
+            }
+        }
+
+        return defaultValue;
+    }
+
+    /**
+     * <p>
+     * Get the boolean value of an attribute
+     * </p>
+     *
+     * @param attributeValue the attribute value
+     * @param valueIfNull the default value
+     *
+     * @return the boolean value
+     */
+    public static boolean getBooleanValue(
+        Object attributeValue,
+        boolean valueIfNull
+    )
+    {
+        if (attributeValue == null) {
+            return valueIfNull;
+        }
+
+        if (attributeValue instanceof String) {
+            return ((String) attributeValue).equalsIgnoreCase("true");
+        } else {
+            return ((Boolean) attributeValue).booleanValue();
+        }
+    }
+
+    /**
+     * <p>
+     * Get the float value of a UIComponent, even if it is a value
+     * binding expression.
+     * </p>
+     *
+     * @param component the component
+     * @param property the property
+     * @param key the key of the value binding
+     * @param defaultValue the default value
+     *
+     * @return the float value
+     */
+    public static float getFloatProperty(
+        UIComponent component,
+        Float property,
+        String key,
+        float defaultValue
+    )
+    {
+        if (property != null) {
+            return property.floatValue();
+        } else {
+            ValueBinding binding =
+                (ValueBinding) component.getValueBinding(key);
+
+            if (binding != null) {
+                Float value =
+                    (Float) binding.getValue(FacesContext.getCurrentInstance());
+
+                if (value != null) {
+                    return value.floatValue();
+                }
+            }
+        }
+
+        return defaultValue;
+    }
+
+    /**
+     * <p>
+     * Get the hashcode for the truncated date
+     * </p>
+     *
+     * @param date the date
+     *
+     * @return the hashCode of the truncated date
+     */
+    public static int getHashCodeForDay(Date date)
+    {
+    	Calendar calendar = Calendar.getInstance();
+    	calendar.setTime(date);
+    	
+    	return new Integer(calendar.get(Calendar.ERA)).hashCode() ^ 
+    		new Integer(calendar.get(Calendar.YEAR)).hashCode() ^
+    		new Integer(calendar.get(Calendar.DAY_OF_YEAR)).hashCode();
+    }
+
+    /**
+     * <p>
+     * Get the int value of a UIComponent, even if it is a value
+     * binding expression.
+     * </p>
+     *
+     * @param component the component
+     * @param property the property
+     * @param key the key of the value binding
+     * @param defaultValue the default value
+     *
+     * @return the int value
+     */
+    public static int getIntegerProperty(
+        UIComponent component,
+        Integer property,
+        String key,
+        int defaultValue
+    )
+    {
+        if (property != null) {
+            return property.intValue();
+        } else {
+            ValueBinding binding =
+                (ValueBinding) component.getValueBinding(key);
+
+            if (binding != null) {
+                Integer value =
+                    (Integer) binding.getValue(
+                        FacesContext.getCurrentInstance()
+                    );
+
+                if (value != null) {
+                    return value.intValue();
+                }
+            }
+        }
+
+        return defaultValue;
+    }
+
+    /**
+     * <p>
+     * Get the object value of a UIComponent, even if it is a value
+     * binding expression.
+     * </p>
+     *
+     * @param component the component
+     * @param property the property
+     * @param key the key of the value binding
+     * @param defaultValue the default value
+     *
+     * @return the object value
+     */
+    public static Object getObjectProperty(
+        UIComponent component,
+        Object property,
+        String key,
+        Object defaultValue
+    )
+    {
+        if (property != null) {
+            return property;
+        } else {
+            ValueBinding binding =
+                (ValueBinding) component.getValueBinding(key);
+
+            if (binding != null) {
+                return binding.getValue(FacesContext.getCurrentInstance());
+            }
+        }
+
+        return defaultValue;
+    }
+
+    /**
+     * <p>
+     * Check if the 2 dates are in the same day.
+     * </p>
+     *
+     * @param date1 the first date
+     * @param date2 the second date
+     *
+     * @return whether the dates are in the same day
+     */
+    public static boolean isSameDay(
+        Date date1,
+        Date date2
+    )
+    {
+        if ((date1 == null) || (date2 == null)) {
+            return false;
+        }
+        
+        Calendar calendar1 = Calendar.getInstance();
+        calendar1.setTime(date1);
+        
+        Calendar calendar2 = Calendar.getInstance();
+        calendar2.setTime(date2);
+        
+        return (calendar1.get(Calendar.ERA) == calendar2.get(Calendar.ERA) &&
+        		calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR) &&
+        		calendar1.get(Calendar.DAY_OF_YEAR) == calendar2.get(Calendar.DAY_OF_YEAR));
+    }
+
+    /**
+     * <p>
+     * Get the String value of a UIComponent, even if it is a value
+     * binding expression.
+     * </p>
+     *
+     * @param component the component
+     * @param property the property
+     * @param key the key of the value binding
+     * @param defaultValue the default value
+     *
+     * @return the String value
+     */
+    public static String getStringProperty(
+        UIComponent component,
+        String property,
+        String key,
+        String defaultValue
+    )
+    {
+        if (property != null) {
+            return property;
+        } else {
+            ValueBinding binding =
+                (ValueBinding) component.getValueBinding(key);
+
+            if (binding != null) {
+                return (String) binding.getValue(
+                    FacesContext.getCurrentInstance()
+                );
+            }
+        }
+
+        return defaultValue;
+    }
+
+    /**
+     * <p>
+     * Check if the value of the given component can be modified
+     * </p>
+     *
+     * @param component the component
+     *
+     * @return whether the value can be modified
+     */
+    public static boolean canModifyValue(UIComponent component)
+    {
+        boolean returnboolean =
+            (component.isRendered() &&
+            !getBooleanValue(component.getAttributes().get("readonly"), false) &&
+            !getBooleanValue(component.getAttributes().get("disabled"), false));
+
+        return returnboolean;
+    }
+
+    /**
+     * <p>
+     * Compare 2 dates after truncating them.
+     * </p>
+     *
+     * @param date1 the first date
+     * @param date2 the second date
+     *
+     * @return the comparison
+     */
+    public static int compareDays(
+        Date date1,
+        Date date2
+    )
+    {
+        if (date1 == null) {
+            return -1;
+        }
+
+        if (date2 == null) {
+            return 1;
+        }
+        
+        return date1.compareTo(date2);
+/*
+        return DateUtils.truncate(date1, Calendar.DATE).compareTo(
+            DateUtils.truncate(date2, Calendar.DATE)
+        );
+        */
+    }
+}
+//The End

Added: myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml (added)
+++ myfaces/sandbox/trunk/tld/entities/html_planner_attributes.xml Wed Jul 13 08:33:22 2005
@@ -0,0 +1,32 @@
+    <attribute>
+         <name>gutterWidthInPixels</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Integer</type>
+      </attribute>
+      <attribute>
+         <name>headerDateFormat</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>String</type>
+      </attribute>
+      <attribute>
+         <name>legend</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Boolean</type>
+      </attribute>
+       <!--
+      <attribute>
+         <name>tooltip</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Boolean</type>
+      </attribute>
+      -->
+      <attribute>
+         <name>value</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>String</type>
+      </attribute>

Added: myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml (added)
+++ myfaces/sandbox/trunk/tld/entities/html_schedule_attributes.xml Wed Jul 13 08:33:22 2005
@@ -0,0 +1,33 @@
+     <attribute>
+         <name>compactMonthRowHeight</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Integer</type>
+      </attribute>
+      <attribute>
+         <name>compactWeekRowHeight</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Integer</type>
+      </attribute>
+      <attribute>
+         <name>headerDateFormat</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>String</type>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Boolean</type>
+      </attribute>
+      <!--
+      <attribute>
+         <name>tooltip</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Boolean</type>
+      </attribute>
+      -->
+      

Added: myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml?rev=216175&view=auto
==============================================================================
--- myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml (added)
+++ myfaces/sandbox/trunk/tld/entities/ui_schedule_attributes.xml Wed Jul 13 08:33:22 2005
@@ -0,0 +1,24 @@
+    <attribute>
+         <name>visibleEndHour</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Integer</type>
+      </attribute>
+      <attribute>
+         <name>visibleStartHour</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Integer</type>
+      </attribute>
+      <attribute>
+         <name>workingEndHour</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Integer</type>
+      </attribute>
+      <attribute>
+         <name>workingStartHour</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+           <type>Integer</type>
+      </attribute>

Modified: myfaces/sandbox/trunk/tld/myfaces_sandbox.tld
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/tld/myfaces_sandbox.tld?rev=216175&r1=216174&r2=216175&view=diff
==============================================================================
--- myfaces/sandbox/trunk/tld/myfaces_sandbox.tld (original)
+++ myfaces/sandbox/trunk/tld/myfaces_sandbox.tld Wed Jul 13 08:33:22 2005
@@ -89,6 +89,9 @@
 ===========================================================================
 -->
 <!ENTITY html_input_suggest_attributes       SYSTEM "entities/html_input_suggest_attributes.xml">
+<!ENTITY ui_schedule_attributes       SYSTEM "entities/ui_schedule_attributes.xml">
+<!ENTITY html_schedule_attributes       SYSTEM "entities/html_schedule_attributes.xml">
+<!ENTITY html_planner_attributes       SYSTEM "entities/html_planner_attributes.xml">
 ]>
 
 <taglib>
@@ -113,6 +116,37 @@
         &ext_forceId_attribute;
         &alt_location_attributes;
         &html_input_suggest_attributes;
+    </tag>
+
+     
+     <!-- planner -->
+     <tag>
+       <name>planner</name>
+       <tag-class>org.apache.myfaces.custom.schedule.PlannerTag</tag-class>
+       <body-content>empty</body-content>
+       <display-name>Planner component</display-name>
+       <description>
+ 	      A meeting planner component, similar to the ones found in Outlook or Evolution.
+       </description>
+       &ui_component_attributes;
+       &ui_schedule_attributes;
+       &html_planner_attributes;
+    </tag>
+ 
+ 
+ 	<!-- schedule -->
+ 	<tag>
+       <name>schedule</name>
+       <tag-class>org.apache.myfaces.custom.schedule.ScheduleTag</tag-class>
+       <body-content>empty</body-content>
+       <display-name>Schedule component</display-name>
+       <description>
+ 		 A schedule component similar to the ones found in Outlook or Evolution
+ 	  </description>
+       &ui_component_attributes;
+       &ui_command_attributes;
+       &ui_schedule_attributes;
+       &html_schedule_attributes;
     </tag>
 
     <!-- AjaxinputSuggest -->