List of usage examples for com.google.gwt.animation.client Animation Animation
public Animation()
From source file:com.alkacon.geranium.client.util.DomUtil.java
License:Open Source License
/** * Ensures that the given element is visible.<p> * /*from ww w . j a v a 2s . c om*/ * Assuming the scrollbars are on the container element, and that the element is a child of the container element.<p> * * @param containerElement the container element, has to be parent of the element * @param element the element to be seen * @param animationTime the animation time for scrolling, use zero for no animation */ public static void ensureVisible(final Element containerElement, Element element, int animationTime) { Element item = element; int realOffset = 0; while ((item != null) && (item != containerElement)) { realOffset += element.getOffsetTop(); item = item.getOffsetParent(); } final int endScrollTop = realOffset - (containerElement.getOffsetHeight() / 2); if (animationTime <= 0) { // no animation containerElement.setScrollTop(endScrollTop); return; } final int startScrollTop = containerElement.getScrollTop(); (new Animation() { /** * @see com.google.gwt.animation.client.Animation#onUpdate(double) */ @Override protected void onUpdate(double progress) { containerElement.setScrollTop(startScrollTop + (int) ((endScrollTop - startScrollTop) * progress)); } }).run(animationTime); }
From source file:com.axlight.gbrain.client.MainPane.java
License:Apache License
private void slideToPosition(int posX, int posY) { final int lastLeft = getWindowScrollLeft(); final int lastTop = getWindowScrollTop(); final int screenWidth = getWindowScreenWidth(); final int screenHeight = getWindowScreenHeight(); if (posX < viewX + screenWidth / 2 || posX > viewX + viewWidth - screenWidth / 2 || posY < viewY + screenHeight / 2 || posY > viewY + viewHeight - screenHeight / 2) { // outside of the view, can't scroll. relocateCenter(posX, posY);/*ww w . j a va 2 s.c om*/ return; } int prevCenterPosX = viewX + lastLeft + screenWidth / 2; int prevCenterPosY = viewY + lastTop + screenHeight / 2; final int diffX = posX - prevCenterPosX; final int diffY = posY - prevCenterPosY; new Animation() { protected void onUpdate(double progress) { progress = interpolate(progress); Window.scrollTo((int) (lastLeft + diffX * progress), (int) (lastTop + diffY * progress)); } protected void onComplete() { Window.scrollTo(lastLeft + diffX, lastTop + diffY); setWidgetPosition(buttonPanel, lastLeft + diffX, lastTop + diffY + screenHeight - buttonPanel.getOffsetHeight()); } }.run(2000); }
From source file:com.bramosystems.oss.player.showcase.client.ControlPane.java
License:Apache License
public ControlPane() { animator = new Animation() { @Override//from www .ja va 2 s . co m protected void onUpdate(double progress) { onAnimatorUpdate(progress); } }; playlistPane = PlaylistPane.singleton; playerLog = new PlayerLogPane(); tp = new TabPanel(); tp.add(playlistPane, "Playlist"); tp.add(playerLog, "Player Log"); tp.addBeforeSelectionHandler(new BeforeSelectionHandler<Integer>() { @Override public void onBeforeSelection(BeforeSelectionEvent<Integer> event) { if ((event.getItem() == selectedTab) || !fullState) { toggle(); } selectedTab = event.getItem(); } }); initWidget(tp); }
From source file:com.canoo.gwt.contentflow4gwt.client.ContentFlowDemo.java
License:Open Source License
private void animatePopupPanel(final PopupPanel popupPanel, final int initialLeft, final int finalLeft, int duration) { new Animation() { @Override// w ww .ja va 2 s .c om protected void onUpdate(double progress) { int left = (int) (((1 - progress) * initialLeft) + (progress * finalLeft)); popupPanel.setPopupPosition(left, 100); } }.run(duration); }
From source file:com.moesol.gwt.maps.client.controls.BubbleControl.java
License:Open Source License
/** * Show the bubble control over the map using an animation. If you call this * method from HoverHandler you can pass clientX and clientY from the event * to have the bubble show up near the mouse. * /* w w w .j a v a 2 s. com*/ * @param x * - clientX * @param y * - clientY */ public void animateShow(int x, int y) { m_initialX = x; m_initialY = y; Animation a = new Animation() { @Override protected void onStart() { //getWidget().getElement().getStyle().setProperty("fontSize", 0.0 * 100.0 + "%"); setPopupPosition(m_initialX, m_initialY); show(); } @Override protected void onUpdate(double progress) { //getWidget().getElement().getStyle().setProperty("fontSize", progress * 100.0 + "%"); int targetX = Math.min(m_initialX + (int) (LEFT_OFFSET * progress), Window.getClientWidth() - getOffsetWidth()); int targetY = m_initialY + (int) (TOP_OFFSET * progress) - getOffsetHeight(); targetY = Math.max(targetY, Document.get().getScrollTop()); setPopupPosition(targetX, targetY); } }; a.run(m_duration); }
From source file:com.vaadin.client.ui.TouchScrollDelegate.java
License:Apache License
/** * Note positive scrolltop moves layer up, positive translate moves layer * down./* w ww. j a v a2 s .c o m*/ * * @param duration */ private void translateTo(int duration, final int fromY, final int finalY) { if (duration > 0) { transitionOn = true; momentum = new Animation() { @Override protected void onUpdate(double progress) { lastAnimatedTranslateY = (fromY + (finalY - fromY) * progress); translateTo(lastAnimatedTranslateY); } @Override protected double interpolate(double progress) { return 1 + Math.pow(progress - 1, 3); } @Override protected void onComplete() { super.onComplete(); transitionOn = false; onTransitionEnd(); } @Override protected void onCancel() { int delta = (int) (finalY - lastAnimatedTranslateY); finalScrollTop -= delta; moveTransformationToScrolloffset(); transitionOn = false; } }; momentum.run(duration); } }
From source file:geogebra.web.gui.app.docklayout.MyLayout.java
License:Apache License
/** * Updates the layout by animating it over time, with a callback on each frame * of the animation, and upon completion. * /*from w w w .j av a 2s.com*/ * @param duration the duration of the animation * @param callback the animation callback */ public void layout(int duration, final AnimationCallback callback) { // Cancel the old animation, if there is one. if (animation != null) { animation.cancel(); } // If there's no actual animation going on, don't do any of the expensive // constraint calculations or anything like that. if (duration == 0) { for (Layer l : layers) { l.left = l.sourceLeft = l.targetLeft; l.top = l.sourceTop = l.targetTop; l.right = l.sourceRight = l.targetRight; l.bottom = l.sourceBottom = l.targetBottom; l.width = l.sourceWidth = l.targetWidth; l.height = l.sourceHeight = l.targetHeight; l.setLeft = l.setTargetLeft; l.setTop = l.setTargetTop; l.setRight = l.setTargetRight; l.setBottom = l.setTargetBottom; l.setWidth = l.setTargetWidth; l.setHeight = l.setTargetHeight; l.leftUnit = l.targetLeftUnit; l.topUnit = l.targetTopUnit; l.rightUnit = l.targetRightUnit; l.bottomUnit = l.targetBottomUnit; l.widthUnit = l.targetWidthUnit; l.heightUnit = l.targetHeightUnit; impl.layout(l); } impl.finalizeLayout(parentElem); if (callback != null) { callback.onAnimationComplete(); } return; } // Deal with constraint changes (e.g. left-width => right-width, etc) int parentWidth = parentElem.getClientWidth(); int parentHeight = parentElem.getClientHeight(); for (Layer l : layers) { adjustHorizontalConstraints(parentWidth, l); adjustVerticalConstraints(parentHeight, l); } animation = new Animation() { @Override protected void onCancel() { onComplete(); } @Override protected void onComplete() { animation = null; layout(); if (callback != null) { callback.onAnimationComplete(); } } @Override protected void onUpdate(double progress) { for (Layer l : layers) { if (l.setTargetLeft) { l.left = l.sourceLeft + (l.targetLeft - l.sourceLeft) * progress; } if (l.setTargetRight) { l.right = l.sourceRight + (l.targetRight - l.sourceRight) * progress; } if (l.setTargetTop) { l.top = l.sourceTop + (l.targetTop - l.sourceTop) * progress; } if (l.setTargetBottom) { l.bottom = l.sourceBottom + (l.targetBottom - l.sourceBottom) * progress; } if (l.setTargetWidth) { l.width = l.sourceWidth + (l.targetWidth - l.sourceWidth) * progress; } if (l.setTargetHeight) { l.height = l.sourceHeight + (l.targetHeight - l.sourceHeight) * progress; } impl.layout(l); if (callback != null) { callback.onLayout(l, progress); } } impl.finalizeLayout(parentElem); } }; animation.run(duration, parentElem); }
From source file:net.scran24.user.client.survey.flat.PromptInterfaceManager.java
License:Apache License
public void applyInterface(final Prompt<Survey, SurveyOperation> prompt, final Callback1<SurveyOperation> applyOperation, final Callback1<Function1<Survey, Survey>> applyIntermediateState) { final SurveyStageInterface interf = prompt.getInterface(applyOperation, applyIntermediateState); Iterator<Widget> i = interfacePanel.iterator(); int h = 0;/* w w w . j a v a 2 s . com*/ boolean previousPrompt = i.hasNext(); final double animDirection = LocaleInfo.getCurrentLocale().isRTL() ? 1.0 : -1.0; while (i.hasNext()) { final Widget w = i.next(); w.getElement().removeClassName("intake24-active-prompt"); int wh = w.getElement().getClientHeight(); if (wh > h) h = wh; w.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); Animation anim = new Animation() { @Override protected void onUpdate(double progress) { w.getElement().getStyle().setLeft(animDirection * progress * 105, Unit.PCT); } @Override protected void onComplete() { w.removeFromParent(); } }; anim.run(animDuration); } final FlowPanel newPrompt = new FlowPanel(); newPrompt.setWidth("100%"); newPrompt.getElement().addClassName("intake24-active-prompt"); newPrompt.getElement().setId("intake24-prompt-scroll-target"); interfacePanel.add(newPrompt); scrollPromptIntoView(); newPrompt.getElement().getStyle().setPosition(Position.RELATIVE); newPrompt.getElement().getStyle().setProperty("verticalAlign", "top"); newPrompt.getElement().getStyle().setProperty("whiteSpace", "normal"); if (previousPrompt) { //newPrompt.getElement().getStyle().setLeft(100, Unit.PCT); newPrompt.getElement().getStyle().setDisplay(Display.INLINE_BLOCK); Animation anim = new Animation() { @Override protected void onUpdate(double progress) { newPrompt.getElement().getStyle().setLeft(animDirection * progress * 100, Unit.PCT); } @Override protected void onComplete() { newPrompt.getElement().getStyle().setLeft(0, Unit.PX); newPrompt.getElement().getStyle().clearDisplay(); interf.onAnimationComplete.accept(new Option.SideEffectVisitor<Callback>() { @Override public void visitSome(Callback item) { item.call(); } @Override public void visitNone() { } }); IEHack.forceReflowDeferred(); } }; anim.run(animDuration); } interf.accept(new SurveyStageInterface.Visitor() { @Override public void visitStretched(Stretched ssi) { //newPrompt.setWidth("100%"); // newPrompt.setHeight("100%"); newPrompt.add(ssi.content); } @Override public void visitAligned(Aligned ssi) { //newPrompt.setWidth("100%"); // newPrompt.setHeight("100%"); // newPrompt.getElement().getStyle().clearWidth(); // newPrompt.getElement().getStyle().clearHeight(); newPrompt.add(ssi.content); } }); }
From source file:org.chtijbug.workbench.drools.client.KieDroolsWorkbenchEntryPoint.java
License:Apache License
private void hideLoadingPopup() { final Element e = RootPanel.get("loading").getElement(); new Animation() { @Override/* ww w .j a v a2 s . c om*/ protected void onUpdate(double progress) { e.getStyle().setOpacity(1.0 - progress); } @Override protected void onComplete() { e.getStyle().setVisibility(Style.Visibility.HIDDEN); } }.run(500); }
From source file:org.drools.guvnor.client.BpmRuntimeEntryPoint.java
License:Apache License
private void hideLoadingPopup() { final Element e = RootPanel.get("loading").getElement(); Animation r = new Animation() { @Override//from ww w . j av a 2s . c o m protected void onUpdate(double progress) { e.getStyle().setOpacity(1.0 - progress); } @Override protected void onComplete() { e.getStyle().setVisibility(Visibility.HIDDEN); } }; r.run(500); }