org.protege.editor.owl.ui.list.OWLObjectList Maven / Gradle / Ivy
The newest version!
package org.protege.editor.owl.ui.list;
import org.protege.editor.owl.OWLEditorKit;
import org.protege.editor.owl.ui.renderer.OWLCellRendererSimple;
import org.protege.editor.owl.ui.transfer.OWLObjectListDragGestureListener;
import org.semanticweb.owlapi.model.OWLEntity;
import org.semanticweb.owlapi.model.OWLObject;
import javax.swing.*;
import java.awt.*;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DragSource;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* Author: Matthew Horridge
* The University Of Manchester
* Medical Informatics Group
* Date: 19-Jun-2006
* [email protected]
* www.cs.man.ac.uk/~horridgm
*/
public class OWLObjectList extends JList {
public OWLObjectList(OWLEditorKit owlEditorKit) {
OWLCellRendererSimple renderer = new OWLCellRendererSimple(owlEditorKit);
renderer.setDisplayQuotes(false);
setCellRenderer(renderer);
DragSource ds = DragSource.getDefaultDragSource();
ds.createDefaultDragGestureRecognizer(this,
DnDConstants.ACTION_COPY,
new OWLObjectListDragGestureListener(owlEditorKit, this));
}
public String getToolTipText(MouseEvent event) {
int index = locationToIndex(event.getPoint());
if (index >= 0){
Object element = getModel().getElementAt(index);
if (element != null && element instanceof OWLEntity){
return ((OWLEntity)element).getIRI().toString();
}
}
return null;
}
public void setSelectedValues(Set owlObjects, boolean shouldScroll) {
getSelectionModel().clearSelection();
if (getSelectionMode() == ListSelectionModel.MULTIPLE_INTERVAL_SELECTION){
int firstIndex = -1;
for (int i=0; i getSelectedOWLObjects(){
List sel = new ArrayList<>();
for (Object o : getSelectedValues()){
sel.add((O) o);
}
return sel;
}
}