editCritButton.setAutoFit(true);
editCritButton.setShowDisabledIcon(false);
editCritButton.setTooltip(messages.searchFavouritesListWidgetEditFilterTooltip());
editCritButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
SearchWidget sw = null;
if (AttributeSearchPanel.canHandle(fav.getCriterion())) {
sw = SearchWidgetRegistry.getSearchWidgetInstance(AttributeSearchCreator.IDENTIFIER);
}
if (sw == null && CombinedSearchPanel.canHandle(fav.getCriterion())) {
sw = SearchWidgetRegistry.getSearchWidgetInstance(CombinedSearchCreator.IDENTIFIER);
}
if (sw == null) {
SC.say(messages.searchFavouritesListWidgetSearchWindowNotFound());
return;
}
sw.showForSave(new SaveRequestHandler() {
public void onSaveRequested(SaveRequestEvent event) {
SearchFavourite oldFav = flr.getFavourite();
SearchFavourite newFav = (SearchFavourite) oldFav.clone();
newFav.setCriterion(event.getCriterion());
flr.setFavourite(newFav);
SearchWidgetRegistry.getFavouritesController().onChangeRequested(
new FavouriteEvent(oldFav, newFav, SearchFavouritesListPanel.this));
}
});
sw.initialize(fav.getCriterion());
}
});
IButton deleteButton = new IButton(messages.searchFavouritesListWidgetDelete());
deleteButton.setIcon(BTN_DELETE_IMG);