From: <jen...@us...> - 2008-09-10 12:17:53
|
Revision: 1193 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1193&view=rev Author: jenslehmann Date: 2008-09-10 12:17:50 +0000 (Wed, 10 Sep 2008) Log Message: ----------- inits running in separate threads, option panels updated correctly Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/gui/ComponentPanel.java trunk/src/dl-learner/org/dllearner/gui/Config.java trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java trunk/src/dl-learner/org/dllearner/gui/StartGUI.java trunk/src/dl-learner/org/dllearner/gui/StatusPanel.java trunk/src/dl-learner/org/dllearner/gui/widgets/WidgetPanelStringSet.java trunk/src/dl-learner/org/dllearner/test/ComponentTest.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/gui/InitWorker.java Modified: trunk/src/dl-learner/org/dllearner/gui/ComponentPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/ComponentPanel.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/ComponentPanel.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -1,6 +1,6 @@ package org.dllearner.gui; -import java.awt.event.ActionEvent; +import java.awt.LayoutManager; import java.awt.event.ActionListener; import javax.swing.JPanel; @@ -13,12 +13,14 @@ * @author Jens Lehmann * */ -public class ComponentPanel<T extends Component> extends JPanel implements ActionListener { +public abstract class ComponentPanel<T extends Component> extends JPanel implements ActionListener { private static final long serialVersionUID = -7678275020058043937L; - public void actionPerformed(ActionEvent arg0) { - // TODO Auto-generated method stub + public ComponentPanel(LayoutManager layout) { + super(layout); } - + + // called when panel is active + public abstract void panelActivated(); } Modified: trunk/src/dl-learner/org/dllearner/gui/Config.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/Config.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/Config.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -20,17 +20,7 @@ package org.dllearner.gui; -import java.awt.BorderLayout; -import java.net.URL; - -import javax.swing.ImageIcon; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.SwingWorker; - -import org.apache.log4j.Logger; import org.dllearner.core.Component; -import org.dllearner.core.ComponentInitException; import org.dllearner.core.ComponentManager; import org.dllearner.core.KnowledgeSource; import org.dllearner.core.LearningAlgorithm; @@ -57,7 +47,7 @@ public class Config { private ComponentManager cm = ComponentManager.getInstance(); - private static Logger logger = Logger.getLogger(Config.class); +// private static Logger logger = Logger.getLogger(Config.class); // the components currently active private KnowledgeSource source; @@ -154,6 +144,14 @@ // logger.debug("knowledge source " + clazz + " changed"); // create a new reasoner object using the current class and the selected source reasoner = cm.reasoner(reasoner.getClass(), source); + rs = cm.reasoningService(reasoner); + lp = cm.learningProblem(lp.getClass(), rs); + try { + la = cm.learningAlgorithm(la.getClass(), lp, rs); + } catch (LearningProblemUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } return source; } @@ -182,6 +180,19 @@ return reasoner; } + public ReasonerComponent changeReasoner(Class<? extends ReasonerComponent> clazz) { + reasoner = cm.reasoner(clazz, source); + rs = cm.reasoningService(reasoner); + lp = cm.learningProblem(lp.getClass(), rs); + try { + la = cm.learningAlgorithm(la.getClass(), lp, rs); + } catch (LearningProblemUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return reasoner; + } + /** * Set ReasoningService. * @@ -223,6 +234,17 @@ return lp; } + public LearningProblem changeLearningProblem(Class<? extends LearningProblem> clazz) { + lp = cm.learningProblem(clazz, rs); + try { + la = cm.learningAlgorithm(la.getClass(), lp, rs); + } catch (LearningProblemUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return lp; + } + /** * Set LearningAlgorithm. * @@ -246,6 +268,16 @@ return la; } + public LearningAlgorithm changeLearningAlgorithm(Class<? extends LearningAlgorithm> clazz) { + try { + la = cm.learningAlgorithm(clazz, lp, rs); + } catch (LearningProblemUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return la; + } + public boolean tabNeedsInit(int tabIndex) { return needsInit[tabIndex]; } @@ -401,114 +433,29 @@ // init the specified component and record which ones where initialised public void init(int tabIndex) { - // a thread class for handling inits (GUI has to remain - // responsive while init process is executed) - class InitThread extends Thread { - private Component component; - public InitThread(Component component) { - this.component = component; - } - @Override - public void run() { - gui.disableTabbedPane(); - try { - component.init(); - } catch (ComponentInitException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - gui.enableTabbedPane(); - } - } - -// final SwingWorker worker = new SwingWorker() { - class InitWorker extends SwingWorker<Boolean,Boolean> { - private Component component; - public InitWorker(Component component) { - this.component = component; - } - - @Override - protected Boolean doInBackground() throws Exception { - gui.getStatusPanel().setStatus("Initialising reasoner ... "); -// gui.getStatusPanel().repaint(); - gui.disableTabbedPane(); - gui.setEnabled(false); - JFrame waitFrame = new JFrame(); - waitFrame.setUndecorated(true); - waitFrame.setSize(200, 200); - URL imgURL = Config.class.getResource("ajaxloader.gif"); - ImageIcon waitIcon = new ImageIcon(imgURL, "wait"); -// waitFrame.add(new JLabel("Wait!"), waitIcon, SwingConstants.RIGHT); -// waitFrame.add(new JLabel("Wait")); - waitFrame.add(new JLabel(waitIcon), BorderLayout.NORTH); - waitFrame.add(new JLabel("Initialising reasoner. Please wait."), BorderLayout.SOUTH); - waitFrame.setLocationRelativeTo(gui); - waitFrame.setVisible(true); - try { - component.init(); - } catch (ComponentInitException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - gui.enableTabbedPane(); - gui.setEnabled(true); - gui.getStatusPanel().extendMessage("done."); - waitFrame.dispose(); - // TODO Auto-generated method stub -// return null; - return true; - } - }; - - - try { +// try { if(tabIndex==0) { - gui.disableTabbedPane(); - gui.getStatusPanel().setStatus("Initialising knowledge source ... "); - source.init(); - gui.getStatusPanel().extendMessage("done."); - gui.enableTabbedPane(); + InitWorker worker = new InitWorker(source, gui); + worker.execute(); } else if(tabIndex==1) { -// gui.disableTabbedPane(); -// gui.getStatusPanel().setStatus("Initialising reasoner ... "); -// gui.repaint(); -// Thread initThread = new InitThread(reasoner); -// initThread.run(); -// SwingWorker worker; -// try { -// SwingUtilities.invokeAndWait(initThread); -// } catch (InterruptedException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } catch (InvocationTargetException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } - - InitWorker worker = new InitWorker(reasoner); + InitWorker worker = new InitWorker(reasoner, gui); worker.execute(); - -// reasoner.init(); -// gui.getStatusPanel().extendMessage("done."); -// gui.enableTabbedPane(); } else if(tabIndex==2) { - gui.disableTabbedPane(); - gui.getStatusPanel().setStatus("Initialising learning problem ... "); - lp.init(); - gui.getStatusPanel().extendMessage("done."); - gui.enableTabbedPane(); + InitWorker worker = new InitWorker(lp, gui); + worker.execute(); } else if(tabIndex == 3) { - gui.disableTabbedPane(); - gui.getStatusPanel().setStatus("Initialising learning algorithm ... "); - la.init(); - gui.getStatusPanel().extendMessage("done."); - gui.enableTabbedPane(); + InitWorker worker = new InitWorker(la, gui); + worker.execute(); +// gui.disableTabbedPane(); +// gui.getStatusPanel().setStatus("Initialising learning algorithm ... "); +// la.init(); +// gui.getStatusPanel().extendMessage("done."); +// gui.enableTabbedPane(); } - } catch (ComponentInitException e) { - // TODO display message in status bar - e.printStackTrace(); - } +// } catch (ComponentInitException e) { +// // TODO display message in status bar +// e.printStackTrace(); +// } needsInit[tabIndex] = false; System.out.println("component " + tabIndex + " initialised."); Added: trunk/src/dl-learner/org/dllearner/gui/InitWorker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/InitWorker.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/gui/InitWorker.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -0,0 +1,117 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.gui; + +import java.awt.Color; +import java.net.URL; +import java.util.LinkedList; +import java.util.List; + +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.SwingWorker; + +import org.dllearner.core.Component; +import org.dllearner.core.ComponentInitException; +import org.dllearner.core.ReasonerComponent; +import org.dllearner.kb.KBFile; +import org.dllearner.kb.OWLFile; + +/** + * Class, which is responsible for executing the init method of + * a component in a different thread and displaying a "please wait" + * message while the initialisation is in process. + * + * @author Jens Lehmann + * + */ +public class InitWorker extends SwingWorker<Boolean, Boolean> { + + private Component component; + private StartGUI gui; + private boolean timeIntensive = true; + + public InitWorker(Component component, StartGUI gui) { + this.component = component; + this.gui = gui; + + // create a list of components, which do need virtually + // no time to initialise (and where displaying a please + // wait message is an unnecessary overhead) + List<Class<? extends Component>> nonTimeIntensiveComponents = new LinkedList<Class<? extends Component>>(); + nonTimeIntensiveComponents.add(OWLFile.class); + nonTimeIntensiveComponents.add(KBFile.class); + + if(nonTimeIntensiveComponents.contains(component.getClass())) { + timeIntensive = false; + } + } + + @Override + protected Boolean doInBackground() throws Exception { + + JFrame waitFrame = null; + if(timeIntensive) { + // gui.getStatusPanel().setStatus("Initialising reasoner ... "); + gui.disableTabbedPane(); + gui.setEnabled(false); + waitFrame = new JFrame(); + waitFrame.setUndecorated(true); + waitFrame.setSize(160, 100); + waitFrame.getContentPane().setBackground(Color.WHITE); + URL imgURL = Config.class.getResource("ajaxloader.gif"); + // ImageIcon waitIcon = new ImageIcon(imgURL, "wait"); + // waitFrame.add(new JLabel("Wait!"), waitIcon, SwingConstants.RIGHT); + // waitFrame.add(new JLabel("Wait")); + // JLabel iconLabel = new JLabel(waitIcon); + // iconLabel.setOpaque(true); + // iconLabel.setBackground(Color.RED); + // iconLabel.setForeground(Color.RED); + // waitFrame.add(iconLabel, BorderLayout.NORTH); + waitFrame.add(new JLabel("<html><br /><p align=\"center\"><img src=\"" + imgURL + "\" /><br /> Initialising component.<br />Please wait.</p></html>")); + waitFrame.setLocationRelativeTo(gui); + waitFrame.setVisible(true); + } + + try { + component.init(); + } catch (ComponentInitException e) { + gui.getStatusPanel().setExceptionMessage(e.getMessage()); + e.printStackTrace(); + } + + if(timeIntensive) { + gui.enableTabbedPane(); + gui.setEnabled(true); + // gui.getStatusPanel().extendMessage("done."); + waitFrame.dispose(); + } + + // when the reasoner has been initialised, we need to update + // the option panel (such that the user can see the existing + // examples, classes etc.) + if(component instanceof ReasonerComponent) { + gui.tab2.updateOptionPanel(); + gui.tab3.updateOptionPanel(); + } + + return true; + } +} Modified: trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -21,7 +21,6 @@ import java.awt.BorderLayout; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.util.List; import javax.swing.JButton; @@ -40,7 +39,7 @@ * @author Jens Lehmann * @author Tilo Hielscher */ -public class KnowledgeSourcePanel extends JPanel implements ActionListener { +public class KnowledgeSourcePanel extends ComponentPanel<KnowledgeSource> { private static final long serialVersionUID = -7678275020058043937L; @@ -76,6 +75,7 @@ cb.addActionListener(this); choosePanel.add(cb); +// choosePanel.add(new JLabel(" ")); choosePanel.add(clearButton); choosenClassIndex = cb.getSelectedIndex(); @@ -97,12 +97,7 @@ choosenClassIndex = cb.getSelectedIndex(); // create a new knowledge source component config.changeKnowledgeSource(selectableSources.get(choosenClassIndex)); -// updateAll(); updateOptionPanel(); - - System.out.println("update"); -// config.setInitKnowledgeSource(false); -// init(); } if (e.getSource() == clearButton) { @@ -134,4 +129,13 @@ optionPanel.update(config.getKnowledgeSource()); } + /* (non-Javadoc) + * @see org.dllearner.gui.ComponentPanel#panelActivated() + */ + @Override + public void panelActivated() { + // TODO Auto-generated method stub + + } + } Modified: trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/LearningAlgorithmPanel.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -22,7 +22,6 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.util.List; import javax.swing.JButton; @@ -40,7 +39,7 @@ * * @author Tilo Hielscher */ -public class LearningAlgorithmPanel extends JPanel implements ActionListener { +public class LearningAlgorithmPanel extends ComponentPanel<LearningAlgorithm> { private static final long serialVersionUID = 8721490771860452959L; @@ -188,4 +187,13 @@ } else initButton.setForeground(Color.BLACK); } + + /* (non-Javadoc) + * @see org.dllearner.gui.ComponentPanel#panelActivated() + */ + @Override + public void panelActivated() { + // TODO Auto-generated method stub + + } } Modified: trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -1,5 +1,3 @@ -package org.dllearner.gui; - /** * Copyright (C) 2007-2008, Jens Lehmann * @@ -19,25 +17,24 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ +package org.dllearner.gui; import java.awt.BorderLayout; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.util.List; -import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JPanel; import org.dllearner.core.LearningProblem; /** - * LearningProblemPanel tab 2. Choose LearingProblem, change Options and final - * initiate LearningProblem. + * Learning problem panel. * + * @author Jens Lehmann * @author Tilo Hielscher */ -public class LearningProblemPanel extends JPanel implements ActionListener { +public class LearningProblemPanel extends ComponentPanel<LearningProblem> { private static final long serialVersionUID = -3819627680918930203L; @@ -49,7 +46,7 @@ private JPanel choosePanel = new JPanel(); private OptionPanel optionPanel; private JPanel initPanel = new JPanel(); - private JButton setButton; +// private JButton setButton; private int choosenClassIndex; LearningProblemPanel(final Config config, StartGUI startGUI) { @@ -59,10 +56,10 @@ // this.startGUI = startGUI; lpClasses = config.getComponentManager().getLearningProblems(); - setButton = new JButton("Set"); - setButton.addActionListener(this); +// setButton = new JButton("Set"); +// setButton.addActionListener(this); choosePanel.add(cb); - choosePanel.add(setButton); +// choosePanel.add(setButton); cb.addActionListener(this); // add into comboBox @@ -89,8 +86,8 @@ // read selected LearningProblemClass if (choosenClassIndex != cb.getSelectedIndex()) { this.choosenClassIndex = cb.getSelectedIndex(); -// config.setInitLearningProblem(false); -// init(); + config.changeLearningProblem(lpClasses.get(choosenClassIndex)); + updateOptionPanel(); } // if (e.getSource() == setButton) @@ -134,15 +131,17 @@ /** * updateAll */ + /* public void updateAll() { updateComboBox(); updateOptionPanel(); // updateInitButtonColor(); - } + }*/ /** * set ComboBox to selected class */ + /* public void updateComboBox() { if (config.getLearningProblem() != null) for (int i = 0; i < lpClasses.size(); i++) @@ -151,15 +150,24 @@ cb.setSelectedIndex(i); } this.choosenClassIndex = cb.getSelectedIndex(); - } + }*/ /** * update OptionPanel with new selection */ - private void updateOptionPanel() { + public void updateOptionPanel() { optionPanel.update(config.getLearningProblem()); } + /* (non-Javadoc) + * @see org.dllearner.gui.ComponentPanel#panelActivated() + */ + @Override + public void panelActivated() { + // TODO Auto-generated method stub + + } + /** * make init-button red if you have to click */ Modified: trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/ReasonerPanel.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -1,5 +1,3 @@ -package org.dllearner.gui; - /** * Copyright (C) 2007-2008, Jens Lehmann * @@ -19,11 +17,10 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ +package org.dllearner.gui; import java.awt.BorderLayout; -import java.awt.Color; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.util.List; import javax.swing.JButton; @@ -34,22 +31,22 @@ import org.dllearner.reasoning.OWLAPIReasoner; /** - * ReasonerPanel, tab 1. Choose Resoner, change Options and final initiate - * Reasoner and ReasoningService. + * Panel for configuring reasoner. * * @author Tilo Hielscher + * @author Jens Lehmann */ -public class ReasonerPanel extends JPanel implements ActionListener { +public class ReasonerPanel extends ComponentPanel<ReasonerComponent> { private static final long serialVersionUID = -7678275020058043937L; private Config config; // private StartGUI startGUI; - private List<Class<? extends ReasonerComponent>> reasoner; + private List<Class<? extends ReasonerComponent>> selectableReasoners; private JPanel choosePanel = new JPanel(); private JPanel initPanel = new JPanel(); private OptionPanel optionPanel; - private JButton initButton, setButton; + private JButton initButton; private String[] cbItems = {}; private JComboBox cb = new JComboBox(cbItems); private int choosenClassIndex; @@ -59,29 +56,29 @@ this.config = config; // this.startGUI = startGUI; - reasoner = config.getComponentManager().getReasonerComponents(); + selectableReasoners = config.getComponentManager().getReasonerComponents(); // to set a default reasoner, we move it to the beginning of the list - reasoner.remove(OWLAPIReasoner.class); - reasoner.add(0, OWLAPIReasoner.class); + selectableReasoners.remove(OWLAPIReasoner.class); + selectableReasoners.add(0, OWLAPIReasoner.class); initButton = new JButton("Init Reasoner"); initButton.addActionListener(this); // initPanel.add(initButton); initButton.setEnabled(true); - setButton = new JButton("Set"); - setButton.addActionListener(this); +// setButton = new JButton("Set"); +// setButton.addActionListener(this); choosePanel.add(cb); // add into comboBox - for (int i = 0; i < reasoner.size(); i++) { - cb.addItem(config.getComponentManager().getComponentName(reasoner.get(i))); + for (int i = 0; i < selectableReasoners.size(); i++) { + cb.addItem(config.getComponentManager().getComponentName(selectableReasoners.get(i))); } - ReasonerComponent rc = config.newReasoner(reasoner.get(cb.getSelectedIndex())); + ReasonerComponent rc = config.newReasoner(selectableReasoners.get(cb.getSelectedIndex())); optionPanel = new OptionPanel(config, rc); - choosePanel.add(setButton); +// choosePanel.add(setButton); cb.addActionListener(this); add(choosePanel, BorderLayout.PAGE_START); @@ -90,7 +87,7 @@ choosenClassIndex = cb.getSelectedIndex(); // setReasoner(); - updateInitButtonColor(); +// updateInitButtonColor(); } public void actionPerformed(ActionEvent e) { @@ -98,8 +95,9 @@ // choosenClassIndex = cb.getSelectedIndex(); if (choosenClassIndex != cb.getSelectedIndex()) { choosenClassIndex = cb.getSelectedIndex(); -// config.setInitReasoner(false); -// init(); + // create a new knowledge source component + config.changeReasoner(selectableReasoners.get(choosenClassIndex)); + updateOptionPanel(); } // if (e.getSource() == setButton) { @@ -151,24 +149,27 @@ /** * updateAll */ + /* public void updateAll() { updateComboBox(); updateOptionPanel(); updateInitButtonColor(); } + */ /** * set ComboBox to selected class */ + /* public void updateComboBox() { if (config.getReasoner() != null) - for (int i = 0; i < reasoner.size(); i++) + for (int i = 0; i < selectableReasoners.size(); i++) if (config.getReasoner().getClass().equals( config.getComponentManager().getReasonerComponents().get(i))) { cb.setSelectedIndex(i); } this.choosenClassIndex = cb.getSelectedIndex(); - } + }*/ /** * update OptionPanel with new selection @@ -177,13 +178,23 @@ optionPanel.update(config.getReasoner()); } + /* (non-Javadoc) + * @see org.dllearner.gui.ComponentPanel#panelActivated() + */ + @Override + public void panelActivated() { + // TODO Auto-generated method stub + + } + /** * make init-button red if you have to click */ + /* public void updateInitButtonColor() { if (!config.needsInitReasoner()) { initButton.setForeground(Color.RED); } else initButton.setForeground(Color.BLACK); - } + }*/ } Modified: trunk/src/dl-learner/org/dllearner/gui/StartGUI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/StartGUI.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/StartGUI.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -21,6 +21,8 @@ import java.awt.BorderLayout; import java.awt.Color; +import java.awt.Dimension; +import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; @@ -62,11 +64,11 @@ private ConfigLoad configLoad = new ConfigLoad(config, this); private ConfigSave configSave = new ConfigSave(config, this); - private KnowledgeSourcePanel tab0; - private ReasonerPanel tab1; - private LearningProblemPanel tab2; - private LearningAlgorithmPanel tab3; - private RunPanel tab4; + protected KnowledgeSourcePanel tab0; + protected ReasonerPanel tab1; + protected LearningProblemPanel tab2; + protected LearningAlgorithmPanel tab3; + protected RunPanel tab4; private JMenuBar menuBar = new JMenuBar(); private JMenu menuFile = new JMenu("File"); @@ -86,9 +88,20 @@ public StartGUI(File file) { this.setTitle("DL-Learner GUI"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - this.setLocationByPlatform(true); +// this.setLocationByPlatform(true); this.setSize(800, 600); + // center frame + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + Dimension size = getSize(); + screenSize.height = screenSize.height/2; + screenSize.width = screenSize.width/2; + size.height = size.height/2; + size.width = size.width/2; + int y = screenSize.height - size.height; + int x = screenSize.width - size.width; + setLocation(x, y); + // set icon if (this.getClass().getResource("icon.gif") != null) setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage( @@ -143,6 +156,14 @@ } updateTabs(); + + // send signals to panels + switch(index) { + case 0: tab0.panelActivated(); break; + case 1: tab1.panelActivated(); break; + case 2: tab2.panelActivated(); break; + case 3: tab3.panelActivated(); break; + } // new tab => ask user to fill in values statusPanel.setTabInitMessage(); Modified: trunk/src/dl-learner/org/dllearner/gui/StatusPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/StatusPanel.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/StatusPanel.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -40,6 +40,9 @@ private String oldMessage; + // specifies whether the message is an exception + private boolean isException = false; + public StatusPanel() { super(); add(statusLabel); @@ -53,11 +56,18 @@ } public void setStatus(String message) { - updateMessage(message); + if(!isException) { + updateMessage(message); + } } + public void setExceptionMessage(String message) { + updateMessage(message); + isException = true; + } + public void setTabInitMessage() { -// updateMessage(tabInitText); + updateMessage(tabInitText); } public void extendMessage(String addition) { Modified: trunk/src/dl-learner/org/dllearner/gui/widgets/WidgetPanelStringSet.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/widgets/WidgetPanelStringSet.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/gui/widgets/WidgetPanelStringSet.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -225,7 +225,7 @@ gridbag.setConstraints(clearButton, constraints); widgetPanel.add(clearButton, constraints); } else { - System.out.println("SPECIAL OPTION " + configOption.getName()); +// System.out.println("SPECIAL OPTION " + configOption.getName()); // SPECIAL LAYOUT // ComboBoxList @@ -245,6 +245,7 @@ System.out.println(ind.getName()); cBL.add(ind.getName()); } +// cBL.add("Test"); } // allowedConcepts or ignoredConcepts if (configOption.getName().equalsIgnoreCase("allowedConcepts") Modified: trunk/src/dl-learner/org/dllearner/test/ComponentTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/ComponentTest.java 2008-09-10 10:34:43 UTC (rev 1192) +++ trunk/src/dl-learner/org/dllearner/test/ComponentTest.java 2008-09-10 12:17:50 UTC (rev 1193) @@ -20,6 +20,7 @@ package org.dllearner.test; import java.io.File; +import java.net.MalformedURLException; import java.util.Set; import java.util.TreeSet; @@ -47,8 +48,9 @@ /** * @param args * @throws ComponentInitException + * @throws MalformedURLException */ - public static void main(String[] args) throws ComponentInitException { + public static void main(String[] args) throws ComponentInitException, MalformedURLException { // get singleton instance of component manager ComponentManager cm = ComponentManager.getInstance(); @@ -56,11 +58,12 @@ // create knowledge source KnowledgeSource source = cm.knowledgeSource(OWLFile.class); String example = "examples/family/uncle.owl"; - cm.applyConfigEntry(source, "url", new File(example).toURI().toString()); + cm.applyConfigEntry(source, "url", new File(example).toURI().toURL()); source.init(); - // create DIG reasoning service with standard settings + // create OWL API reasoning service with standard settings ReasonerComponent reasoner = cm.reasoner(OWLAPIReasoner.class, source); + // ReasoningService rs = cm.reasoningService(DIGReasonerNew.class, source); reasoner.init(); ReasoningService rs = cm.reasoningService(reasoner); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |