List of usage examples for com.google.gwt.user.client Timer run
public abstract void run();
From source file:$.ResizableMapLayout.java
License:Open Source License
/** * Create a resizable map layout for the given map. The map will be added to this layout. * /*from w w w. j ava 2s. c o m*/ * @param mapPresenter * The map to add. */ public ResizableMapLayout(final MapPresenter mapPresenter) { this.mapPresenter = mapPresenter; mapPresenter.getEventBus().addHandler(MapInitializationHandler.TYPE, new RedrawMapInitializationHandler()); layout = new ResizeLayoutPanel(); layout.setSize("100%", "100%"); layout.add(mapPresenter.asWidget()); // Add an automatic resize handler to set the correct size when the window resizes: Window.addResizeHandler(new ResizeHandler() { public void onResize(ResizeEvent event) { applySize(); } }); // Calculate the correct size on load: layout.addAttachHandler(new AttachEvent.Handler() { public void onAttachOrDetach(AttachEvent event) { Timer timer = new Timer() { @Override public void run() { if (!applySize()) { schedule(50); } } }; timer.run(); } }); }
From source file:be.progs.routeshare.client.ResizableMapLayout.java
License:Open Source License
/** * Create a resizable map layout for the given map. The map will be added to this layout. * * @param mapPresenter The map to add./*from w w w .j ava 2 s. c o m*/ */ public ResizableMapLayout(final MapPresenter mapPresenter) { this.mapPresenter = mapPresenter; mapPresenter.getEventBus().addHandler(MapInitializationHandler.TYPE, new RedrawMapInitializationHandler()); layout = new ResizeLayoutPanel(); layout.setSize("100%", "100%"); layout.add(mapPresenter.asWidget()); // Add an automatic resize handler to set the correct size when the window resizes: Window.addResizeHandler(new ResizeHandler() { @Override public void onResize(ResizeEvent event) { applySize(); } }); // Calculate the correct size on load: layout.addAttachHandler(new AttachEvent.Handler() { public void onAttachOrDetach(AttachEvent event) { Timer timer = new Timer() { @Override public void run() { if (!applySize()) { schedule(50); } } }; timer.run(); } }); }
From source file:bingo.client.Bingo.java
License:Open Source License
private void initAdminGrid(final String userId, final BingoGrid bingoGrid, final boolean hasFinished) { final Timer timer = new Timer() { int totalParticipants = 0; @Override//w ww . j ava 2 s.c om public void run() { bingoService.getTotalParticipants(userId, new AsyncCallback<Integer>() { @Override public void onFailure(Throwable caught) { } @Override public void onSuccess(Integer result) { totalParticipants = result.intValue(); } }); bingoService.getVotes(userId, new AsyncCallback<int[][]>() { @Override public void onFailure(Throwable caught) { message.setText(caught.getMessage()); } @Override public void onSuccess(int[][] result) { if (result == null) { result = new int[BingoGrid.ROW][BingoGrid.COL]; for (int i = 0; i < BingoGrid.ROW; i++) for (int j = 0; j < BingoGrid.COL; j++) result[i][j] = 0; } for (int row = 0; row < BingoGrid.ROW; ++row) for (int col = 0; col < BingoGrid.COL; ++col) { bingoGrid.setVoteString(row, col, String.valueOf(result[row][col]), String.valueOf(totalParticipants)); } } }); } }; // If the game is not finished, repeat; if so, run once if (!hasFinished) timer.scheduleRepeating(ADMIN_TIMER); else timer.run(); HorizontalPanel panel = new HorizontalPanel(); panel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); final Button finishButton = new Button(); // If the game is not finished, allow finishing it; if so, allow download data if (!hasFinished) finishButton.setText(strings.finishBingo()); else finishButton.setText(strings.download()); finishButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (!hasFinished) bingoService.finishBingo(userId, new AsyncCallback<Void>() { @Override public void onFailure(Throwable caught) { message.setText(caught.getMessage()); } @Override public void onSuccess(Void result) { message.setText(strings.finishedBingo()); finishButton.setText(strings.download()); timer.cancel(); } }); bingoService.getVotes(userId, new AsyncCallback<int[][]>() { @Override public void onFailure(Throwable caught) { message.setText(caught.getMessage()); } @Override public void onSuccess(int[][] result) { // Create a popup dialog box final DialogBox box = new DialogBox(); box.setText(strings.info()); box.setAnimationEnabled(true); final Button boxAcceptButton = new Button(strings.accept()); boxAcceptButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { box.hide(); } }); Label boxLabel = new Label(); boxLabel.setText(strings.finishMessage()); HTML voteData = new HTML(); if (result == null) { result = new int[BingoGrid.ROW][BingoGrid.COL]; for (int i = 0; i < BingoGrid.ROW; i++) for (int j = 0; j < BingoGrid.COL; j++) result[i][j] = 0; } String cellKey = ""; String cellString = ""; String voteDataString = ""; for (int row = 0; row < BingoGrid.ROW; ++row) for (int col = 0; col < BingoGrid.COL; ++col) { cellKey = "cell" + row + col; cellString = strings.map().get(cellKey); voteDataString += " " + cellString + " = " + result[row][col] + "<br>"; } voteData.setHTML(voteDataString); voteData.addStyleName("boxData"); VerticalPanel boxPanel = new VerticalPanel(); boxPanel.addStyleName("boxPanel"); boxPanel.add(boxLabel); boxPanel.add(voteData); HorizontalPanel buttonsPanel = new HorizontalPanel(); buttonsPanel.add(boxAcceptButton); boxPanel.add(buttonsPanel); boxPanel.setCellHorizontalAlignment(buttonsPanel, HasHorizontalAlignment.ALIGN_CENTER); box.setWidget(boxPanel); box.center(); } }); } }); panel.add(finishButton); final Button terminateButton = new Button(strings.terminateButton()); terminateButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { // Create a popup dialog box final DialogBox box = new DialogBox(); box.setText(strings.warning()); box.setAnimationEnabled(true); final Button boxCancelButton = new Button(strings.cancel()); boxCancelButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { box.hide(); } }); final Button boxAcceptButton = new Button(strings.accept()); boxAcceptButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { bingoService.terminateBingo(userId, new AsyncCallback<Void>() { @Override public void onFailure(Throwable caught) { message.setText(caught.getMessage()); } @Override public void onSuccess(Void result) { message.setText(strings.terminatedBingo()); timer.cancel(); } }); box.hide(); } }); final Label boxLabel = new Label(); boxLabel.setText(strings.terminateMessage()); VerticalPanel boxPanel = new VerticalPanel(); boxPanel.addStyleName("boxPanel"); boxPanel.add(boxLabel); HorizontalPanel buttonsPanel = new HorizontalPanel(); buttonsPanel.add(boxCancelButton); buttonsPanel.add(boxAcceptButton); boxPanel.add(buttonsPanel); box.setWidget(boxPanel); box.center(); } }); panel.add(terminateButton); RootPanel.get("buttons").clear(); RootPanel.get("buttons").add(panel); }
From source file:ch.unifr.pai.twice.widgets.mpProxyScreenShot.client.Viewer.java
License:Apache License
@Override public void onModuleLoad() { Timer t = new Timer() { @Override/*from ww w . ja v a 2s .c o m*/ public void run() { try { RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Window.Location.getProtocol() + "//" + Window.Location.getHost() + "/miceScreenShot/manager"); rb.sendRequest(null, new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { RootPanel.getBodyElement().setInnerHTML(response.getText()); } @Override public void onError(Request request, Throwable exception) { } }); } catch (RequestException e) { e.printStackTrace(); } } }; t.run(); // t.scheduleRepeating(1000); }
From source file:com.haulmont.cuba.web.toolkit.ui.client.orderedactionslayout.CubaOrderedLayoutSlot.java
License:Apache License
public void setCaption(String captionText, boolean contextHelpIconEnabled, Icon icon, List<String> styles, String error, boolean showError, boolean required, boolean enabled, boolean captionAsHtml) { // CAUTION copied from super // Caption wrappers Widget widget = getWidget();/* ww w. j a va2 s . com*/ final Element focusedElement = WidgetUtil.getFocusedElement(); // By default focus will not be lost boolean focusLost = false; if (captionText != null || icon != null || error != null || required || contextHelpIconEnabled) { if (caption == null) { caption = DOM.createDiv(); captionWrap = DOM.createDiv(); captionWrap.addClassName(StyleConstants.UI_WIDGET); captionWrap.addClassName("v-has-caption"); getElement().appendChild(captionWrap); orphan(widget); captionWrap.appendChild(widget.getElement()); adopt(widget); // Made changes to DOM. Focus can be lost if it was in the // widget. focusLost = (focusedElement == null ? false : widget.getElement().isOrHasChild(focusedElement)); } } else if (caption != null) { orphan(widget); getElement().appendChild(widget.getElement()); adopt(widget); captionWrap.removeFromParent(); caption = null; captionWrap = null; // Made changes to DOM. Focus can be lost if it was in the widget. focusLost = (focusedElement == null ? false : widget.getElement().isOrHasChild(focusedElement)); } // Caption text if (captionText != null) { if (this.captionText == null) { this.captionText = DOM.createSpan(); this.captionText.addClassName("v-captiontext"); if (caption != null) { caption.appendChild(this.captionText); } } if (captionText.trim().equals("")) { this.captionText.setInnerHTML(" "); } else { if (captionAsHtml) { this.captionText.setInnerHTML(captionText); } else { this.captionText.setInnerText(captionText); } } } else if (this.captionText != null) { this.captionText.removeFromParent(); this.captionText = null; } // Icon if (this.icon != null) { this.icon.getElement().removeFromParent(); } if (icon != null) { if (caption != null) { caption.insertFirst(icon.getElement()); } } this.icon = icon; // Required if (required) { if (requiredIcon == null) { requiredIcon = DOM.createSpan(); // TODO decide something better (e.g. use CSS to insert the // character) requiredIcon.setInnerHTML("*"); requiredIcon.setClassName("v-required-field-indicator"); // The star should not be read by the screen reader, as it is // purely visual. Required state is set at the element level for // the screen reader. Roles.getTextboxRole().setAriaHiddenState(requiredIcon, true); } if (caption != null) { caption.appendChild(requiredIcon); } } else if (requiredIcon != null) { requiredIcon.removeFromParent(); requiredIcon = null; } // Context Help // Haulmont API if (contextHelpIconEnabled) { if (contextHelpIcon == null) { contextHelpIcon = DOM.createSpan(); // TODO decide something better (e.g. use CSS to insert the character) contextHelpIcon.setInnerHTML("?"); contextHelpIcon.setClassName(CONTEXT_HELP_CLASSNAME); // The question mark should not be read by the screen reader, as it is // purely visual. Required state is set at the element level for // the screen reader. Roles.getTextboxRole().setAriaHiddenState(contextHelpIcon, true); } if (caption != null) { caption.appendChild(contextHelpIcon); if (clickHandlerRegistration == null) { clickHandlerRegistration = addDomHandler(this, ClickEvent.getType()); } } } else { if (this.contextHelpIcon != null) { this.contextHelpIcon.removeFromParent(); this.contextHelpIcon = null; } if (clickHandlerRegistration != null) { clickHandlerRegistration.removeHandler(); clickHandlerRegistration = null; } } // Error if (error != null && showError) { if (errorIcon == null) { errorIcon = DOM.createSpan(); errorIcon.setClassName("v-errorindicator"); } if (caption != null) { caption.appendChild(errorIcon); } } else if (errorIcon != null) { errorIcon.removeFromParent(); errorIcon = null; } if (caption != null) { // Styles caption.setClassName("v-caption"); if (styles != null) { for (String style : styles) { caption.addClassName("v-caption-" + style); } } if (enabled) { caption.removeClassName("v-disabled"); } else { caption.addClassName("v-disabled"); } // Caption position if (captionText != null || icon != null) { setCaptionPosition(CaptionPosition.TOP); } else { setCaptionPosition(CaptionPosition.RIGHT); } } if (focusLost) { // Find out what element is currently focused. Element currentFocus = WidgetUtil.getFocusedElement(); if (currentFocus != null && currentFocus.equals(Document.get().getBody())) { // Focus has moved to BodyElement and should be moved back to // original location. This happened because of adding or // removing the captionWrap focusedElement.focus(); } else if (currentFocus != focusedElement) { // Focus is either moved somewhere else on purpose or IE has // lost it. Investigate further. Timer focusTimer = new Timer() { @Override public void run() { if (WidgetUtil.getFocusedElement() == null) { // This should never become an infinite loop and // even if it does it will be stopped once something // is done with the browser. schedule(25); } else if (WidgetUtil.getFocusedElement().equals(Document.get().getBody())) { // Focus found it's way to BodyElement. Now it can // be restored focusedElement.focus(); } } }; if (BrowserInfo.get().isIE8()) { // IE8 can't fix the focus immediately. It will fail. focusTimer.schedule(25); } else { // Newer IE versions can handle things immediately. focusTimer.run(); } } } }
From source file:com.haulmont.cuba.web.widgets.client.orderedactionslayout.CubaOrderedLayoutSlot.java
License:Apache License
public void setCaption(String captionText, boolean contextHelpIconEnabled, Icon icon, List<String> styles, String error, boolean showError, boolean required, boolean enabled, boolean captionAsHtml) { // CAUTION copied from super // Caption wrappers Widget widget = getWidget();/* ww w . ja va 2s. com*/ final Element focusedElement = WidgetUtil.getFocusedElement(); // By default focus will not be lost boolean focusLost = false; if (captionText != null || icon != null || error != null || required || contextHelpIconEnabled) { if (caption == null) { caption = DOM.createDiv(); captionWrap = DOM.createDiv(); captionWrap.addClassName(StyleConstants.UI_WIDGET); captionWrap.addClassName("v-has-caption"); getElement().appendChild(captionWrap); orphan(widget); captionWrap.appendChild(widget.getElement()); adopt(widget); // Made changes to DOM. Focus can be lost if it was in the // widget. focusLost = (focusedElement == null ? false : widget.getElement().isOrHasChild(focusedElement)); } } else if (caption != null) { orphan(widget); getElement().appendChild(widget.getElement()); adopt(widget); captionWrap.removeFromParent(); caption = null; captionWrap = null; // Made changes to DOM. Focus can be lost if it was in the widget. focusLost = (focusedElement == null ? false : widget.getElement().isOrHasChild(focusedElement)); } // Caption text if (captionText != null) { if (this.captionText == null) { this.captionText = DOM.createSpan(); this.captionText.addClassName("v-captiontext"); if (caption != null) { caption.appendChild(this.captionText); } } if (captionText.trim().equals("")) { this.captionText.setInnerHTML(" "); } else { if (captionAsHtml) { this.captionText.setInnerHTML(captionText); } else { this.captionText.setInnerText(captionText); } } } else if (this.captionText != null) { this.captionText.removeFromParent(); this.captionText = null; } // Icon if (this.icon != null) { this.icon.getElement().removeFromParent(); } if (icon != null) { if (caption != null) { caption.insertFirst(icon.getElement()); } } this.icon = icon; // Required if (required) { if (requiredIcon == null) { requiredIcon = DOM.createSpan(); // TODO decide something better (e.g. use CSS to insert the // character) requiredIcon.setInnerHTML("*"); requiredIcon.setClassName("v-required-field-indicator"); // The star should not be read by the screen reader, as it is // purely visual. Required state is set at the element level for // the screen reader. Roles.getTextboxRole().setAriaHiddenState(requiredIcon, true); } if (caption != null) { caption.appendChild(requiredIcon); } } else if (requiredIcon != null) { requiredIcon.removeFromParent(); requiredIcon = null; } // Context Help // Haulmont API if (contextHelpIconEnabled) { if (contextHelpIcon == null) { contextHelpIcon = DOM.createSpan(); // TODO decide something better (e.g. use CSS to insert the character) contextHelpIcon.setInnerHTML("?"); contextHelpIcon.setClassName(CONTEXT_HELP_CLASSNAME); ComponentConnector componentConnector = Util.findConnectorFor(widget); if (hasContextHelpIconListeners(componentConnector.getState())) { contextHelpIcon.addClassName(CONTEXT_HELP_CLICKABLE_CLASSNAME); } // The question mark should not be read by the screen reader, as it is // purely visual. Required state is set at the element level for // the screen reader. Roles.getTextboxRole().setAriaHiddenState(contextHelpIcon, true); } if (caption != null) { caption.appendChild(contextHelpIcon); if (clickHandlerRegistration == null) { clickHandlerRegistration = addDomHandler(this, ClickEvent.getType()); } } } else { if (this.contextHelpIcon != null) { this.contextHelpIcon.removeFromParent(); this.contextHelpIcon = null; } if (clickHandlerRegistration != null) { clickHandlerRegistration.removeHandler(); clickHandlerRegistration = null; } } // Error if (error != null && showError) { if (errorIcon == null) { errorIcon = DOM.createSpan(); errorIcon.setClassName("v-errorindicator"); } if (caption != null) { caption.appendChild(errorIcon); } } else if (errorIcon != null) { errorIcon.removeFromParent(); errorIcon = null; } if (caption != null) { // Styles caption.setClassName("v-caption"); if (styles != null) { for (String style : styles) { caption.addClassName("v-caption-" + style); } } if (enabled) { caption.removeClassName("v-disabled"); } else { caption.addClassName("v-disabled"); } // Caption position if (captionText != null || icon != null) { setCaptionPosition(CaptionPosition.TOP); } else { setCaptionPosition(CaptionPosition.RIGHT); } } if (focusLost) { // Find out what element is currently focused. Element currentFocus = WidgetUtil.getFocusedElement(); if (currentFocus != null && currentFocus.equals(Document.get().getBody())) { // Focus has moved to BodyElement and should be moved back to // original location. This happened because of adding or // removing the captionWrap focusedElement.focus(); } else if (currentFocus != focusedElement) { // Focus is either moved somewhere else on purpose or IE has // lost it. Investigate further. Timer focusTimer = new Timer() { @Override public void run() { if (WidgetUtil.getFocusedElement() == null) { // This should never become an infinite loop and // even if it does it will be stopped once something // is done with the browser. schedule(25); } else if (WidgetUtil.getFocusedElement().equals(Document.get().getBody())) { // Focus found it's way to BodyElement. Now it can // be restored focusedElement.focus(); } } }; if (BrowserInfo.get().isIE8()) { // IE8 can't fix the focus immediately. It will fail. focusTimer.schedule(25); } else { // Newer IE versions can handle things immediately. focusTimer.run(); } } } }
From source file:com.moesol.gwt.maps.client.controls.MapPanZoomControl.java
License:Open Source License
private void startZoomLoop(Timer zoomTimer) { m_doingMapAction = true; zoomTimer.run(); zoomTimer.scheduleRepeating(m_millisBetweenConsecutiveActions); }
From source file:com.qualogy.qafe.gwt.client.vo.functions.execute.FunctionsExecutor.java
License:Apache License
public void execute(BuiltInFunctionGVO builtInFunction) { if (builtInFunction != null) { try {/*from w ww . j a va 2 s .c o m*/ ExecuteCommand command = (ExecuteCommand) EXECUTOR_MAP.get(builtInFunction.getClassName()); if (command != null) { GWT.log("Function Execute:" + command, null); processedBuiltIn = false; command.execute(builtInFunction); if (!processedBuiltIn) { Timer t = new Timer() { public void run() { if (processedBuiltIn) { cancel(); } } }; t.run(); t.scheduleRepeating(100); } } else { ClientApplicationContext.getInstance() .log("Unable to find executor for class " + builtInFunction.getClassName(), null); } } catch (UmbrellaException e) { ClientApplicationContext.getInstance().log( "FunctionsExecutor:execute failed " + builtInFunction.getClassName(), "Cause: " + e.getCauses(), true, false, e); } catch (Exception e) { ClientApplicationContext.getInstance().log( "FunctionsExecutor:execute failed " + builtInFunction.getClassName(), "The error that occured: " + e.getMessage(), true, false, e); } } }
From source file:com.qualogy.qafe.mgwt.client.vo.functions.execute.FunctionsExecutor.java
License:Apache License
public void execute(BuiltInFunctionGVO builtInFunctionGVO, AbstractActivity activity) { if (builtInFunctionGVO == null) { return;/*from w w w. j a v a 2 s .c om*/ } if (activity == null) { return; } try { ExecuteCommand command = EXECUTOR_MAP.get(builtInFunctionGVO.getClassName()); if (command != null) { GWT.log("Function Execute: " + command, null); processedBuiltIn = false; command.execute(builtInFunctionGVO, activity); if (!processedBuiltIn) { Timer timer = new Timer() { public void run() { if (processedBuiltIn) { cancel(); } } }; timer.run(); timer.scheduleRepeating(100); } } else { ClientApplicationContext.getInstance() .log("Unable to find executor for class " + builtInFunctionGVO.getClassName(), null); } } catch (Exception e) { ClientApplicationContext.getInstance().log( "FunctionsExecutor:execute failed " + builtInFunctionGVO.getClassName(), "The error that occured: " + e.getMessage(), true, false, e); } }
From source file:com.scalagent.appli.client.RPCServiceCacheClient.java
License:Open Source License
public void setPeriod(int updatePeriod) { if (updatePeriod != -1) { Timer timer = new RPCServiceCacheTimer(this); timer.run(); timer.scheduleRepeating(updatePeriod); }/*from w w w. j a v a 2 s .c o m*/ }