/webportal/src/main/java/au/org/emii/portal/composer/ExternalContentComposer.java

http://alageospatialportal.googlecode.com/ · Java · 79 lines · 60 code · 19 blank · 0 comment · 3 complexity · 98dadc95747379f7bef61d583da03df8 MD5 · raw file

  1. package au.org.emii.portal.composer;
  2. import org.zkoss.zk.ui.SuspendNotAllowedException;
  3. import org.zkoss.zk.ui.event.Event;
  4. import org.zkoss.zk.ui.event.EventListener;
  5. import org.zkoss.zk.ui.event.Events;
  6. import org.zkoss.zul.Iframe;
  7. import org.zkoss.zul.Window;
  8. public class ExternalContentComposer extends Window {
  9. private static final long serialVersionUID = 1L;
  10. String src;
  11. @Override
  12. public void doOverlapped() {
  13. super.doOverlapped();
  14. this.getFellow("hide").addEventListener("onClick", new EventListener() {
  15. public void onEvent(Event event) throws Exception {
  16. close();
  17. }
  18. });
  19. this.getFellow("reset").addEventListener("onClick", new EventListener() {
  20. public void onEvent(Event event) throws Exception {
  21. Events.echoEvent("setSrc", event.getTarget().getParent().getParent(), null);
  22. }
  23. });
  24. this.getFellow("breakout").addEventListener("onClick", new EventListener() {
  25. public void onEvent(Event event) throws Exception {
  26. close();
  27. }
  28. });
  29. }
  30. @Override
  31. public void doModal() throws InterruptedException, SuspendNotAllowedException {
  32. super.doModal();
  33. this.getFellow("hide").addEventListener("onClick", new EventListener() {
  34. public void onEvent(Event event) throws Exception {
  35. close();
  36. }
  37. });
  38. this.getFellow("reset").addEventListener("onClick", new EventListener() {
  39. public void onEvent(Event event) throws Exception {
  40. Events.echoEvent("setSrc", event.getTarget().getParent().getParent(), null);
  41. }
  42. });
  43. this.getFellow("breakout").addEventListener("onClick", new EventListener() {
  44. public void onEvent(Event event) throws Exception {
  45. close();
  46. }
  47. });
  48. }
  49. public void setSrc(Event event) {
  50. if(event.getData() == null) {
  51. ((Iframe)getFellow("externalContentIframe")).setSrc("");
  52. Events.echoEvent("setSrc", event.getTarget(), src);
  53. } else {
  54. ((Iframe)getFellow("externalContentIframe")).setSrc(src);
  55. }
  56. }
  57. void close() {
  58. detach();
  59. }
  60. }