Java 类com.google.gwt.user.client.ui.SuggestOracle.Suggestion 实例源码
项目:google-apis-explorer
文件:EnumEditor.java
EnumEditorViewImpl(final List<String> enumValues, final List<String> enumDescriptions) {
// Sets up a SuggestOracle that, when the textbox has focus, displays the
// valid enum values and their descriptions.
MultiWordSuggestOracle oracle = new MultiWordSuggestOracle();
List<Suggestion> suggestions = Lists.newArrayList();
for (int i = 0; i < enumValues.size(); i++) {
suggestions.add(new EnumSuggestion(
enumValues.get(i), enumDescriptions == null ? "" : enumDescriptions.get(i)));
}
oracle.setDefaultSuggestions(suggestions);
this.suggestBox = new SuggestBox(oracle);
suggestBox.getTextBox().addFocusHandler(new FocusHandler() {
@Override
public void onFocus(FocusEvent event) {
suggestBox.showSuggestionList();
}
});
add(suggestBox);
this.errorMessage = new Label("This parameter is invalid.");
errorMessage.setVisible(false);
add(errorMessage);
}
项目:RedQueryBuilder
文件:GwtTestBasics.java
@Test
public void testAsyncOptionSelectedFromBootstrap() throws Exception {
CapturingConfiguration config = new CapturingConfiguration();
Session sess = createSession(config);
List<Object> args = new ArrayList<Object>();
args.add("M");
CommandBuilder cb = new CommandBuilder(sess, "SELECT x.id FROM Person x WHERE sex = ?", args);
RootPanel.get().add(cb);
Select s = cb.getSelect();
// only now give them the enumeration
Collection<Suggestion> s2 = new ArrayList();
s2.add(new MultiWordSuggestion("M", "M"));
s2.add(new MultiWordSuggestion("F", "F"));
config.getEnumerateCallback().onSuccess(new Response(s2));
Comparison c = (Comparison) s.getCondition();
Parameter p = (Parameter) c.getRight();
SelectEditorWidget sew = (SelectEditorWidget) p.getEditorWidget();
assertEquals("M", sew.getValue());
}
项目:unitimes
文件:AriaSuggestBox.java
private SuggestionMenuItem(final Suggestion suggestion) {
super(suggestion.getDisplayString(), iOracle.isDisplayStringHTML(), new ScheduledCommand() {
@Override
public void execute() {
iSuggestionCallback.onSuggestionSelected(suggestion);
}
});
setStyleName("item");
getElement().setAttribute("whiteSpace", "nowrap");
iSuggestion = suggestion;
}
项目:unitimes
文件:CourseSelectionSuggestBox.java
public void onFailure(final Throwable caught) {
iValidCourseNames.clear();
final ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
if (iFreeTimeParser != null) {
iFreeTimeParser.getData(iRequest.getQuery(), new AsyncCallback<List<FreeTime>>() {
@Override
public void onFailure(Throwable e) {
if (iRequest.getQuery().toLowerCase().startsWith(CONSTANTS.freePrefix().toLowerCase())) {
suggestions.add(new SimpleSuggestion(e));
// setStatus(e.getMessage());
} else {
suggestions.add(new SimpleSuggestion(caught));
// setStatus(caught.getMessage());
}
}
@Override
public void onSuccess(List<FreeTime> freeTimes) {
suggestions.add(new SimpleSuggestion(freeTimes));
}
});
} else {
suggestions.add(new SimpleSuggestion(caught));
// setStatus(caught.getMessage());
}
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
}
项目:unitimes
文件:CourseSelectionSuggestBox.java
public void onSuccess(Collection<ClassAssignmentInterface.CourseAssignment> result) {
ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
iValidCourseNames.clear();
for (ClassAssignmentInterface.CourseAssignment course: result) {
SimpleSuggestion suggestion = new SimpleSuggestion(course, iShowCourses);
suggestions.add(suggestion);
iValidCourseNames.put(suggestion.getReplacementString().toLowerCase(), suggestion.getRequestedCourse());
}
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
}
项目:unitimes
文件:SectioningStatusPage.java
public void onSuccess(List<String[]> result) {
ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
for (String[] suggestion: result) {
suggestions.add(new SimpleSuggestion(suggestion[1], suggestion[0]));
}
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
}
项目:ephesoft
文件:ReviewPanel.java
private void setHandlerForSuggestBox(final SuggestBox suggestBox) {
suggestBox.addSelectionHandler(new SelectionHandler<Suggestion>() {
@Override
public void onSelection(SelectionEvent<Suggestion> arg0) {
String value = suggestBox.getText();
for (int i = 0; i < documentTypes.getItemCount(); i++) {
if (documentTypes.getItemText(i).equalsIgnoreCase(value)) {
ScreenMaskUtility.maskScreen();
onDocumentTypeChange(documentTypes.getValue(i));
break;
}
}
}
});
validatableSuggestBox = new ValidatableWidget<SuggestBox>(suggestBox);
validatableSuggestBox.getWidget().addValueChangeHandler(new ValueChangeHandler<String>() {
@Override
public void onValueChange(ValueChangeEvent<String> event) {
validatableSuggestBox.toggleValidDateBox();
}
});
List<String> altValues = new ArrayList<String>();
for (int i = 0; i < documentTypes.getItemCount(); i++) {
altValues.add(documentTypes.getItemText(i));
}
validatableSuggestBox.addValidator(new SuggestBoxValidator(suggestBox, altValues));
validatableSuggestBox.toggleValidDateBox();
}
项目:OpenTripPlanner-client-gwt
文件:AddressAutoCompleteBox.java
@Override
public void requestSuggestions(final Request request,
final Callback callback) {
if (geocoderProxy == null)
return;
geocoderProxy.geocode(request.getQuery(), new GeocoderListener() {
@Override
public void onGeocodingDone(List<LocationBean> locations) {
Response response = new Response();
List<Suggestion> suggestions = new ArrayList<Suggestion>();
if (locations != null) {
int n = 0;
for (LocationBean location : locations) {
if (n >= request.getLimit())
break;
suggestions.add(
new GeocodedAddressSuggestion(location));
n++;
}
if (locations.size() > n)
response.setMoreSuggestionsCount(
locations.size() - n);
}
response.setSuggestions(suggestions);
callback.onSuggestionsReady(request, response);
}
});
}
项目:umlet
文件:MySuggestionDisplay.java
@Override
protected void showSuggestions(SuggestBox suggestBox, Collection<? extends Suggestion> suggestions, boolean isDisplayStringHTML, boolean isAutoSelectEnabled, SuggestionCallback callback) {
getPopupPanel().getWidget().setWidth(suggestBox.getElement().getScrollWidth() + Unit.PX.getType());
getPopupPanel().getWidget().getElement().getStyle().setProperty("maxHeight",
Math.max(DISPLAY_BOX_MIN_HEIGHT, suggestBox.getElement().getAbsoluteTop() - DISPLAY_BOX_TOP_PADDING) + Unit.PX.getType());
super.showSuggestions(suggestBox, suggestions, isDisplayStringHTML, isAutoSelectEnabled, callback);
if (isSuggestionListShowing()) {
popupHideTimer.cancel();
paletteShouldIgnoreMouseClicks = true;
}
}
项目:unitime
文件:AriaSuggestBox.java
private SuggestionMenuItem(final Suggestion suggestion) {
super(suggestion.getDisplayString(), iOracle.isDisplayStringHTML(), new ScheduledCommand() {
@Override
public void execute() {
iSuggestionCallback.onSuggestionSelected(suggestion);
}
});
setStyleName("item");
getElement().setAttribute("whiteSpace", "nowrap");
iSuggestion = suggestion;
}
项目:unitime
文件:CourseSelectionSuggestBox.java
public void onFailure(final Throwable caught) {
iValidCourseNames.clear();
final ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
if (iFreeTimeParser != null) {
iFreeTimeParser.getData(iRequest.getQuery(), new AsyncCallback<List<FreeTime>>() {
@Override
public void onFailure(Throwable e) {
if (iRequest.getQuery().toLowerCase().startsWith(CONSTANTS.freePrefix().toLowerCase())) {
suggestions.add(new SimpleSuggestion(e));
// setStatus(e.getMessage());
} else {
suggestions.add(new SimpleSuggestion(caught));
// setStatus(caught.getMessage());
}
}
@Override
public void onSuccess(List<FreeTime> freeTimes) {
suggestions.add(new SimpleSuggestion(freeTimes));
}
});
} else {
suggestions.add(new SimpleSuggestion(caught));
// setStatus(caught.getMessage());
}
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
}
项目:unitime
文件:CourseSelectionSuggestBox.java
public void onSuccess(Collection<ClassAssignmentInterface.CourseAssignment> result) {
ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
iValidCourseNames.clear();
for (ClassAssignmentInterface.CourseAssignment course: result) {
SimpleSuggestion suggestion = new SimpleSuggestion(course, iShowCourses);
suggestions.add(suggestion);
iValidCourseNames.put(suggestion.getReplacementString().toLowerCase(), suggestion.getRequestedCourse());
}
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
}
项目:unitime
文件:SectioningStatusPage.java
public void onSuccess(List<String[]> result) {
ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
for (String[] suggestion: result) {
suggestions.add(new SimpleSuggestion(suggestion[1], suggestion[0]));
}
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
}
项目:qafe-platform
文件:QSuggestBox.java
private void addDefaultEventHandler(){
addSelectionHandler(new SelectionHandler<Suggestion>(){
public void onSelection(SelectionEvent<Suggestion> event) {
currentSuggestion = (QMultiWordSuggestion)event.getSelectedItem();
}});
}
项目:suggestfield
文件:VSuggestField.java
private List<SuggestOracle.Suggestion> wrapSuggestions(
List<SuggestFieldSuggestion> in) {
List<SuggestOracle.Suggestion> out = new ArrayList<SuggestOracle.Suggestion>();
for (final SuggestFieldSuggestion wrappedSuggestion : in) {
out.add(new OracleSuggestionImpl(wrappedSuggestion));
}
return out;
}
项目:suggestfield
文件:VSuggestField.java
private void handleOnKeyEvent() {
Suggestion suggestion = getCurrentSelection();
if (suggestion == null) {
/*
* Allow for new items
*/
if (allowNewItem) {
handleNewSuggestion();
}
hideSuggestions();
} else {
setNewSelection(suggestion);
}
}
项目:suggestfield
文件:VSuggestField.java
/**
* Set the new suggestion in the text box.
*
* @param curSuggestion
* the new suggestion
*/
private void setNewSelection(Suggestion curSuggestion) {
assert curSuggestion != null : "suggestion cannot be null";
currentText = curSuggestion.getReplacementString();
setText(currentText);
hideSuggestions();
fireSuggestionEvent(curSuggestion);
}
项目:suggestfield
文件:VSuggestField.java
protected Suggestion getCurrentSelection() {
if (!isSuggestionListShowing()) {
return null;
}
SuggestionMenuItem item = menu.getSelectedItem();
return item == null ? null : ((SuggestionMenuItem) item)
.getSuggestion();
}
项目:suggestfield
文件:SuggestionMenuItem.java
public SuggestionMenuItem(Suggestion suggestion, boolean asHTML) {
this(suggestion.getDisplayString(), asHTML);
// Each suggestion should be placed in a single row in the
// suggestion
// menu. If the window is resized and the suggestion cannot fit on a
// single row, it should be clipped (instead of wrapping around and
// taking up a second row).
getElement().getStyle().setProperty("whiteSpace", "nowrap");
getElement().getStyle().setProperty("overflow", "hidden");
setStyleName(STYLENAME_DEFAULT);
setSuggestion(suggestion);
}
项目:suggestfield
文件:SuggestFieldConnector.java
@Override
public void onSelection(SelectionEvent<Suggestion> event) {
SuggestFieldSuggestion suggestion = ((OracleSuggestionImpl) event
.getSelectedItem()).getWrappedSuggestion();
serverRpc.onSuggestionSelected(suggestion);
if (getWidget().tokenMode) {
getWidget().setCurrentSuggestion(null);
} else {
getWidget().setCurrentSuggestion(suggestion);
}
}
项目:gwtutil
文件:DTOSuggestBox.java
public DTOSuggestBox() {
super(new DTOSuggestOracle<T>());
addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>() {
@SuppressWarnings("unchecked")
@Override
public void onSelection(SelectionEvent<Suggestion> event) {
selected = ((DTOSuggestion<T>) event.getSelectedItem()).getDTO();
}
});
}
项目:unitimes
文件:AriaSuggestBox.java
public AriaSuggestBox(AriaTextBox box, SuggestOracle oracle) {
iOracle = oracle;
iText = box;
iText.setStyleName("gwt-SuggestBox");
initWidget(iText);
addEventsToTextBox();
iSuggestionMenu = new SuggestionMenu();
iPopupScroll = new ScrollPanel(iSuggestionMenu);
iPopupScroll.addStyleName("scroll");
iSuggestionPopup = new PopupPanel(true, false);
iSuggestionPopup.setPreviewingAllNativeEvents(true);
iSuggestionPopup.setStyleName("unitime-SuggestBoxPopup");
iSuggestionPopup.setWidget(iPopupScroll);
iSuggestionPopup.addAutoHidePartner(getElement());
iSuggestionCallback = new SuggestionCallback() {
@Override
public void onSuggestionSelected(Suggestion suggestion) {
if (!suggestion.getReplacementString().isEmpty()) {
setStatus(ARIA.suggestionSelected(status(suggestion)));
}
iCurrentText = suggestion.getReplacementString();
setText(suggestion.getReplacementString());
hideSuggestionList();
fireSuggestionEvent(suggestion);
}
};
iOracleCallback = new SuggestOracle.Callback() {
@Override
public void onSuggestionsReady(Request request, Response response) {
if (response.getSuggestions() == null || response.getSuggestions().isEmpty()) {
if (iSuggestionPopup.isShowing()) iSuggestionPopup.hide();
} else {
iSuggestionMenu.clearItems();
SuggestOracle.Suggestion first = null;
for (SuggestOracle.Suggestion suggestion: response.getSuggestions()) {
iSuggestionMenu.addItem(new SuggestionMenuItem(suggestion));
if (first == null) first = suggestion;
}
iSuggestionMenu.selectItem(0);
ToolBox.setMinWidth(iSuggestionMenu.getElement().getStyle(), (iText.getElement().getClientWidth() - 4) + "px");
iSuggestionPopup.showRelativeTo(iText);
iSuggestionMenu.scrollToView();
if (response.getSuggestions().size() == 1) {
if (first.getReplacementString().isEmpty())
setStatus(status(first));
else
setStatus(ARIA.showingOneSuggestion(status(first)));
} else {
setStatus(ARIA.showingMultipleSuggestions(response.getSuggestions().size(), request.getQuery(), status(first)));
}
}
}
};
Roles.getTextboxRole().setAriaAutocompleteProperty(iText.getElement(), AutocompleteValue.NONE);
iSuggestionPopup.getElement().setAttribute("id", DOM.createUniqueId());
Roles.getTextboxRole().setAriaOwnsProperty(iText.getElement(), Id.of(iSuggestionPopup.getElement()));
}
项目:unitimes
文件:AriaSuggestBox.java
private String status(Suggestion suggestion) {
return suggestion instanceof HasStatus ? ((HasStatus)suggestion).getStatusString() : suggestion.getDisplayString();
}
项目:unitimes
文件:AriaSuggestBox.java
public Suggestion getSelectedSuggestion() {
MenuItem selectedItem = getSelectedItem();
return selectedItem == null ? null : ((SuggestionMenuItem)selectedItem).getSuggestion();
}
项目:unitimes
文件:AriaSuggestBox.java
public Suggestion getSuggestion() {
return iSuggestion;
}
项目:unitimes
文件:AriaSuggestBox.java
@Override
public HandlerRegistration addSelectionHandler(SelectionHandler<Suggestion> handler) {
return addHandler(handler, SelectionEvent.getType());
}
项目:unitimes
文件:AriaSuggestBox.java
private void fireSuggestionEvent(Suggestion selectedSuggestion) {
SelectionEvent.fire(this, selectedSuggestion);
}
项目:unitimes
文件:SectioningStatusPage.java
public void onFailure(Throwable caught) {
ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
// suggestions.add(new SimpleSuggestion("<font color='red'>"+caught.getMessage()+"</font>", ""));
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
ToolBox.checkAccess(caught);
}
项目:gerrit
文件:SearchPanel.java
@Override
protected Suggestion getCurrentSelection() {
Suggestion currentSelection = super.getCurrentSelection();
isSuggestionSelected = currentSelection != null;
return currentSelection;
}
项目:gerrit
文件:RemoteSuggestBox.java
public RemoteSuggestBox(SuggestOracle oracle) {
remoteSuggestOracle = new RemoteSuggestOracle(oracle);
remoteSuggestOracle.setServeSuggestions(true);
display = new DefaultSuggestionDisplay();
textBox = new HintTextBox();
textBox.addKeyDownHandler(
new KeyDownHandler() {
@Override
public void onKeyDown(KeyDownEvent e) {
submitOnSelection = false;
if (e.getNativeKeyCode() == KeyCodes.KEY_ESCAPE) {
CloseEvent.fire(RemoteSuggestBox.this, RemoteSuggestBox.this);
} else if (e.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
if (display.isSuggestionListShowing()) {
if (textBox.getValue().equals(remoteSuggestOracle.getLast())) {
submitOnSelection = true;
} else {
display.hideSuggestions();
}
} else {
SelectionEvent.fire(RemoteSuggestBox.this, getText());
}
}
}
});
suggestBox = new SuggestBox(remoteSuggestOracle, textBox, display);
suggestBox.addSelectionHandler(
new SelectionHandler<Suggestion>() {
@Override
public void onSelection(SelectionEvent<Suggestion> event) {
if (submitOnSelection) {
SelectionEvent.fire(RemoteSuggestBox.this, getText());
}
remoteSuggestOracle.cancelOutstandingRequest();
display.hideSuggestions();
}
});
initWidget(suggestBox);
}
项目:unitime
文件:AriaSuggestBox.java
public AriaSuggestBox(AriaTextBox box, SuggestOracle oracle) {
iOracle = oracle;
iText = box;
iText.setStyleName("gwt-SuggestBox");
initWidget(iText);
addEventsToTextBox();
iSuggestionMenu = new SuggestionMenu();
iPopupScroll = new ScrollPanel(iSuggestionMenu);
iPopupScroll.addStyleName("scroll");
iSuggestionPopup = new PopupPanel(true, false);
iSuggestionPopup.setPreviewingAllNativeEvents(true);
iSuggestionPopup.setStyleName("unitime-SuggestBoxPopup");
iSuggestionPopup.setWidget(iPopupScroll);
iSuggestionPopup.addAutoHidePartner(getElement());
iSuggestionCallback = new SuggestionCallback() {
@Override
public void onSuggestionSelected(Suggestion suggestion) {
if (!suggestion.getReplacementString().isEmpty()) {
setStatus(ARIA.suggestionSelected(status(suggestion)));
}
iCurrentText = suggestion.getReplacementString();
setText(suggestion.getReplacementString());
hideSuggestionList();
fireSuggestionEvent(suggestion);
}
};
iOracleCallback = new SuggestOracle.Callback() {
@Override
public void onSuggestionsReady(Request request, Response response) {
if (response.getSuggestions() == null || response.getSuggestions().isEmpty()) {
if (iSuggestionPopup.isShowing()) iSuggestionPopup.hide();
} else {
iSuggestionMenu.clearItems();
SuggestOracle.Suggestion first = null;
for (SuggestOracle.Suggestion suggestion: response.getSuggestions()) {
iSuggestionMenu.addItem(new SuggestionMenuItem(suggestion));
if (first == null) first = suggestion;
}
iSuggestionMenu.selectItem(0);
ToolBox.setMinWidth(iSuggestionMenu.getElement().getStyle(), (iText.getElement().getClientWidth() - 4) + "px");
iSuggestionPopup.showRelativeTo(iText);
iSuggestionMenu.scrollToView();
if (response.getSuggestions().size() == 1) {
if (first.getReplacementString().isEmpty())
setStatus(status(first));
else
setStatus(ARIA.showingOneSuggestion(status(first)));
} else {
setStatus(ARIA.showingMultipleSuggestions(response.getSuggestions().size(), request.getQuery(), status(first)));
}
}
}
};
Roles.getTextboxRole().setAriaAutocompleteProperty(iText.getElement(), AutocompleteValue.NONE);
iSuggestionPopup.getElement().setAttribute("id", DOM.createUniqueId());
Roles.getTextboxRole().setAriaOwnsProperty(iText.getElement(), Id.of(iSuggestionPopup.getElement()));
}
项目:unitime
文件:AriaSuggestBox.java
private String status(Suggestion suggestion) {
return suggestion instanceof HasStatus ? ((HasStatus)suggestion).getStatusString() : suggestion.getDisplayString();
}
项目:unitime
文件:AriaSuggestBox.java
public Suggestion getSelectedSuggestion() {
MenuItem selectedItem = getSelectedItem();
return selectedItem == null ? null : ((SuggestionMenuItem)selectedItem).getSuggestion();
}
项目:unitime
文件:AriaSuggestBox.java
public Suggestion getSuggestion() {
return iSuggestion;
}
项目:unitime
文件:AriaSuggestBox.java
@Override
public HandlerRegistration addSelectionHandler(SelectionHandler<Suggestion> handler) {
return addHandler(handler, SelectionEvent.getType());
}
项目:unitime
文件:AriaSuggestBox.java
private void fireSuggestionEvent(Suggestion selectedSuggestion) {
SelectionEvent.fire(this, selectedSuggestion);
}
项目:unitime
文件:SectioningStatusPage.java
public void onFailure(Throwable caught) {
ArrayList<Suggestion> suggestions = new ArrayList<Suggestion>();
// suggestions.add(new SimpleSuggestion("<font color='red'>"+caught.getMessage()+"</font>", ""));
iCallback.onSuggestionsReady(iRequest, new Response(suggestions));
ToolBox.checkAccess(caught);
}
项目:google-apis-explorer
文件:FullView.java
@UiHandler("searchBox")
void suggestionSelected(SelectionEvent<Suggestion> event) {
presenter.handleSearch(event.getSelectedItem().getReplacementString());
}
项目:suggestfield
文件:VSuggestField.java
public void onSuggestionSelected(Suggestion suggestion) {
box.setFocus(true);
setNewSelection(suggestion);
}
项目:suggestfield
文件:VSuggestField.java
void showSuggestions() {
// invoke the callback
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
// Hide the popup if there are no suggestions to display.
boolean anySuggestions = (suggestions != null && suggestions
.size() > 0);
if (!anySuggestions) {
hideSuggestions();
return;
}
// Hide the popup before we manipulate the menu within it.
// If we do not
// do this, some browsers will redraw the popup as items are
// removed
// and added to the menu.
if (popup.isAttached()) {
popup.hide();
}
menu.clearItems();
for (final Suggestion curSuggestion : wrapSuggestions(suggestions)) {
final SuggestionMenuItem menuItem = new SuggestionMenuItem(
curSuggestion, true);
menuItem.setScheduledCommand(new ScheduledCommand() {
public void execute() {
suggestionCallback
.onSuggestionSelected(curSuggestion);
}
});
menu.addItem(menuItem);
}
if (anySuggestions) {
// Select the first item in the suggestion menu.
menu.selectItem(0);
}
popup.removeAutoHidePartner(getElement());
popup.addAutoHidePartner(getElement());
popup.showPopup();
}
});
}