]> source.dussan.org Git - vaadin-framework.git/commitdiff
Event calendar supports title + description.
authorMarc Englund <marc.englund@itmill.com>
Thu, 30 Aug 2007 13:57:12 +0000 (13:57 +0000)
committerMarc Englund <marc.englund@itmill.com>
Thu, 30 Aug 2007 13:57:12 +0000 (13:57 +0000)
svn changeset:2160/svn branch:trunk

src/com/itmill/toolkit/demo/reservation/ReservationApplication.java
src/com/itmill/toolkit/demo/reservation/SampleDB.java
src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java
src/com/itmill/toolkit/terminal/gwt/client/ui/calendar/ICalendarEntry.java
src/com/itmill/toolkit/ui/CalendarField.java

index af98930b72a5ce899057a496ea34d1b055c63b4e..e0f7ae4574f40f93f282baec62d882dac5607ca5 100644 (file)
@@ -194,7 +194,9 @@ public class ReservationApplication extends Application {
                .setItemStartPropertyId(SampleDB.Reservation.PROPERTY_ID_RESERVED_FROM);\r
        cal.setItemEndPropertyId(SampleDB.Reservation.PROPERTY_ID_RESERVED_TO);\r
        cal\r
-               .setItemTitlePropertyId(SampleDB.Reservation.PROPERTY_ID_DESCRIPTION);\r
+               .setItemTitlePropertyId(SampleDB.Resource.PROPERTY_ID_NAME);\r
+       cal\r
+               .setItemDescriptionPropertyId(SampleDB.Reservation.PROPERTY_ID_DESCRIPTION);\r
     }\r
 \r
     private void resetStatus() {\r
index b3465f3be0ac49b90a41db10d4bbd9a075709170..f5482e70b02ed07e59ba4aeeb2e4f3ddce271725 100644 (file)
@@ -16,33 +16,33 @@ import com.itmill.toolkit.data.util.QueryContainer;
 
 public class SampleDB {
     public class User {
-       public static final String TABLE = "user";
-       public static final String PROPERTY_ID_ID = "ID";
-       public static final String PROPERTY_ID_FULLNAME = "FULLNAME";
-       public static final String PROPERTY_ID_EMAIL = "EMAIL";
-       public static final String PROPERTY_ID_PASSWORD = "PASSWORD";
-       public static final String PROPERTY_ID_DELETED = "DELETED";
+       public static final String TABLE = "USER";
+       public static final String PROPERTY_ID_ID = TABLE+"_ID";
+       public static final String PROPERTY_ID_FULLNAME = TABLE+"_FULLNAME";
+       public static final String PROPERTY_ID_EMAIL = TABLE+"_EMAIL";
+       public static final String PROPERTY_ID_PASSWORD = TABLE+"_PASSWORD";
+       public static final String PROPERTY_ID_DELETED = TABLE+"_DELETED";
     }
 
     public class Resource {
-       public static final String TABLE = "resource";
-       public static final String PROPERTY_ID_ID = "ID";
-       public static final String PROPERTY_ID_NAME = "NAME";
-       public static final String PROPERTY_ID_DESCRIPTION = "DESCRIPTION";
-       public static final String PROPERTY_ID_LOCATIONX = "LOCATION_X";
-       public static final String PROPERTY_ID_LOCATIONY = "LOCATION_Y";
-       public static final String PROPERTY_ID_CATEGORY = "CATEGORY";
-       public static final String PROPERTY_ID_DELETED = "DELETED";
+       public static final String TABLE = "RESOURCE";
+       public static final String PROPERTY_ID_ID = TABLE+"_ID";
+       public static final String PROPERTY_ID_NAME = TABLE+"_NAME";
+       public static final String PROPERTY_ID_DESCRIPTION = TABLE+"_DESCRIPTION";
+       public static final String PROPERTY_ID_LOCATIONX = TABLE+"_LOCATION_X";
+       public static final String PROPERTY_ID_LOCATIONY = TABLE+"_LOCATION_Y";
+       public static final String PROPERTY_ID_CATEGORY = TABLE+"_CATEGORY";
+       public static final String PROPERTY_ID_DELETED = TABLE+"_DELETED";
     }
 
     public class Reservation {
-       public static final String TABLE = "reservation";
-       public static final String PROPERTY_ID_ID = "ID";
-       public static final String PROPERTY_ID_DESCRIPTION = "DESCRIPTION";
-       public static final String PROPERTY_ID_RESOURCE_ID = "RESOURCE_ID";
-       public static final String PROPERTY_ID_RESERVED_BY_ID = "RESERVED_BY_USER_ID";
-       public static final String PROPERTY_ID_RESERVED_FROM = "RESERVED_FROM";
-       public static final String PROPERTY_ID_RESERVED_TO = "RESERVED_TO";
+       public static final String TABLE = "RESERVATION";
+       public static final String PROPERTY_ID_ID = TABLE+"_ID";
+       public static final String PROPERTY_ID_DESCRIPTION = TABLE+"_DESCRIPTION";
+       public static final String PROPERTY_ID_RESOURCE_ID = TABLE+"_RESOURCE_ID";
+       public static final String PROPERTY_ID_RESERVED_BY_ID = TABLE+"_RESERVED_BY_USER_ID";
+       public static final String PROPERTY_ID_RESERVED_FROM = TABLE+"_RESERVED_FROM";
+       public static final String PROPERTY_ID_RESERVED_TO = TABLE+"_RESERVED_TO";
     }
     
     // TODO -> param
@@ -247,7 +247,8 @@ public class SampleDB {
        // TODO where from=?
        // TODO where to=?
        // TODO where deleted=?
-       String q = "SELECT * FROM " + Reservation.TABLE;
+       String q = "SELECT * FROM " + Reservation.TABLE + "," +Resource.TABLE;
+       q += " WHERE " + Reservation.PROPERTY_ID_RESOURCE_ID+"="+Resource.PROPERTY_ID_ID;
        if (resources != null && resources.size() > 0) {
            StringBuilder s = new StringBuilder();
            for (Iterator it = resources.iterator(); it.hasNext();) {
index fd731b963b6f58e42d745f5fbaf75168b8e67a56..9a49ac79784e0d84003436cbb146e462bd3ac09c 100644 (file)
@@ -29,8 +29,9 @@ public class ICalendar extends IDateField {
 \r
     private int realResolution = RESOLUTION_DAY;\r
 \r
-    private static final String CLASSNAME = IDateField.CLASSNAME + "-entrycalendar";\r
-    \r
+    private static final String CLASSNAME = IDateField.CLASSNAME\r
+           + "-entrycalendar";\r
+\r
     public ICalendar() {\r
        super();\r
        setStyleName(CLASSNAME);\r
@@ -113,12 +114,19 @@ public class ICalendar extends IDateField {
            String text = "";\r
            if (entries != null) {\r
                for (Iterator it = entries.iterator(); it.hasNext();) {\r
-                   String title = ((ICalendarEntry) it.next()).getTitle();\r
-                   text += (text == "" ? "" : ", ")\r
-                           + (title != null ? title : "?");\r
+                   ICalendarEntry entry = (ICalendarEntry) it.next();\r
+                   String title = entry.getTitle();\r
+                   String desc = entry.getDescription();\r
+                   text += (text == "" ? "" : ", ");\r
+                   String e = "<span"\r
+                           + (desc != null ? " title=\"" + desc + "\"" : "")\r
+                           + ">";\r
+                   e += (title != null ? title : "?");\r
+                   e += "</span>";\r
+                   text += e;\r
                }\r
-           } \r
-           hourTable.setHTML(i, 1, "<span>" + text + "</span>");\r
+           }\r
+           hourTable.setHTML(i, 1, text);\r
            hourTable.getCellFormatter().setStyleName(i, 1,\r
                    CLASSNAME + "-title");\r
        }\r
@@ -149,13 +157,13 @@ public class ICalendar extends IDateField {
            Date endDate = (end > 0 && end != start ? new Date(end) : new Date(\r
                    start));\r
            String title = item.getStringAttribute("title");\r
+           String desc = item.getStringAttribute("description");\r
            boolean notime = item.getBooleanAttribute("notime");\r
            if (items.containsKey(id)) {\r
                items.remove(id);\r
            }\r
-           items\r
-                   .put(id, new ICalendarEntry(startDate, endDate, title,\r
-                           notime));\r
+           items.put(id, new ICalendarEntry(startDate, endDate, title, desc,\r
+                   notime));\r
        }\r
 \r
        public List getEntries(Date date, int resolution) {\r
@@ -170,7 +178,7 @@ public class ICalendar extends IDateField {
 \r
            return res;\r
        }\r
-       \r
+\r
        public void clear() {\r
            items.clear();\r
        }\r
index 0559cb1bb85e0bf05c80588951715b5582590632..1ffbc0d016c7083e45fd851ad4fc8251bcbb30a7 100644 (file)
@@ -8,9 +8,10 @@ public class ICalendarEntry {
     private Date start;\r
     private Date end;\r
     private String title;\r
+    private String description;\r
     private boolean notime;\r
 \r
-    public ICalendarEntry(Date start, Date end, String title, boolean notime) {\r
+    public ICalendarEntry(Date start, Date end, String title, String description, boolean notime) {\r
        if (notime) {\r
            Date d = new Date(start.getTime());\r
            d.setSeconds(0);\r
@@ -29,11 +30,12 @@ public class ICalendarEntry {
            this.end = end;\r
        }\r
        this.title = title;\r
+       this.description = description;\r
        this.notime = notime;\r
     }\r
 \r
-    public ICalendarEntry(Date start, Date end, String title) {\r
-       this(start, end, title, false);\r
+    public ICalendarEntry(Date start, Date end, String title, String description) {\r
+       this(start, end, title, description, false);\r
     }\r
 \r
     public Date getStart() {\r
@@ -60,6 +62,14 @@ public class ICalendarEntry {
        this.title = title;\r
     }\r
 \r
+    public String getDescription() {\r
+       return description;\r
+    }\r
+\r
+    public void setDescription(String description) {\r
+       this.description = description;\r
+    }\r
+\r
     public boolean isNotime() {\r
        return notime;\r
     }\r
index 9e1a4742a8e88b414145a674d59f81a7eb1c74a6..83ae89c9f69fb2376470bee9b1e6a30cb69a032c 100644 (file)
@@ -23,6 +23,7 @@ public class CalendarField extends DateField implements Container.Viewer {
     private Object itemStartPropertyId;\r
     private Object itemEndPropertyId;\r
     private Object itemTitlePropertyId;\r
+    private Object itemDescriptionPropertyId;\r
     private Object itemNotimePropertyId;\r
 \r
     public CalendarField() {\r
@@ -187,6 +188,14 @@ public class CalendarField extends DateField implements Container.Viewer {
        this.itemTitlePropertyId = propertyId;\r
     }\r
 \r
+    public Object getItemDescriptionPropertyId() {\r
+       return itemDescriptionPropertyId;\r
+    }\r
+\r
+    public void setItemDescriptionPropertyId(Object propertyId) {\r
+       this.itemDescriptionPropertyId = propertyId;\r
+    }\r
+\r
     public Object getitemNotimePropertyId() {\r
        return itemNotimePropertyId;\r
     }\r
@@ -264,6 +273,13 @@ public class CalendarField extends DateField implements Container.Viewer {
                                target.addAttribute("title", val.toString());\r
                            }\r
                        }\r
+                       if (this.itemDescriptionPropertyId != null) {\r
+                           p = item.getItemProperty(this.itemDescriptionPropertyId);\r
+                           Object val = p.getValue();\r
+                           if (val != null) {\r
+                               target.addAttribute("description", val.toString());\r
+                           }\r
+                       }\r
                        if (this.itemNotimePropertyId != null) {\r
                            p = item\r
                                    .getItemProperty(this.itemNotimePropertyId);\r