aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/itmill/toolkit/demo/CalendarDemo.java63
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java18
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/public/component-themes/common/css/common.css2
3 files changed, 62 insertions, 21 deletions
diff --git a/src/com/itmill/toolkit/demo/CalendarDemo.java b/src/com/itmill/toolkit/demo/CalendarDemo.java
index abcde1eadc..24f1ba9681 100644
--- a/src/com/itmill/toolkit/demo/CalendarDemo.java
+++ b/src/com/itmill/toolkit/demo/CalendarDemo.java
@@ -3,10 +3,12 @@ package com.itmill.toolkit.demo;
import java.sql.SQLException;
import java.util.Date;
+import com.itmill.toolkit.data.Property.ValueChangeEvent;
+import com.itmill.toolkit.data.Property.ValueChangeListener;
import com.itmill.toolkit.data.util.QueryContainer;
import com.itmill.toolkit.demo.util.SampleCalendarDatabase;
-import com.itmill.toolkit.ui.Button;
import com.itmill.toolkit.ui.CalendarField;
+import com.itmill.toolkit.ui.OrderedLayout;
import com.itmill.toolkit.ui.Window;
/**
@@ -25,7 +27,8 @@ public class CalendarDemo extends com.itmill.toolkit.Application {
private SampleCalendarDatabase sampleDatabase;
// The calendar UI component
- private CalendarField calendar;
+ private CalendarField from;
+ private CalendarField to;
/**
* Initialize Application. Demo components are added to main window.
@@ -33,33 +36,62 @@ public class CalendarDemo extends com.itmill.toolkit.Application {
public void init() {
Window main = new Window("Calendar demo");
setMainWindow(main);
+
+ main.setLayout(new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL));
// set the application to use Corporate -theme
setTheme("corporate");
// create the calendar component and add to layout
- calendar = new CalendarField();
- main.addComponent(calendar);
- calendar.setResolution(CalendarField.RESOLUTION_HOUR);
+ from = new CalendarField();
+ main.addComponent(from);
+ from.setResolution(CalendarField.RESOLUTION_HOUR);
+ from.setImmediate(true);
+
+ to = new CalendarField();
+ main.addComponent(to);
+ to.setResolution(CalendarField.RESOLUTION_HOUR);
+ to.setEnabled(false);
+ to.setImmediate(true);
+
+ from.addListener(new ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ Date fd = (Date)from.getValue();
+ Date td = (Date)to.getValue();
+ if (fd == null) {
+ to.setValue(null);
+ to.setEnabled(false);
+ return;
+ } else {
+ to.setEnabled(true);
+ }
+ to.setMinimumDate(fd);
+ if (td == null||td.before(fd)) {
+ to.setValue(fd);
+ }
+ }
+ });
+
// initialize the sample database and set as calendar datasource
sampleDatabase = new SampleCalendarDatabase();
- initCalendar();
+ initCalendars();
// Don't allow dates before today
- calendar.setMinimumDate(new Date());
+ from.setMinimumDate(new Date());
}
/**
* Populates table component with all rows from calendar table.
*/
- private void initCalendar() {
+ private void initCalendars() {
try {
QueryContainer qc = new QueryContainer("SELECT * FROM "
+ SampleCalendarDatabase.DB_TABLE_NAME, sampleDatabase
.getConnection());
- calendar.setContainerDataSource(qc);
+ from.setContainerDataSource(qc);
+ to.setContainerDataSource(qc);
} catch (SQLException e) {
e.printStackTrace();
}
@@ -69,11 +101,18 @@ public class CalendarDemo extends com.itmill.toolkit.Application {
// first one, so it's intentionally left out.
// Start is the only mandatory property, but you'll probably want to
// specify title as well.
- calendar.setItemEndPropertyId(SampleCalendarDatabase.PROPERTY_ID_END);
- calendar
+ from.setItemEndPropertyId(SampleCalendarDatabase.PROPERTY_ID_END);
+ from
+ .setItemTitlePropertyId(SampleCalendarDatabase.PROPERTY_ID_TITLE);
+ from
+ .setItemNotimePropertyId(SampleCalendarDatabase.PROPERTY_ID_NOTIME);
+
+ to.setItemEndPropertyId(SampleCalendarDatabase.PROPERTY_ID_END);
+ to
.setItemTitlePropertyId(SampleCalendarDatabase.PROPERTY_ID_TITLE);
- calendar
+ to
.setItemNotimePropertyId(SampleCalendarDatabase.PROPERTY_ID_NOTIME);
+
}
}
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java
index f6473430c0..c9666b9e9e 100644
--- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java
+++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ICalendar.java
@@ -29,9 +29,11 @@ public class ICalendar extends IDateField {
private int realResolution = RESOLUTION_DAY;
+ private static final String CLASSNAME = IDateField.CLASSNAME + "-entrycalendar";
+
public ICalendar() {
super();
- setStyleName(CLASSNAME + "-entrycalendar");
+ setStyleName(CLASSNAME);
calPanel = new ICalendarPanel(this);
add(calPanel);
this.entrySource = new EntrySource();
@@ -80,7 +82,7 @@ public class ICalendar extends IDateField {
hourTable.addTableListener(this.ftListener);
SimplePanel p = new SimplePanel();
p.add(hourTable);
- p.setStyleName(getStyleName() + "-hours");
+ p.setStyleName(CLASSNAME + "-hours");
this.calPanel.getFlexCellFormatter().setColSpan(8, 0, 7);
this.calPanel.setWidget(8, 0, p);
}
@@ -94,7 +96,7 @@ public class ICalendar extends IDateField {
}
}
hourTable.getRowFormatter().setStyleName(i,
- getStyleName() + "-row-" + style);
+ CLASSNAME + "-row-" + style);
if (firstRender) {
String hstr = (i < 10 ? "0" : "") + i + ":00";
if (this.dts.isTwelveHourClock()) {
@@ -103,21 +105,21 @@ public class ICalendar extends IDateField {
}
hourTable.setHTML(i, 0, "<span>" + hstr + "</span>");
hourTable.getCellFormatter().setStyleName(i, 0,
- getStyleName() + "-time");
+ CLASSNAME + "-time");
}
List entries = this.entrySource.getEntries(curr,
DateTimeService.RESOLUTION_HOUR);
+ String text = "";
if (entries != null) {
- String text = "";
for (Iterator it = entries.iterator(); it.hasNext();) {
String title = ((ICalendarEntry) it.next()).getTitle();
text += (text == "" ? "" : ", ")
+ (title != null ? title : "?");
}
- hourTable.setHTML(i, 1, "<span>" + text + "</span>");
- hourTable.getCellFormatter().setStyleName(i, 1,
- getStyleName() + "-title");
}
+ hourTable.setHTML(i, 1, "<span>" + text + "</span>");
+ hourTable.getCellFormatter().setStyleName(i, 1,
+ CLASSNAME + "-title");
}
}
diff --git a/src/com/itmill/toolkit/terminal/gwt/public/component-themes/common/css/common.css b/src/com/itmill/toolkit/terminal/gwt/public/component-themes/common/css/common.css
index 393b5733d4..f2769090a0 100644
--- a/src/com/itmill/toolkit/terminal/gwt/public/component-themes/common/css/common.css
+++ b/src/com/itmill/toolkit/terminal/gwt/public/component-themes/common/css/common.css
@@ -24,7 +24,7 @@ select {
.i-disabled {
opacity: 0.3;
- filter: alpha(opacity:30);
+ filter: Alpha(opacity=30);
}
.i-contextmenu {