/** * Set the current frame to the index supplied. Turn off animation This ignores any frames the * user may have turned off * * @param index index into the animation set */ public void gotoIndex(int index) { if (anime != null) { setRunning(false); anime.setCurrent(index, false); } shareValue(); }
/** * Method called when sharing is turned on. * * @param from source of shareable information * @param dataId ID for the data * @param data the shareable data */ public void receiveShareData(Sharable from, Object dataId, Object[] data) { if (dataId.equals(SHARE_INDEX)) { if (anime != null) { anime.setCurrent(((Integer) data[0]).intValue()); } } else if (dataId.equals(SHARE_VALUE)) { Real sharedValue = (Real) data[0]; debug("receiveShareData " + sharedValue); handleSharedTime(sharedValue); } else if (dataId.equals(CMD_STARTSTOP)) { setRunning(((Boolean) data[0]).booleanValue()); } else if (dataId.equals(CMD_FORWARD)) { stepForward(); } else if (dataId.equals(CMD_BACKWARD)) { stepBackward(); } else if (dataId.equals(CMD_BEGINNING)) { gotoBeginning(); } else if (dataId.equals(CMD_END)) { gotoEnd(); } else if (dataId.equals(CMD_PROPS)) { AnimationInfo newInfo = (AnimationInfo) data[0]; if (propertiesDialog != null) { newInfo.shared = getSharing(); propertiesDialog.setInfo(newInfo); } setProperties(newInfo); } else { super.receiveShareData(from, dataId, data); } }
/** Go to the beginning of the animation sequence. */ public void gotoBeginning() { if (anime != null) { anime.setCurrent(0); } setRunning(false); // shareIndex (); shareValue(); }
/** Go to the end of the animation sequence. */ public void gotoEnd() { if (anime != null) { visad.Set aset = anime.getSet(); if (aset != null) { try { anime.setCurrent(aset.getLength() - 1); } catch (VisADException ve) {; } } } setRunning(false); // shareIndex (); shareValue(); }