All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.protege.editor.owl.ui.list.OWLObjectList Maven / Gradle / Ivy

Go to download

OWL ontology editing infrastructure used by the Protege desktop application.

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; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy