From: <hee...@us...> - 2010-02-11 10:43:40
|
Revision: 2012 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2012&view=rev Author: heeroyuy Date: 2010-02-11 10:43:34 +0000 (Thu, 11 Feb 2010) Log Message: ----------- -set status bar visible only when learning process is started Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/StatusBar2.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2010-02-11 09:17:55 UTC (rev 2011) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2010-02-11 10:43:34 UTC (rev 2012) @@ -207,6 +207,7 @@ throws Exception { setProgress(0); la = model.getLearningAlgorithm(); + view.setStatusBarVisible(true); view.getStatusBar().setMaximumValue( view.getPosAndNegSelectPanel().getOptionPanel() .getMaxExecutionTime()); Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java 2010-02-11 09:17:55 UTC (rev 2011) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerView.java 2010-02-11 10:43:34 UTC (rev 2012) @@ -40,7 +40,6 @@ import javax.swing.JToggleButton; import org.dllearner.algorithms.celoe.CELOE; -import org.dllearner.tools.ore.ui.StatusBar; import org.protege.editor.owl.OWLEditorKit; import org.semanticweb.owl.model.OWLDescription; /** @@ -122,7 +121,7 @@ private String labels; private int individualSize; private SuggestClassPanelHandler sugPanelHandler; - private StatusBar stat; + private StatusBar2 stat; private static final String WIKI_STRING = "<html><font size=\"3\">See <a href=\"http://dl-learner.org/wiki/ProtegePlugin\">DL-Learner plugin page</a> for an introduction.</font></html>"; /** @@ -167,7 +166,9 @@ runPanel = new JPanel(new FlowLayout()); accept = new JButton("<html>ADD</html>"); addButtonPanel = new JPanel(new BorderLayout()); - stat = new StatusBar(); + stat = new StatusBar2(); + stat.setBackground(learnerScroll.getBackground()); + this.setStatusBarVisible(false); hint = new JTextPane(); hint.setBackground(learnerScroll.getBackground()); hint.setContentType("text/html"); @@ -346,6 +347,13 @@ return helpButton; } /** + * This method sets the status bar visible when learning + * is started. + */ + public void setStatusBarVisible(boolean b) { + stat.setVisible(b); + } + /** * This method enables the GraphicalCoveragePanel after a class expression is * selected from the list. */ @@ -513,6 +521,7 @@ */ public void algorithmTerminated() { CELOE celoe = (CELOE) model.getLearningAlgorithm(); + this.setStatusBarVisible(false); String message = "<html><font size=\"3\" color=\"black\">Learning successful. All expressions up to length " + (celoe.getMinimumHorizontalExpansion()-1) + " and some expressions up to <br>length " + celoe.getMaximumHorizontalExpansion() + " searched."; hint.setForeground(Color.RED); if(isInconsistent) { @@ -575,7 +584,7 @@ * This methode returns the statusbar. * @return statusbar */ - public StatusBar getStatusBar() { + public StatusBar2 getStatusBar() { return stat; } Added: trunk/src/dl-learner/org/dllearner/tools/protege/StatusBar2.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/StatusBar2.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/StatusBar2.java 2010-02-11 10:43:34 UTC (rev 2012) @@ -0,0 +1,214 @@ +package org.dllearner.tools.protege; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.util.Set; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JProgressBar; +import javax.swing.JSeparator; +import javax.swing.SwingUtilities; +import javax.swing.Timer; + +import org.mindswap.pellet.utils.progress.ProgressMonitor; +import org.semanticweb.owl.model.OWLAxiom; + +import com.clarkparsia.explanation.util.ExplanationProgressMonitor; + +public class StatusBar2 extends JPanel implements ProgressMonitor, ExplanationProgressMonitor, PropertyChangeListener { + /** + * + */ + private static final long serialVersionUID = 1L; + private JLabel infoLabel; + private JProgressBar progressBar; + + private boolean cancelled; + + private boolean indeterminate; + + private static final int CANCEL_TIMEOUT_MS = 5000; + + private Timer cancelTimeout; + + private int progress; + private int progressLength; + private String progressTitle; + + public StatusBar2() { + setLayout(new BorderLayout()); + + infoLabel = new JLabel(""); + progressBar = new JProgressBar(); + + JPanel rightPanel = new JPanel(new BorderLayout()); + rightPanel.setOpaque(false); + JPanel leftPanel = new JPanel(new FlowLayout()); + + leftPanel.add(progressBar); + leftPanel.add(new JSeparator(JSeparator.VERTICAL)); + leftPanel.add(infoLabel); + leftPanel.add(new JSeparator(JSeparator.VERTICAL)); + leftPanel.setOpaque(false); + add(leftPanel, BorderLayout.WEST); +// add(rightPanel, BorderLayout.EAST); +// setBackground(SystemColor.control); + + cancelTimeout = new Timer(CANCEL_TIMEOUT_MS, new ActionListener() { + public void actionPerformed(ActionEvent event) { + + } + }); + cancelTimeout.setRepeats(false); + } + + public void setMessage(String message) { + infoLabel.setText(message); + } + + public void showProgress(boolean b) { + cancelled = false; + indeterminate = b; + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + progressBar.setIndeterminate(indeterminate); + + } + }); + } + + public void setMaximumValue(int max) { + progressBar.setMaximum(max); + } + + @Override + public void foundAllExplanations() { + // TODO Auto-generated method stub + + } + + @Override + public void foundExplanation(Set<OWLAxiom> explanation) { + + } + + @Override + public boolean isCancelled() { + return cancelled; + } + + @Override + public void propertyChange(PropertyChangeEvent evt) { + if ("progress" == evt.getPropertyName()) { + int progress = (Integer) evt.getNewValue(); + setProgress(progress); + } + + } + + @Override + public int getProgress() { + return progress; + } + + @Override + public int getProgressPercent() { + return (int) (progress * 100.0) / progressBar.getMaximum(); + } + + @Override + public void incrementProgress() { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(progress++); + // double percentDone = (progress * 100.0) / + // progressBar.getMaximum(); + // if(percentDone / 100.0 == 0) { + // label.setText("Classifying ontology " + getProgressPercent() + // + " %"); + // } + } + }); + + } + + @Override + public boolean isCanceled() { + return cancelled; + } + + @Override + public void setProgress(int progr) { + this.progress = progr; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue((int) progress); + } + }); + + } + + @Override + public void setProgressLength(int length) { + this.progressLength = length; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(0); + progressBar.setMaximum((int) progressLength); + } + }); + + } + + @Override + public void setProgressMessage(String message) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + // label.setText(message); + } + }); + + } + + @Override + public void setProgressTitle(String title) { + this.progressTitle = title; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + infoLabel.setText(progressTitle + "..."); + } + }); + + } + + @Override + public void taskFinished() { + cancelTimeout.stop(); + progress = 0; + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setValue(progress); + } + }); + + } + + @Override + public void taskStarted() { + + + SwingUtilities.invokeLater(new Runnable() { + public void run() { + progressBar.setIndeterminate(false); + } + }); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |