I have a SuggestBox which has a textfield. There is also a
SuggestOracle class like this:


package com.restclearcaseinterface.client.oracles;

import java.util.ArrayList;
import java.util.List;

import com.google.gwt.user.client.ui.SuggestOracle;
import
com.google.gwt.user.client.ui.MultiWordSuggestOracle.MultiWordSuggestion;


public class OracleBranchRevision extends SuggestOracle {
        private final String[] keywords = { "NULL", "NONE", "LATEST", "HEAD",
                        "<baseline-name>" };

        private MultiWordSuggestion getSugg(String arg) {
                return new MultiWordSuggestion(arg, arg);
        }

        @Override
        public void requestSuggestions(Request request, Callback callback) {
                String query = request.getQuery();
                List<MultiWordSuggestion> suggs = new
ArrayList<MultiWordSuggestion>();

                if (query.equals("")) {
                        suggs.add(getSugg("<ibranch>.<revision>"));
                } else {
                        //suggs.add(getSugg(request.getQuery()));
                        if (query.contains(".")) {
                                String[] parts = query.split("\\.");
                                for (String s : keywords) {
                                        if (parts.length == 1 || 
s.startsWith(parts[1]))
                                                suggs.add(getSugg(parts[0] + 
"." + s));
                                }
                        }
                }

                callback.onSuggestionsReady(request, new Response(suggs));
        }
}
-------------------------

So I can handle e.g. test123.NULL, test123.NONE etc

If I select the suggestions via keyboard I receive the event string
correct, but if I handle the suggestions via mouse clicks i just get
"test123." and the suggestion is gone.

the suggestbox has a handler like this:

                suggestBoxActual
                                .addValueChangeHandler(new 
ValueChangeHandler<String>() {
                                        @Override
                                        public void 
onValueChange(ValueChangeEvent<String> event) {

                                                // 
RevisionEditBox.this.addStyleName("modified-revision");
                                                log.info("HERE THE NEW VALUE: 
"+event.getValue());
                                                
ValueChangeEvent.fire(RevisionEditBox.this, event
                                                                .getValue());
                                        }
                                });

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to