]> source.dussan.org Git - vaadin-framework.git/blob
d1ad40567a506f162ae441aebac4ecfb8f00ca51
[vaadin-framework.git] /
1 /*
2  * Copyright 2000-2021 Vaadin Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16
17 package com.vaadin.v7.client.ui.progressindicator;
18
19 import com.google.gwt.user.client.Timer;
20 import com.vaadin.client.communication.StateChangeEvent;
21 import com.vaadin.shared.ui.Connect;
22 import com.vaadin.v7.client.ui.VProgressBar;
23 import com.vaadin.v7.client.ui.VProgressIndicator;
24 import com.vaadin.v7.shared.ui.progressindicator.ProgressIndicatorServerRpc;
25 import com.vaadin.v7.shared.ui.progressindicator.ProgressIndicatorState;
26 import com.vaadin.v7.ui.ProgressIndicator;
27
28 /**
29  * Connector for {@link VProgressBar} with polling support.
30  *
31  * @since 7.0
32  * @author Vaadin Ltd
33  * @deprecated as of 7.1, use {@link ProgressBarConnector} combined with server
34  *             push or UI polling.
35  */
36 @Connect(ProgressIndicator.class)
37 @Deprecated
38 public class ProgressIndicatorConnector extends ProgressBarConnector {
39
40     @Override
41     public ProgressIndicatorState getState() {
42         return (ProgressIndicatorState) super.getState();
43     }
44
45     private Timer poller = new Timer() {
46
47         @Override
48         public void run() {
49             getRpcProxy(ProgressIndicatorServerRpc.class).poll();
50         }
51
52     };
53
54     @Override
55     public void onStateChanged(StateChangeEvent stateChangeEvent) {
56         super.onStateChanged(stateChangeEvent);
57
58         if (isEnabled()) {
59             poller.scheduleRepeating(getState().pollingInterval);
60         } else {
61             poller.cancel();
62         }
63     }
64
65     @Override
66     public VProgressIndicator getWidget() {
67         return (VProgressIndicator) super.getWidget();
68     }
69
70     @Override
71     public void onUnregister() {
72         super.onUnregister();
73         poller.cancel();
74     }
75 }