/* * Copyright 2013 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.artificer.ui.client.local.widgets.ontologies; import java.util.List; import javax.enterprise.context.Dependent; import javax.inject.Inject; import org.jboss.errai.ui.shared.api.annotations.DataField; import org.jboss.errai.ui.shared.api.annotations.Templated; import org.artificer.ui.client.shared.beans.OntologyBean; import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.HasChangeHandlers; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.ListBox; /** * Drop-down for choosing an ontology. * @author eric.wittmann@redhat.com */ @Templated("/org/artificer/ui/client/local/site/dialogs/modify-classifiers-dialog.html#modify-classifiers-dialog-ontology-selector") @Dependent public class OntologyDropDown extends Composite implements HasChangeHandlers { @Inject @DataField("ontology-select") private ListBox selector; /** * Constructor. */ public OntologyDropDown() { } /** * Sets the options for the drop-down based on the ontologies in the list. * @param ontologies */ public void setOptions(List<OntologyBean> ontologies) { selector.clear(); selector.addItem("", ""); for (OntologyBean ontology : ontologies) { selector.addItem(ontology.getId(), ontology.getBase()); } } /** * @see com.google.gwt.event.dom.client.HasChangeHandlers#addChangeHandler(com.google.gwt.event.dom.client.ChangeHandler) */ @Override public HandlerRegistration addChangeHandler(ChangeHandler handler) { return selector.addChangeHandler(handler); } /** * @return the currently selected option's value */ public String getSelection() { int selectedIndex = selector.getSelectedIndex(); if (selectedIndex == 0) { return null; } else { return selector.getValue(selectedIndex); } } }