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

org.protege.editor.owl.ui.view.ManchesterSyntaxFrameView Maven / Gradle / Ivy

package org.protege.editor.owl.ui.view;

import org.protege.editor.owl.model.OWLModelManager;
import org.semanticweb.owlapi.manchestersyntax.renderer.ManchesterOWLSyntaxFrameRenderer;
import org.semanticweb.owlapi.model.*;

import javax.swing.*;
import java.awt.*;
import java.io.BufferedWriter;
import java.io.StringWriter;
import java.io.Writer;
/*
* Copyright (C) 2007, University of Manchester
*
*
*/

/**
 * Author: drummond
* http://www.cs.man.ac.uk/~drummond/

* The University Of Manchester
* Bio Health Informatics Group
* Date: Nov 26, 2008

*/ public class ManchesterSyntaxFrameView extends AbstractOWLSelectionViewComponent { /** * */ private static final long serialVersionUID = -7745031898151962692L; private JTextArea textArea; private JScrollPane scroller; public void initialiseView() throws Exception { setLayout(new BorderLayout()); textArea = new JTextArea(); textArea.setEditable(false); textArea.setFont(new Font("monospaced", Font.PLAIN, 12)); scroller = new JScrollPane(textArea); add(scroller, BorderLayout.CENTER); updateView(); } protected OWLObject updateView() { final OWLEntity owlEntity = getOWLWorkspace().getOWLSelectionModel().getSelectedEntity(); if (owlEntity != null){ StringWriter w = new StringWriter(); try { final BufferedWriter bw = new BufferedWriter(w); renderOWLEntity(owlEntity, bw); bw.close(); textArea.setText(w.getBuffer().toString()); SwingUtilities.invokeLater(() -> { scroller.getViewport().setViewPosition(new Point(0, 0)); }); } catch (Exception e) { throw new RuntimeException(e); } } return owlEntity; } private void renderOWLEntity(OWLEntity entity, Writer writer) throws Exception { OWLEntityFrameRendererAdapter adapter = new OWLEntityFrameRendererAdapter(getOWLModelManager(), writer); entity.accept(adapter); } public void disposeView() { // do nothing } class OWLEntityFrameRendererAdapter implements OWLEntityVisitor { private ManchesterOWLSyntaxFrameRenderer ren; OWLEntityFrameRendererAdapter(OWLModelManager mngr, Writer writer) { ren = new ManchesterOWLSyntaxFrameRenderer(mngr.getActiveOntology(), writer, mngr.getOWLEntityRenderer()); } public void visit(OWLClass owlClass) { ren.write(owlClass); } public void visit(OWLObjectProperty owlObjectProperty) { ren.write(owlObjectProperty); } public void visit(OWLDataProperty owlDataProperty) { ren.write(owlDataProperty); } public void visit(OWLNamedIndividual owlNamedIndividual) { ren.write(owlNamedIndividual); } public void visit(OWLDatatype owlDatatype) { ren.write(owlDatatype); } public void visit(OWLAnnotationProperty owlAnnotationProperty) { ren.write(owlAnnotationProperty); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy