Search in sources :

Example 41 with Timer

use of com.google.gwt.user.client.Timer in project rstudio by rstudio.

the class EnvironmentObjects method setDeferredObjectDisplay.

private void setDeferredObjectDisplay() {
    if (deferredObjectDisplayType_ == null) {
        return;
    }
    final int type = deferredObjectDisplayType_;
    // if we already have an active display of this type, do nothing
    if (type == objectDisplayType_ && objectDisplay_ != null) {
        return;
    }
    // clean up previous object display, if we had one
    if (objectDisplay_ != null) {
        objectDataProvider_.removeDataDisplay(objectDisplay_);
        splitPanel.remove(objectDisplay_);
    }
    try {
        // create the new object display and wire it to the data source
        if (type == OBJECT_LIST_VIEW) {
            objectDisplay_ = new EnvironmentObjectList(this, observer_, environmentName_);
            objectSort_.setSortType(RObjectEntrySort.SORT_AUTO);
        } else if (type == OBJECT_GRID_VIEW) {
            objectDisplay_ = new EnvironmentObjectGrid(this, observer_, environmentName_);
            objectSort_.setSortType(RObjectEntrySort.SORT_COLUMN);
        }
    } catch (Throwable e) {
        if (SuperDevMode.isActive()) {
            if (gridRenderRetryCount_ >= 5) {
                Debug.log("WARNING: Failed to render environment pane data grid");
            }
            gridRenderRetryCount_++;
            Debug.log("WARNING: Retrying environment data grid render (" + gridRenderRetryCount_ + ")");
            Timer t = new Timer() {

                @Override
                public void run() {
                    setObjectDisplay(type);
                }
            };
            t.schedule(5);
        }
        return;
    }
    objectDisplayType_ = type;
    Collections.sort(objectDataProvider_.getList(), objectSort_);
    updateCategoryLeaders(false);
    objectDataProvider_.addDataDisplay(objectDisplay_);
    objectDisplay_.getScrollPanel().addScrollHandler(new ScrollHandler() {

        @Override
        public void onScroll(ScrollEvent event) {
            if (useStatePersistence()) {
                deferredScrollPosition_ = getScrollPosition();
                observer_.setPersistedScrollPosition(deferredScrollPosition_);
            }
        }
    });
    objectDisplay_.setEmptyTableWidget(buildEmptyGridMessage());
    objectDisplay_.addStyleName(style.objectGrid());
    objectDisplay_.addStyleName(style.environmentPanel());
    splitPanel.add(objectDisplay_);
    deferredObjectDisplayType_ = null;
}
Also used : ScrollHandler(com.google.gwt.event.dom.client.ScrollHandler) Timer(com.google.gwt.user.client.Timer) ScrollEvent(com.google.gwt.event.dom.client.ScrollEvent)

Example 42 with Timer

use of com.google.gwt.user.client.Timer in project GwtMobile by dennisjzh.

the class KitchenSink method onModuleLoad.

@Override
public void onModuleLoad() {
    if (Utils.isAndroid() || Utils.isIOS()) {
        if (Utils.isAndroid()) {
            Event.onBackButton(new Event.Callback() {

                @Override
                public void onEventFired() {
                    onBackKeyDown();
                }
            });
        }
        Event.onDeviceReady(new Callback() {

            @Override
            public void onEventFired() {
                new Timer() {

                    @Override
                    public void run() {
                        if (mainUi == null) {
                            Utils.Console("Loading main ui...");
                            mainUi = new MainUi();
                            Page.load(mainUi);
                        } else {
                            this.cancel();
                        }
                    }
                }.scheduleRepeating(50);
            }
        });
    } else {
        mainUi = new MainUi();
        Page.load(mainUi);
    }
}
Also used : Callback(com.gwtmobile.phonegap.client.Event.Callback) Timer(com.google.gwt.user.client.Timer) Callback(com.gwtmobile.phonegap.client.Event.Callback) NativeEvent(com.google.gwt.dom.client.NativeEvent) Event(com.gwtmobile.phonegap.client.Event)

Example 43 with Timer

use of com.google.gwt.user.client.Timer in project GwtMobile by dennisjzh.

the class MediaUi method play.

public void play() {
    text.setHTML("Playing...");
    media.play();
    timer = new Timer() {

        @Override
        public void run() {
            if (Utils.isAndroid()) {
                media.getCurrentPosition(new PositionCallback() {

                    @Override
                    public void onSuccess(int position) {
                        int duration = media.getDuration();
                        text.setHTML(position + " / " + duration);
                    }

                    @Override
                    public void onError(MediaError error) {
                        text.setHTML("Get Current Position Error<br/>" + "Code: " + error.getCode() + "<br/>" + "Message: " + error.getMessage());
                    }
                });
            } else if (Utils.isIOS()) {
                text.setHTML(text.getHTML() + ".");
            }
        }
    };
    timer.scheduleRepeating(1000);
}
Also used : Timer(com.google.gwt.user.client.Timer) PositionCallback(com.gwtmobile.phonegap.client.Media.PositionCallback) MediaError(com.gwtmobile.phonegap.client.Media.MediaError)

Example 44 with Timer

use of com.google.gwt.user.client.Timer in project GwtMobile by dennisjzh.

the class MediaUi method startRecord.

public void startRecord() {
    text.setHTML("Recording. Say or sing something.<br/>");
    media.startRecord();
    timer = new Timer() {

        @Override
        public void run() {
            text.setHTML(text.getHTML() + ".");
        }
    };
    timer.scheduleRepeating(1000);
}
Also used : Timer(com.google.gwt.user.client.Timer)

Example 45 with Timer

use of com.google.gwt.user.client.Timer in project GwtMobile by dennisjzh.

the class NotificationUi method activity.

public void activity() {
    Notification.activityStart();
    new Timer() {

        @Override
        public void run() {
            Notification.activityStop();
        }
    }.schedule(3000);
}
Also used : Timer(com.google.gwt.user.client.Timer)

Aggregations

Timer (com.google.gwt.user.client.Timer)86 Command (com.google.gwt.user.client.Command)6 ScheduledCommand (com.google.gwt.core.client.Scheduler.ScheduledCommand)4 ServerError (org.rstudio.studio.client.server.ServerError)4 Element (com.google.gwt.dom.client.Element)3 SessionInfo (org.rstudio.studio.client.workbench.model.SessionInfo)3 Animation (com.google.gwt.animation.client.Animation)2 JsArray (com.google.gwt.core.client.JsArray)2 Style (com.google.gwt.dom.client.Style)2 Image (com.google.gwt.user.client.ui.Image)2 Label (com.google.gwt.user.client.ui.Label)2 VerticalPanel (com.google.gwt.user.client.ui.VerticalPanel)2 Widget (com.google.gwt.user.client.ui.Widget)2 PatchMethod (com.googlecode.gwt.test.patchers.PatchMethod)2 TimerTask (java.util.TimerTask)2 Operation (org.eclipse.che.api.promises.client.Operation)2 Operation (org.rstudio.core.client.widget.Operation)2 InvalidSessionInfo (org.rstudio.studio.client.application.model.InvalidSessionInfo)2 ServerRequestCallback (org.rstudio.studio.client.server.ServerRequestCallback)2 Optional (com.google.common.base.Optional)1