You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ReservationWidgetSet.java 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. @ITMillApache2LicenseForJavaFiles@
  3. */
  4. package com.itmill.toolkit.demo.reservation.gwt.client;
  5. import com.google.gwt.core.client.GWT;
  6. import com.google.gwt.user.client.ui.Widget;
  7. import com.itmill.toolkit.demo.reservation.gwt.client.ui.ICalendarField;
  8. import com.itmill.toolkit.demo.reservation.gwt.client.ui.IGoogleMap;
  9. import com.itmill.toolkit.terminal.gwt.client.DefaultWidgetSet;
  10. import com.itmill.toolkit.terminal.gwt.client.UIDL;
  11. public class ReservationWidgetSet extends DefaultWidgetSet {
  12. public Widget createWidget(UIDL uidl) {
  13. final String className = resolveWidgetTypeName(uidl);
  14. if ("com.itmill.toolkit.terminal.gwt.client.ui.IGoogleMap"
  15. .equals(className)) {
  16. return new IGoogleMap();
  17. } else if ("com.itmill.toolkit.demo.reservation.gwt.client.ui.ICalendarField"
  18. .equals(className)) {
  19. return new ICalendarField();
  20. }
  21. return super.createWidget(uidl);
  22. }
  23. protected String resolveWidgetTypeName(UIDL uidl) {
  24. final String tag = uidl.getTag();
  25. if ("googlemap".equals(tag)) {
  26. return "com.itmill.toolkit.terminal.gwt.client.ui.IGoogleMap";
  27. } else if ("calendarfield".equals(tag)) {
  28. return "com.itmill.toolkit.demo.reservation.gwt.client.ui.ICalendarField";
  29. }
  30. return super.resolveWidgetTypeName(uidl);
  31. }
  32. public boolean isCorrectImplementation(Widget currentWidget, UIDL uidl) {
  33. return GWT.getTypeName(currentWidget).equals(
  34. resolveWidgetTypeName(uidl));
  35. }
  36. }