Package edu.stanford.bmir.protege.web.client.ui.library.itemarea

Source Code of edu.stanford.bmir.protege.web.client.ui.library.itemarea.ItemListSuggestBox$ItemListSuggestionDisplay

package edu.stanford.bmir.protege.web.client.ui.library.itemarea;

import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.SuggestBox;
import com.google.gwt.user.client.ui.TextBoxBase;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
* Author: Matthew Horridge<br>
* Stanford University<br>
* Bio-Medical Informatics Research Group<br>
* Date: 28/02/2012
*/
public class ItemListSuggestBox<T> extends SuggestBox {

    private ItemProvider<T> itemProvider;
   
    public ItemListSuggestBox(ItemProvider<T> itemProvider, TextBoxBase textBoxBase) {
        super(new ItemSuggestOracle<T>(itemProvider, textBoxBase), textBoxBase, new ItemListSuggestionDisplay());
        this.itemProvider = itemProvider;
    }
   
    public Set<T> getItems() {
        TextBoxBase base = getTextBox();
        String [] lines = base.getText().split("\n");
        Set<T> items = new HashSet<T>();
        for(String line : lines) {
            final List<T> itemsMatchingExactly = itemProvider.getItemsMatchingExactly(line.trim());
            items.addAll(itemsMatchingExactly);
        }
        return items;
    }



    private static class ItemListSuggestionDisplay extends DefaultSuggestionDisplay {

        @Override
        public void hideSuggestions() {
            if (isSuggestionListShowing()) {
                super.hideSuggestions();
                Event.getCurrentEvent().preventDefault();
            }
        }

        @Override
        protected void moveSelectionDown() {
            if (isSuggestionListShowing()) {
                super.moveSelectionDown();
                Event.getCurrentEvent().preventDefault();
            }
        }

        @Override
        protected void moveSelectionUp() {
            if (isSuggestionListShowing()) {
                super.moveSelectionUp();
                Event.getCurrentEvent().preventDefault();
            }
        }


    }
}
TOP

Related Classes of edu.stanford.bmir.protege.web.client.ui.library.itemarea.ItemListSuggestBox$ItemListSuggestionDisplay

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.