Example usage for com.google.gwt.animation.client Animation Animation

List of usage examples for com.google.gwt.animation.client Animation Animation

Introduction

In this page you can find the example usage for com.google.gwt.animation.client Animation Animation.

Prototype

public Animation() 

Source Link

Document

Construct a new Animation .

Usage

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);

}