From: <lor...@us...> - 2012-04-20 09:08:03
|
Revision: 3649 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3649&view=rev Author: lorenz_b Date: 2012-04-20 09:07:54 +0000 (Fri, 20 Apr 2012) Log Message: ----------- Added preferences tab. Modified Paths: -------------- trunk/protege/src/main/java/org/dllearner/tools/protege/Manager.java trunk/protege/src/main/java/org/dllearner/tools/protege/ProtegePlugin.java trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTable.java trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTableModel.java trunk/protege/src/main/resources/plugin.properties trunk/protege/src/main/resources/plugin.xml Added Paths: ----------- trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferences.java trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferencesPanel.java Added: trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferences.java =================================================================== --- trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferences.java (rev 0) +++ trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferences.java 2012-04-20 09:07:54 UTC (rev 3649) @@ -0,0 +1,35 @@ +package org.dllearner.tools.protege; + +import org.protege.editor.core.prefs.Preferences; +import org.protege.editor.core.prefs.PreferencesManager; + +public class DLLearnerPreferences { + private static DLLearnerPreferences instance; + + private static final String KEY = "org.dllearner"; + + private static final String TRACKING = "CheckConsistencyWhileLearning"; + + + public static synchronized DLLearnerPreferences getInstance() { + if(instance == null) { + instance = new DLLearnerPreferences(); + } + return instance; + } + + private Preferences getPrefs() { + return PreferencesManager.getInstance().getApplicationPreferences(KEY); + } + + + public boolean isCheckConsistencyWhileLearning() { + return getPrefs().getBoolean(TRACKING, true); + } + + + public void setCheckConsistencyWhileLearning(boolean checkConsistencyWhileLearning) { + getPrefs().putBoolean(TRACKING, checkConsistencyWhileLearning); + } + +} Added: trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferencesPanel.java =================================================================== --- trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferencesPanel.java (rev 0) +++ trunk/protege/src/main/java/org/dllearner/tools/protege/DLLearnerPreferencesPanel.java 2012-04-20 09:07:54 UTC (rev 3649) @@ -0,0 +1,120 @@ +package org.dllearner.tools.protege; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.util.ArrayList; + +import javax.swing.BorderFactory; +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JTabbedPane; + +import org.protege.editor.owl.ui.preferences.OWLPreferencesPanel; + +public class DLLearnerPreferencesPanel extends OWLPreferencesPanel{ + + private static final long serialVersionUID = -943293597478204971L; + + private java.util.List<OWLPreferencesPanel> optionPages = new ArrayList<OWLPreferencesPanel>(); + + private JTabbedPane tabPane; + + public static final String DEFAULT_PAGE = "General Options"; + + + public void applyChanges() { + for (OWLPreferencesPanel optionPage : optionPages) { + optionPage.applyChanges(); + } + } + + + public void initialise() throws Exception { + setLayout(new BorderLayout()); + + tabPane = new JTabbedPane(); + + addOptions(new BasicOptionsPanel(), "General Options"); + + add(tabPane, BorderLayout.NORTH); + } + + + public void dispose() throws Exception { + for (OWLPreferencesPanel optionPage : optionPages) { + optionPage.dispose(); + } + } + + + private void addOptions(OWLPreferencesPanel page, String tabName) throws Exception { + // If the page does not exist, add it, and add the component + // to the page. + + Component c = getTab(tabName); + if(c == null) { + // Create a new Page + Box box = new Box(BoxLayout.Y_AXIS); + box.add(page); + box.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12)); + tabPane.add(tabName, box); + optionPages.add(page); + } + else { + Box box = (Box) c; + box.add(Box.createVerticalStrut(7)); + box.add(page); + optionPages.add(page); + } + + page.initialise(); + } + + protected Component getTab(String name) { + for(int i = 0; i < tabPane.getTabCount(); i++) { + if(tabPane.getTitleAt(i).equals(name)) { + return tabPane.getComponentAt(i); + } + } + return null; + } + + class BasicOptionsPanel extends OWLPreferencesPanel { + + /** + * + */ + private static final long serialVersionUID = -6685359718444062677L; + private JCheckBox checkConsistencyCheckBox; + + public void initialise() throws Exception { + setLayout(new BorderLayout(12, 12)); + setBorder(BorderFactory.createTitledBorder("Basic")); + add(createUI(), BorderLayout.NORTH); + } + + public void dispose() throws Exception { + // do nothing + } + + + protected JComponent createUI() { + Box panel = new Box(BoxLayout.LINE_AXIS); + + checkConsistencyCheckBox = new JCheckBox("Check consistency"); + panel.add(checkConsistencyCheckBox); + + return panel; + } + + public void applyChanges() { + DLLearnerPreferences.getInstance().setCheckConsistencyWhileLearning(checkConsistencyCheckBox.isSelected()); + } + } + + + + +} Modified: trunk/protege/src/main/java/org/dllearner/tools/protege/Manager.java =================================================================== --- trunk/protege/src/main/java/org/dllearner/tools/protege/Manager.java 2012-04-20 07:53:21 UTC (rev 3648) +++ trunk/protege/src/main/java/org/dllearner/tools/protege/Manager.java 2012-04-20 09:07:54 UTC (rev 3649) @@ -129,7 +129,7 @@ lp.setClassToDescribe(new NamedClass(editorKit.getOWLWorkspace() .getOWLSelectionModel().getLastSelectedClass().getIRI().toURI())); lp.setEquivalence(learningType == LearningType.EQUIVALENT); - lp.setCheckConsistency(false); + lp.setCheckConsistency(DLLearnerPreferences.getInstance().isCheckConsistencyWhileLearning()); lp.init(); System.out.println("Done in " + (System.currentTimeMillis()-startTime) + "ms."); Modified: trunk/protege/src/main/java/org/dllearner/tools/protege/ProtegePlugin.java =================================================================== --- trunk/protege/src/main/java/org/dllearner/tools/protege/ProtegePlugin.java 2012-04-20 07:53:21 UTC (rev 3648) +++ trunk/protege/src/main/java/org/dllearner/tools/protege/ProtegePlugin.java 2012-04-20 09:07:54 UTC (rev 3649) @@ -30,9 +30,9 @@ import org.protege.editor.owl.model.event.OWLModelManagerListener; import org.protege.editor.owl.model.inference.OWLReasonerManager; import org.protege.editor.owl.model.inference.ReasonerStatus; -import org.protege.editor.owl.model.inference.ReasonerUtilities; import org.protege.editor.owl.ui.editor.AbstractOWLClassExpressionEditor; import org.semanticweb.owlapi.model.AxiomType; +import org.semanticweb.owlapi.model.OWLClass; import org.semanticweb.owlapi.model.OWLClassExpression; /** @@ -136,9 +136,11 @@ @Override public void handleChange(OWLModelManagerChangeEvent event) { - System.out.println(event); - if(event.isType(EventType.REASONER_CHANGED) && !event.isType(EventType.ACTIVE_ONTOLOGY_CHANGED)){ - checkReasonerStatus(); - } + OWLClass lastSelectedClass = getOWLEditorKit().getOWLWorkspace().getOWLSelectionModel().getLastSelectedClass(); + if (lastSelectedClass != null) { + if(event.isType(EventType.REASONER_CHANGED) && !event.isType(EventType.ACTIVE_ONTOLOGY_CHANGED)){ + checkReasonerStatus(); + } + } } } Modified: trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTable.java =================================================================== --- trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTable.java 2012-04-20 07:53:21 UTC (rev 3648) +++ trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTable.java 2012-04-20 09:07:54 UTC (rev 3649) @@ -1,8 +1,12 @@ package org.dllearner.tools.protege; +import java.awt.event.MouseEvent; import java.util.Comparator; import java.util.List; +import javax.swing.SwingUtilities; +import javax.swing.table.DefaultTableCellRenderer; + import org.dllearner.learningproblems.EvaluatedDescriptionClass; import org.jdesktop.swingx.JXTable; import org.protege.editor.owl.OWLEditorKit; @@ -72,4 +76,21 @@ public EvaluatedDescriptionClass getSelectedSuggestion(){ return ((SuggestionsTableModel)getModel()).getSelectedValue(getSelectedRow()); } + + @Override + public String getToolTipText(MouseEvent event) { + int column = columnAtPoint(event.getPoint()); + int row = rowAtPoint(event.getPoint()); + if(column == 1 && row != -1){ + EvaluatedDescriptionClass ec = ((SuggestionsTableModel)getModel()).getEntryAtRow(row); + String text = null; + if(ec.followsFromKB()){ + text = "This axiom follows implicitly from knowledge base!"; + } else if(DLLearnerPreferences.getInstance().isCheckConsistencyWhileLearning() && !ec.isConsistent()){ + text = "Adding this axiom may laed to an inconsistent knowlegde base!"; + } + return text; + } + return super.getToolTipText(event); + } } Modified: trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTableModel.java =================================================================== --- trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTableModel.java 2012-04-20 07:53:21 UTC (rev 3648) +++ trunk/protege/src/main/java/org/dllearner/tools/protege/SuggestionsTableModel.java 2012-04-20 09:07:54 UTC (rev 3649) @@ -47,9 +47,12 @@ case 0: return (int) (suggestionList.get(rowIndex).getAccuracy() * 100); case 1: - if (!suggestionList.get(rowIndex).isConsistent()) { - return inconsistentIcon; - } else if(suggestionList.get(rowIndex).followsFromKB()){ + if(DLLearnerPreferences.getInstance().isCheckConsistencyWhileLearning()){ + if (!suggestionList.get(rowIndex).isConsistent()) { + return inconsistentIcon; + } + } + if(suggestionList.get(rowIndex).followsFromKB()){ return followsIcon; }break; case 2: @@ -84,6 +87,14 @@ } } + public EvaluatedDescriptionClass getEntryAtRow(int row){ + if(suggestionList.size() >= row){ + return suggestionList.get(row); + } else { + return null; + } + } + public void clear(){ suggestionList.clear(); fireTableDataChanged(); Modified: trunk/protege/src/main/resources/plugin.properties =================================================================== --- trunk/protege/src/main/resources/plugin.properties 2012-04-20 07:53:21 UTC (rev 3648) +++ trunk/protege/src/main/resources/plugin.properties 2012-04-20 09:07:54 UTC (rev 3649) @@ -1,6 +1,6 @@ id=org.dllearner.tools.protege -version=0.6.0 -download=http://sourceforge.net/projects/dl-learner/files/Protege%20DL-Learner%20Plugin/0.6/Protege-DL-Learner-plugin-0.6.zip/download +version=0.7.0 +download=http://sourceforge.net/projects/dl-learner/files/Protege%20DL-Learner%20Plugin/0.7/Protege-DL-Learner-plugin-0.7.zip/download name=DL-Learner Plugin readme=http://dl-learner.svn.sourceforge.net/viewvc/dl-learner/trunk/src/dl-learner/org/dllearner/tools/protege/README license=http://dl-learner.svn.sourceforge.net/viewvc/dl-learner/trunk/LICENSE Modified: trunk/protege/src/main/resources/plugin.xml =================================================================== --- trunk/protege/src/main/resources/plugin.xml 2012-04-20 07:53:21 UTC (rev 3648) +++ trunk/protege/src/main/resources/plugin.xml 2012-04-20 09:07:54 UTC (rev 3649) @@ -6,5 +6,11 @@ <class value="org.dllearner.tools.protege.ProtegePlugin"/> <index value="E"/> </extension> + + <extension id="org.dllearner.tools.protege.prefs" + point="org.protege.editor.core.application.preferencespanel"> + <label value="DL-Learner"/> + <class value="org.dllearner.tools.protege.DLLearnerPreferencesPanel"/> + </extension> </plugin> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |