From: <lor...@us...> - 2010-03-03 22:10:19
|
Revision: 2085 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2085&view=rev Author: lorenz_b Date: 2010-03-03 22:09:59 +0000 (Wed, 03 Mar 2010) Log Message: ----------- Some changes in class expression rendering. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanelHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestListCellRenderer.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/ProgressBarTableCellRenderer.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTable.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTableModel.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2010-03-03 21:19:27 UTC (rev 2084) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -305,42 +305,45 @@ public void run() { model.setSuggestList(result); - dm.clear(); - int i = 0; - for (EvaluatedDescription eval : result) { - Set<String> ont = model.getOntologyURIString(); - for (String ontology : ont) { - if (eval.getDescription().toString().contains( - ontology)) { - if (((EvaluatedDescriptionClass) eval) - .isConsistent()) { - dm.add(i, new SuggestListItem(colorGreen, - eval.getDescription() - .toManchesterSyntaxString( - ontology, null), - ((EvaluatedDescriptionClass) eval) - .getAccuracy() * 100)); - i++; - break; - } else { - dm.add(i, new SuggestListItem(colorRed, - eval.getDescription() - .toManchesterSyntaxString( - ontology, null), - ((EvaluatedDescriptionClass) eval) - .getAccuracy() * 100)); - if(isFinished) { - view.setIsInconsistent(true); - } - i++; - break; - } - } - } - } - - view.getSuggestClassPanel().setSuggestList(dm); - view.getLearnerView().repaint(); +// dm.clear(); +// int i = 0; +// for (EvaluatedDescription eval : result) { +// Set<String> ont = model.getOntologyURIString(); +// for (String ontology : ont) { +// if (eval.getDescription().toString().contains( +// ontology)) { +// if (((EvaluatedDescriptionClass) eval) +// .isConsistent()) { +// dm.add(i, eval); +//// dm.add(i, new SuggestListItem(colorGreen, +//// eval.getDescription() +//// .toManchesterSyntaxString( +//// ontology, null), +//// ((EvaluatedDescriptionClass) eval) +//// .getAccuracy() * 100)); +// i++; +// break; +// } else { +// dm.add(i, eval); +//// dm.add(i, new SuggestListItem(colorRed, +//// eval.getDescription() +//// .toManchesterSyntaxString( +//// ontology, null), +//// ((EvaluatedDescriptionClass) eval) +//// .getAccuracy() * 100)); +// if(isFinished) { +// view.setIsInconsistent(true); +// } +// i++; +// break; +// } +// } +// } +// } +// +// view.getSuggestClassPanel().setSuggestList(dm); +// view.getLearnerView().repaint(); + view.getSuggestClassPanel().addSuggestions(result); } }; SwingUtilities.invokeLater(doUpdateList); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java 2010-03-03 21:19:27 UTC (rev 2084) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -187,6 +187,7 @@ sugPanelHandler = new SuggestClassPanelHandler(this, model, action); sugPanel.addSuggestPanelMouseListener(sugPanelHandler); sugPanel.getSuggestList().addListSelectionListener(sugPanelHandler); + sugPanel.getSuggestionsTable().getSelectionModel().addListSelectionListener(sugPanelHandler); this.addAcceptButtonListener(this.action); this.addRunButtonListener(this.action); this.addAdvancedButtonListener(this.action); @@ -437,6 +438,7 @@ public void dispose() { this.unsetEverything(); sugPanel.getSuggestList().removeAll(); + sugPanel.getSuggestionsTable().clear(); learner.removeAll(); sugPanel = null; model.getSuggestModel().clear(); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2010-03-03 21:19:27 UTC (rev 2084) +++ trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2010-03-03 22:09:59 UTC (rev 2085) @@ -6,7 +6,7 @@ Bundle-Description: Protege DL-Learner Plugin Bundle-Vendor: DL-Learner Project Bundle-DocURL: http://dl-learner.org/wiki/ProtegePlugin -Bundle-ClassPath: .,lib/junit-4.4.jar,lib/jamon-2.7.jar,lib/pellet/pellet-core.jar,lib/pellet/pellet-datatypes.jar,lib/ore-tool/BrowserLauncher2-all-1_3.jar,lib/pellet/pellet-el.jar,lib/pellet/pellet-explanation.jar,lib/pellet/pellet-owlapi.jar,lib/pellet/pellet-rules.jar,lib/pellet/aterm-java-1.6.jar,lib/jena/json.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.1.jar,lib/ore-tool/swingx-0.9.2.jar,lib/owlapi/owlapiV3-bin.jar +Bundle-ClassPath: .,lib/junit-4.4.jar,lib/jamon-2.7.jar,lib/pellet/pellet-core.jar,lib/pellet/pellet-datatypes.jar,lib/ore-tool/BrowserLauncher2-all-1_3.jar,lib/ore-tool/swingx-1.6.jar,lib/pellet/pellet-el.jar,lib/pellet/pellet-explanation.jar,lib/pellet/pellet-owlapi.jar,lib/pellet/pellet-rules.jar,lib/pellet/aterm-java-1.6.jar,lib/jena/json.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.1.jar,lib/ore-tool/swingx-0.9.2.jar,lib/owlapi/owlapiV3-bin.jar Import-Package: org.osgi.framework,org.apache.log4j Export-Package: lib Bundle-Version: 0.6.0 Added: trunk/src/dl-learner/org/dllearner/tools/protege/ProgressBarTableCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ProgressBarTableCellRenderer.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ProgressBarTableCellRenderer.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -0,0 +1,57 @@ +package org.dllearner.tools.protege; + +import java.awt.Component; + +import javax.swing.JProgressBar; +import javax.swing.JTable; +import javax.swing.table.TableCellRenderer; + +import org.protege.editor.owl.ui.renderer.OWLRendererPreferences; + +public class ProgressBarTableCellRenderer extends JProgressBar implements TableCellRenderer { + + + /** + * + */ + private static final long serialVersionUID = 8523710265306561978L; + + + public ProgressBarTableCellRenderer() { + super(JProgressBar.HORIZONTAL); + setBorderPainted(false); + setStringPainted(true); + setFont(OWLRendererPreferences.getInstance().getFont()); + } + + public ProgressBarTableCellRenderer(int min, int max) { + super(JProgressBar.HORIZONTAL, 0, 100); + setBorderPainted(false); + } + + public Component getTableCellRendererComponent(JTable table, Object value, + boolean isSelected, boolean hasFocus, int row, int column) { + + int n = 0; + if (! (value instanceof Number)) { + String str; + if (value instanceof String) { + str = (String)value; + } else { + str = value.toString(); + } + try { + n = Integer.valueOf(str).intValue(); + } catch (NumberFormatException ex) { + } + } else { + n = ((Number)value).intValue(); + } + + setValue(n); + return this; + } + + + +} Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java 2010-03-03 21:19:27 UTC (rev 2084) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -60,6 +60,7 @@ @Override public boolean isValidInput() { view.getSuggestClassPanel().getSuggestModel().clear(); + view.getSuggestClassPanel().getSuggestionsTable().clear(); //view.getSuggestClassPanel().repaint(); if(this.getAxiomType().toString().equals(EQUIVALENT_CLASS_STRING)) { view.makeView("equivalent class"); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2010-03-03 21:19:27 UTC (rev 2084) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -20,6 +20,7 @@ package org.dllearner.tools.protege; import java.awt.BorderLayout; +import java.util.List; import javax.swing.DefaultListModel; import javax.swing.JList; @@ -27,6 +28,10 @@ import javax.swing.JScrollPane; import javax.swing.ListSelectionModel; +import org.dllearner.core.EvaluatedDescription; +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.tools.evaluationplugin.EvaluationTable; + /** * This class is the panel for the suggest list. It shows the descriptions made * by the DL-Learner. @@ -41,6 +46,8 @@ // Description List private final JList descriptions; + + private final SuggestionsTable suggestionTable; // Panel for the description list @@ -72,12 +79,15 @@ descriptions = new JList(suggestModel); descriptions.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); suggestPanel = new JPanel(); - descriptions.setVisible(true); - descriptions.setVisibleRowCount(6); - descriptions.getPreferredScrollableViewportSize(); - suggestPanel.add(descriptions); - suggestScroll.setViewportView(descriptions); - descriptions.setCellRenderer(new SuggestListCellRenderer()); +// descriptions.setVisible(true); +// descriptions.setVisibleRowCount(6); +// descriptions.getPreferredScrollableViewportSize(); +// suggestPanel.add(descriptions); +// suggestScroll.setViewportView(descriptions); +// descriptions.setCellRenderer(new SuggestListCellRenderer(m.getOWLEditorKit())); + suggestionTable = new SuggestionsTable(m.getOWLEditorKit()); + suggestionTable.setVisibleRowCount(6); + suggestScroll.setViewportView(suggestionTable); add(BorderLayout.CENTER, suggestScroll); } @@ -92,6 +102,10 @@ return this; } + + public void addSuggestions(List<? extends EvaluatedDescription> result){ + suggestionTable.setSuggestions((List<EvaluatedDescriptionClass>)result); + } /** * This method is called after the model for the suggest list is updated. @@ -107,8 +121,7 @@ } } else { for (int i = 0; i < suggestModel.size(); i++) { - if (!((SuggestListItem) suggestModel.get(i)).getValue() - .equals(((SuggestListItem) desc.get(i)).getValue())) { + if (!suggestModel.get(i).equals(desc.get(i))) { descriptions.getSelectedIndex(); suggestModel.set(i, desc.get(i)); if (descriptions.getSelectedIndex() == i) { @@ -137,6 +150,10 @@ public JList getSuggestList() { return descriptions; } + + public SuggestionsTable getSuggestionsTable() { + return suggestionTable; + } /** * This method adds the suggest list to the Mouse Listener. Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanelHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanelHandler.java 2010-03-03 21:19:27 UTC (rev 2084) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanelHandler.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -28,6 +28,7 @@ import javax.swing.event.ListSelectionListener; import org.dllearner.core.EvaluatedDescription; +import org.dllearner.learningproblems.EvaluatedDescriptionClass; /** * This is the MouseListener for the Suggest Panel. * @author Christian Koetteritzsch @@ -58,24 +59,25 @@ */ public void mouseClicked(MouseEvent e) { if (view.getSuggestClassPanel().getSuggestList().getSelectedValue() != null) { - SuggestListItem item = (SuggestListItem) view - .getSuggestClassPanel().getSuggestList().getSelectedValue(); - String desc = item.getValue(); - if (model.getEvaluatedDescriptionList() != null) { - List<? extends EvaluatedDescription> evalList = model - .getEvaluatedDescriptionList(); - Set<String> onto = model.getOntologyURIString(); - for (EvaluatedDescription eDescription : evalList) { - for (String ont : onto) { - if (desc.equals(eDescription.getDescription() - .toManchesterSyntaxString(ont, null))) { - evaluatedDescription = eDescription; - action.setEvaluatedClassExpression(eDescription); - break; - } - } - } - } + EvaluatedDescription evaluatedDescription = (EvaluatedDescription)view.getSuggestClassPanel().getSuggestList().getSelectedValue(); +// SuggestListItem item = (SuggestListItem) view +// .getSuggestClassPanel().getSuggestList().getSelectedValue(); +// String desc = item.getValue(); +// if (model.getEvaluatedDescriptionList() != null) { +// List<? extends EvaluatedDescription> evalList = model +// .getEvaluatedDescriptionList(); +// Set<String> onto = model.getOntologyURIString(); +// for (EvaluatedDescription eDescription : evalList) { +// for (String ont : onto) { +// if (desc.equals(eDescription.getDescription() +// .toManchesterSyntaxString(ont, null))) { +// evaluatedDescription = eDescription; +// action.setEvaluatedClassExpression(eDescription); +// break; +// } +// } +// } +// } view.getMoreDetailForSuggestedConceptsPanel().renderDetailPanel(evaluatedDescription); view.setGraphicalPanel(); } @@ -124,7 +126,18 @@ * Nothing happens here. */ public void valueChanged(ListSelectionEvent e) { - + if(view.getSuggestClassPanel().getSuggestionsTable().getSelectedRow() >= 0){ + EvaluatedDescriptionClass ec = view.getSuggestClassPanel().getSuggestionsTable().getSelectedSuggestion(); + if(!e.getValueIsAdjusting() && ec != null){ + view.getMoreDetailForSuggestedConceptsPanel(). + renderDetailPanel(ec); + view.setGraphicalPanel(); + action.setEvaluatedClassExpression(ec); + view.getAddButton().setEnabled(true); + } + } + + } } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestListCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestListCellRenderer.java 2010-03-03 21:19:27 UTC (rev 2084) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestListCellRenderer.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -23,22 +23,32 @@ import java.awt.Component; import javax.swing.BorderFactory; -import javax.swing.JLabel; import javax.swing.JList; -import javax.swing.ListCellRenderer; +import javax.swing.JPanel; +import javax.swing.JTextPane; + +import org.dllearner.core.EvaluatedDescription; +import org.dllearner.core.owl.Description; +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.renderer.OWLCellRenderer; /** * This is the class that is responsible for the rendering of the * concepts that are shown in the SuggestPanel. * @author Christian Koetteritzsch * */ -public class SuggestListCellRenderer extends JLabel implements ListCellRenderer { +public class SuggestListCellRenderer extends OWLCellRenderer { private static final long serialVersionUID = 8040385703448641356L; /** * Constructor for the Cell Renderer for the Suggest List. */ - public SuggestListCellRenderer() { + public SuggestListCellRenderer(OWLEditorKit editorKit) { + super(editorKit); + setWrap(false); + setHighlightKeywords(true); setOpaque(true); } @@ -52,22 +62,29 @@ * @return Component Returns the currently rendered component of the suggest list */ public Component getListCellRendererComponent(JList list, Object value, - int arg2, boolean iss, boolean arg4) { + int index, boolean isSelected, boolean cellHasFocus) { + EvaluatedDescriptionClass desc = (EvaluatedDescriptionClass)value; + Component c = super.getListCellRendererComponent(list, OWLAPIDescriptionConvertVisitor.getOWLDescription(desc.getDescription()), index, isSelected, cellHasFocus); + JTextPane pane = (JTextPane)((JPanel)c).getComponent(1); + if(!desc.isConsistent()){ + pane.setForeground(Color.RED); + } + // Set the text and // background color for rendering - setText(((SuggestListItem) value).getValue() + " " + "Accuracy: " + Math.round(((SuggestListItem) value).getAccuracy())+"%"); - setBackground(Color.WHITE); - setForeground(((SuggestListItem) value).getColor()); - // Set a border if the list - // item is selected - if (iss) { - setBorder(BorderFactory.createLineBorder(Color.GRAY, 2)); - } else { - setBorder(BorderFactory.createLineBorder(list.getBackground(), 2)); - } - setEnabled(list.isEnabled()); +// setText(((SuggestListItem) value).getValue() + " " + "Accuracy: " + Math.round(((SuggestListItem) value).getAccuracy())+"%"); +// setBackground(Color.WHITE); +// setForeground(((SuggestListItem) value).getColor()); +// // Set a border if the list +// // item is selected +// if (iss) { +// setBorder(BorderFactory.createLineBorder(Color.GRAY, 2)); +// } else { +// setBorder(BorderFactory.createLineBorder(list.getBackground(), 2)); +// } +// setEnabled(list.isEnabled()); - return this; + return c; } } Added: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTable.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTable.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -0,0 +1,48 @@ +package org.dllearner.tools.protege; + +import java.util.List; + +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.jdesktop.swingx.JXTable; +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.renderer.OWLCellRenderer; + +public class SuggestionsTable extends JXTable { + + /** + * + */ + private static final long serialVersionUID = -497294373160119210L; + + private final OWLCellRenderer owlRenderer; + private final ProgressBarTableCellRenderer progressRenderer; + + public SuggestionsTable(OWLEditorKit editorKit){ + super(new SuggestionsTableModel()); + progressRenderer = new ProgressBarTableCellRenderer(); + progressRenderer.setBackground(getBackground()); + getColumn(0).setCellRenderer(progressRenderer); + owlRenderer = new OWLCellRenderer(editorKit, false, false); + owlRenderer.setHighlightKeywords(true); + owlRenderer.setWrap(false); + getColumn(1).setCellRenderer(owlRenderer); + setColumnSizes(); + } + + private void setColumnSizes(){ + getColumn(0).setMaxWidth(100); + getColumn(1).setPreferredWidth(430); + } + + public void clear(){ + ((SuggestionsTableModel)getModel()).clear(); + } + + public void setSuggestions(List<EvaluatedDescriptionClass> suggestionList){ + ((SuggestionsTableModel)getModel()).setSuggestions(suggestionList); + } + + public EvaluatedDescriptionClass getSelectedSuggestion(){ + return ((SuggestionsTableModel)getModel()).getSelectedValue(getSelectedRow()); + } +} Added: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTableModel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestionsTableModel.java 2010-03-03 22:09:59 UTC (rev 2085) @@ -0,0 +1,83 @@ +package org.dllearner.tools.protege; + +import java.util.ArrayList; +import java.util.List; + +import javax.swing.table.AbstractTableModel; + +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.utilities.owl.OWLAPIDescriptionConvertVisitor; +import org.semanticweb.owl.model.OWLDescription; + +public class SuggestionsTableModel extends AbstractTableModel { + + /** + * + */ + private static final long serialVersionUID = -6920806148989403795L; + + private List<EvaluatedDescriptionClass> suggestionList; + + public SuggestionsTableModel(){ + super(); + suggestionList = new ArrayList<EvaluatedDescriptionClass>(); + } + + public SuggestionsTableModel(List<EvaluatedDescriptionClass> suggestionList){ + this.suggestionList = suggestionList; + } + + @Override + public int getColumnCount() { + return 2; + } + + @Override + public int getRowCount() { + return suggestionList.size(); + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + if(columnIndex == 0){ + return (int)(suggestionList.get(rowIndex).getAccuracy() * 100); + } else { + return OWLAPIDescriptionConvertVisitor.getOWLDescription(suggestionList.get(rowIndex).getDescription()); + } + + } + + @Override + public Class<? extends Object> getColumnClass(int columnIndex){ + if(columnIndex == 0) { + return String.class; + } else { + return OWLDescription.class; + } + } + @Override + public String getColumnName(int column){ + if(column == 0){ + return "Accuracy"; + } else { + return "Class expression"; + } + } + + public void clear(){ + suggestionList.clear(); + fireTableDataChanged(); + } + + public void setSuggestions(List<EvaluatedDescriptionClass> suggestionList){ + this.suggestionList.clear(); + this.suggestionList.addAll(suggestionList); + fireTableDataChanged(); + } + + public EvaluatedDescriptionClass getSelectedValue(int rowIndex){ + return suggestionList.get(rowIndex); + } + + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |