/ftr-gwt-demo/src/main/java/eu/future/earth/gwt/client/hordate/HorizontalDateRendererDemo.java

http://ftr-gwt-library.googlecode.com/ · Java · 180 lines · 139 code · 41 blank · 0 comment · 10 complexity · 9637765d2908c687a007bce1b26c1443 MD5 · raw file

  1. package eu.future.earth.gwt.client.hordate;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.HashMap;
  5. import com.google.gwt.user.client.ui.Label;
  6. import com.google.gwt.user.client.ui.Widget;
  7. import eu.future.earth.gwt.client.date.DateEvent.DateEventActions;
  8. import eu.future.earth.gwt.client.date.DateEventListener;
  9. import eu.future.earth.gwt.client.date.DefaultEventData;
  10. import eu.future.earth.gwt.client.date.EventPanel;
  11. import eu.future.earth.gwt.client.date.horizontal.BaseHorizontalDateRenderer;
  12. import eu.future.earth.gwt.client.date.horizontal.HorizontalAddCallBackHandler;
  13. import eu.future.earth.gwt.client.date.horizontal.HorizontalRemoveCallBackHandler;
  14. import eu.future.earth.gwt.client.date.horizontal.HorizontalUpdateCallBackHandler;
  15. import eu.future.earth.gwt.client.date.horizontal.HorizontalViewPanelNoDays;
  16. public class HorizontalDateRendererDemo extends BaseHorizontalDateRenderer<DefaultEventData, UserDemo> implements DemoHandler {
  17. public int getEndHour() {
  18. return 23;
  19. }
  20. public int getStartHour() {
  21. return 0;
  22. }
  23. public boolean enableDragAndDrop() {
  24. return true;
  25. }
  26. public void createNewAfterClick(UserDemo theMaster, Date currentDate, Date endTime, DateEventListener<DefaultEventData> listener) {
  27. UserDemo master = (UserDemo) theMaster;
  28. if (theMaster == null) {
  29. return;
  30. }
  31. final DefaultEventData data = new DefaultEventData(System.currentTimeMillis());
  32. data.setStartTime(currentDate);
  33. data.setMasterId(master.getId());
  34. data.setEndTime(endTime);
  35. final DefaultStringEventDataDialog dialog = new DefaultStringEventDataDialog(this, data);
  36. dialog.addDateEventHandler(listener);
  37. dialog.show();
  38. dialog.center();
  39. }
  40. public void createNewAfterClick(UserDemo theMaster, Date currentDate, DateEventListener<DefaultEventData> listener) {
  41. UserDemo master = (UserDemo) theMaster;
  42. if (theMaster == null) {
  43. return;
  44. }
  45. final DefaultEventData data = new DefaultEventData(System.currentTimeMillis());
  46. data.setStartTime(currentDate);
  47. data.setMasterId(master.getId());
  48. final DefaultStringEventDataDialog dialog = new DefaultStringEventDataDialog(this, data);
  49. dialog.addDateEventHandler(listener);
  50. dialog.show();
  51. dialog.center();
  52. }
  53. public EventPanel<DefaultEventData> createPanel(DefaultEventData newData) {
  54. final DefaultHorizontalDayField panel = new DefaultHorizontalDayField(this, newData);
  55. return panel;
  56. }
  57. public void editAfterClick(UserDemo theMaster, DefaultEventData data, DateEventListener<DefaultEventData> listener) {
  58. final DefaultStringEventDataDialog dialog = new DefaultStringEventDataDialog(this, data, DateEventActions.UPDATE);
  59. dialog.addDateEventHandler(listener);
  60. dialog.show();
  61. dialog.center();
  62. }
  63. public Date getEndTime(DefaultEventData data) {
  64. return data.getEndTime();
  65. }
  66. public Date getStartTime(DefaultEventData data) {
  67. return data.getStartTime();
  68. }
  69. public void setEndTime(DefaultEventData data, Date newEnd) {
  70. data.setEndTime(newEnd);
  71. }
  72. public void setStartTime(DefaultEventData data, Date newStart) {
  73. data.setStartTime(newStart);
  74. }
  75. public boolean isDurationAcceptable(int minutes) {
  76. return minutes >= (60 / getIntervalsPerHour());
  77. }
  78. public boolean isMaster(UserDemo theMaster, DefaultEventData theDateObject) {
  79. UserDemo master = (UserDemo) theMaster;
  80. DefaultEventData real = (DefaultEventData) theDateObject;
  81. if (real.getMasterId() == master.getId()) {
  82. return true;
  83. }
  84. return false;
  85. }
  86. public Widget getLabelForMaster(UserDemo theMaster) {
  87. UserDemo master = (UserDemo) theMaster;
  88. if (theMaster != null) {
  89. return new Label(master.getName());
  90. }
  91. return null;
  92. }
  93. public boolean isSameMaster(UserDemo theMaster, UserDemo theOtherMaster) {
  94. UserDemo master = (UserDemo) theMaster;
  95. UserDemo sec = (UserDemo) theOtherMaster;
  96. return sec.getId() == master.getId();
  97. }
  98. public void getMaster(HorizontalViewPanelNoDays<DefaultEventData, UserDemo> caller, DefaultEventData real) {
  99. UserDemo test = new UserDemo(real.getMasterId(), "Not set");
  100. caller.addRow(test);
  101. caller.addEventData(real);
  102. }
  103. @Override
  104. public boolean equal(DefaultEventData one, DefaultEventData two) {
  105. return one.getIdentifier().equals(two.getIdentifier());
  106. }
  107. @Override
  108. public String getId(DefaultEventData data) {
  109. return data.getIdentifier();
  110. }
  111. @Override
  112. public void getEventsForRange(HorizontalViewPanelNoDays<DefaultEventData, UserDemo> view) {
  113. ArrayList<DefaultEventData> found = new ArrayList<DefaultEventData>();
  114. java.util.Iterator<DefaultEventData> walker = items.values().iterator();
  115. while (walker.hasNext()) {
  116. DefaultEventData data = (DefaultEventData) walker.next();
  117. found.add(data);
  118. }
  119. view.setEvents(found);
  120. }
  121. @Override
  122. public void addEvent(HorizontalAddCallBackHandler<DefaultEventData, UserDemo> callback) {
  123. items.put(callback.getData().getIdentifier(), callback.getData());
  124. callback.onSuccess(callback.getData());
  125. }
  126. @Override
  127. public void updateEvent(HorizontalUpdateCallBackHandler<DefaultEventData, UserDemo> callback) {
  128. items.put(callback.getData().getIdentifier(), callback.getData());
  129. callback.succes();
  130. }
  131. @Override
  132. public void removeEvent(HorizontalRemoveCallBackHandler<DefaultEventData, UserDemo> callback) {
  133. items.put(callback.getData().getIdentifier(), callback.getData());
  134. callback.succes();
  135. }
  136. private HashMap<String, DefaultEventData> items = new HashMap<String, DefaultEventData>();
  137. public void addEvent(DefaultEventData example) {
  138. }
  139. }