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

http://alageospatialportal.googlecode.com/ · Java · 70 lines · 50 code · 12 blank · 8 comment · 5 complexity · f8660a8fda7497bf7fa792d0f0c98173 MD5 · raw file

  1. package au.org.emii.portal.composer;
  2. import au.org.emii.portal.menu.MapLayer;
  3. import org.zkoss.zul.Label;
  4. import org.zkoss.zul.Radiogroup;
  5. public class AnimationFramesComposer extends UtilityComposer {
  6. private static final long serialVersionUID = 1L;
  7. private MapLayer activeLayer;
  8. private Label errorMessage;
  9. private Radiogroup selectedFrameRate;
  10. // ok button
  11. public void onClick$submit() {
  12. if (validate()) {
  13. String selected = selectedFrameRate.getSelectedItem().getValue();
  14. logger.debug("OK clicked - fetching animation for " + selected);
  15. activeLayer.getAnimationSelection().setSelectedTimeStringKey(selected);
  16. detach();
  17. // show the animation layer now
  18. getAnimationControlsComposer().activateAnimation(activeLayer);
  19. }
  20. else {
  21. errorMessage.setVisible(true);
  22. }
  23. }
  24. // cancel button
  25. @Override
  26. public void onClick$close() {
  27. detach();
  28. }
  29. private boolean validate() {
  30. boolean valid;
  31. if (selectedFrameRate.getSelectedItem() != null) {
  32. valid = true;
  33. }
  34. else {
  35. valid = false;
  36. }
  37. return valid;
  38. }
  39. @Override
  40. public void afterCompose() {
  41. super.afterCompose();
  42. // select the last item in the list (least frames) by default
  43. selectedFrameRate.setSelectedIndex(selectedFrameRate.getItemCount() - 1);
  44. }
  45. public AnimationControlsComposer getAnimationControlsComposer() {
  46. return null; /*((MapComposer) Executions.getCurrent()
  47. .getDesktop()
  48. .getPage("MapZul")
  49. .getFellow("mapPortalPage")
  50. ).getAnimationControlsComposer();*/
  51. }
  52. public MapLayer getActiveLayer() {
  53. return activeLayer;
  54. }
  55. public void setActiveLayer(MapLayer activeLayer) {
  56. this.activeLayer = activeLayer;
  57. }
  58. }