On Monday, September 5, 2011 1:01:29 PM UTC-4, melody wrote:
>
> I wish to embed an asynchronous call to the server inside a method
> that MUST NOT return until the server has responded. So I am looking
> for a way to achieve a non-busy wait in GWT. I thought I could use a
> modal popup dialog to stop the next line from being executed until the
> dialog is closed and only after the response from server arrives.
> Unfortunately the GWT modal dialog does not do what I thought it would
> do -- which is block everything and wait at the line where the
> PopupPanel.show() method is called. See method below
>
> <code>
> public boolean doPost(String url, String postData) {
> RequestBuilder builder = new
> RequestBuilder(RequestBuilder.POST, url);
> final int STATUS_CODE_OK = 200;
> final PopupPanel dlg = new PopupPanel();
> dlg.setModal(true);
> dlg.setGlassEnabled(true);
> try {
> builder.setHeader("Content-Type", "application/x-www-form-
> urlencoded");
> builder.sendRequest(postData, new RequestCallback() {
> public void onError(Request request, Throwable
> exception) {
> dlg.hide();
> }
>
> public void onResponseReceived(Request request,
> Response response) {
> int li_status = response.getStatusCode();
> if (li_status == STATUS_CODE_OK) {
> //bravo
> }
> dlg.hide();
> }
> });
> builder.setTimeoutMillis(3000);
> dlg.show();
> return true;
> } catch (RequestException e) {
> GWT.log(e.getLocalizedMessage());
> }
> return false;
> }
> </code>
>
> I want the line
>
> <code>
> return true;
> </code>
>
> to be executed only after the dialog is closed just like what would
> happen if I used Window.confirm to achieve the modality as shown
> below.
>
> <code>
> Window.confirm("yes or no");
> return true;
> </code>
>
>
> Any ideas on how I can achieve this.
>
>
> Thanks,
>
> Melody
>
>
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-web-toolkit/-/CHczoRW3l8EJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-web-toolkit?hl=en.