From: <hee...@us...> - 2008-06-14 15:49:30
|
Revision: 961 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=961&view=rev Author: heeroyuy Date: 2008-06-14 08:49:20 -0700 (Sat, 14 Jun 2008) Log Message: ----------- - create own class for check box panel Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-06-14 15:49:20 UTC (rev 961) @@ -37,7 +37,6 @@ /** * */ - private SuggestClassPanel sugPanel; private OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view; /** * @@ -46,10 +45,9 @@ * @param view * @param i */ - public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i,SuggestClassPanel sugPanel) + public ActionHandler(ActionHandler a,DLLearnerModel m,OWLClassDescriptionEditorWithDLLearnerTab.DLLearnerView view ,String i) { this.view = view; - this.sugPanel = sugPanel; this.id=i; this.model = m; toggled = false; @@ -67,16 +65,22 @@ { model.unsetListModel(); } - if(view.getOptionPanel().getComponentCount()<=2) + if(view.getPosAndNegSelectPanel().getPosAndNegSelectPanel().getComponentCount()<=0) { view.renderErrorMessage("Could not start learning. No Examples where available"); } else{ - view.renderErrorMessage("Learning started"); + model.setKnowledgeSource(); + model.setReasoner(); + model.setPositiveAndNegativeExamples(); + model.setLearningProblem(); + model.setLearningAlgorithm(); this.dlLearner = new Thread(model); + dlLearner.start(); view.getRunButton().setEnabled(false); view.getCancelButton().setEnabled(true); - dlLearner.start(); + view.renderErrorMessage("Learning started"); + view.getPosAndNegSelectPanel().unsetCheckBoxes(); } } @@ -93,7 +97,7 @@ if(z.getActionCommand().equals("ADD")) { - model.changeDLLearnerDescriptionsToOWLDescriptions((Description)sugPanel.getSuggestList().getSelectedValue()); + model.changeDLLearnerDescriptionsToOWLDescriptions((Description)view.getSuggestClassPanel().getSuggestList().getSelectedValue()); String message ="Concept added"; view.renderErrorMessage(message); } @@ -103,13 +107,13 @@ if(z.getSource().toString().contains("PosHelpButton")) { String hilfe="A Instance that follows from the classdescription.\nPer Default all that belongs to the class."; - view.renderHelpMessage(hilfe); + view.getPosAndNegSelectPanel().renderHelpMessage(hilfe); } if(z.getSource().toString().contains("NegHelpButton")) { String hilfe="A Instance tht doesn't follow from the classdescription."; - view.renderHelpMessage(hilfe); + view.getPosAndNegSelectPanel().renderHelpMessage(hilfe); } @@ -142,7 +146,44 @@ */ public void itemStateChanged(ItemEvent i) { - //System.out.println(i.getItem()); + if(i.getItem().toString().contains("Positive")) + { + for(int j = 0;j < model.getPosVector().size(); j++) + { + if(i.getItem().toString().contains(model.getPosVector().get(j).getText().toString())) + { + if(!model.getPosVector().get(j).isSelected()) + { + model.getPosVector().get(j).setSelected(true); + break; + } + if(model.getPosVector().get(j).isSelected()) + { + model.getPosVector().get(j).setSelected(false); + break; + } + } + } + } + if(i.getItem().toString().contains("Negative")) + { + for(int j = 0;j < model.getNegVector().size(); j++) + { + if(i.getItem().toString().contains(model.getNegVector().get(j).getText().toString())) + { + if(!model.getNegVector().get(j).isSelected()) + { + model.getNegVector().get(j).setSelected(true); + break; + } + if(model.getNegVector().get(j).isSelected()) + { + model.getNegVector().get(j).setSelected(false); + break; + } + } + } + } } /** * @@ -186,10 +227,10 @@ * * @param t */ - public void textValueChanged(TextEvent t) + /*public void textValueChanged(TextEvent t) { - } + }*/ /** * */ Modified: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-06-14 15:49:20 UTC (rev 961) @@ -244,11 +244,13 @@ { if(positiv.get(i).isSelected()) { + System.out.println("blub"); positiveExamples.add(positiv.get(i).getText()); } if(negativ.get(i).isSelected()) { + System.out.println("bla"); negativeExamples.add(negativ.get(i).getText()); } } @@ -355,17 +357,15 @@ public void run() { error = "Learning succesful"; - setKnowledgeSource(); - setReasoner(); - setPositiveAndNegativeExamples(); - setLearningProblem(); - setLearningAlgorithm(); // start the algorithm and print the best concept found la.start(); description = new Description[la.getBestSolutions(anzahl).size()]; addToListModel(); view.renderErrorMessage(error); - view.draw(); + view.getRunButton().setEnabled(true); + //view.getPosAndNegSelectPanel().unsetCheckBoxes(); + view.getCancelButton().setEnabled(false); + view.getSuggestClassPanel().setSuggestList(suggestModel); } /** @@ -408,7 +408,7 @@ * This method gets an uri for an ontology and loads it. * @param uri Uri for the Ontology */ - public void loadOntology(URI uri) + /*public void loadOntology(URI uri) { OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); try{ @@ -418,7 +418,7 @@ { System.out.println("Can't create Ontology: "+ e); } - } + }*/ /** * This method sets the check boxes for the positive check boxes checked @@ -432,14 +432,20 @@ String ind = j.next().toString(); if(setPositivExamplesChecked(ind)) { - positiv.add(new JCheckBox(ind.toString(),true)); + JCheckBox box = new JCheckBox(ind.toString(),true); + box.setName("Positive"); + positiv.add(box); } else { - positiv.add(new JCheckBox(ind.toString(),false)); + JCheckBox box = new JCheckBox(ind.toString(),false); + box.setName("Positive"); + positiv.add(box); } - negativ.add(new JCheckBox(ind.toString())); + JCheckBox box = new JCheckBox(ind.toString(),false); + box.setName("Negative"); + negativ.add(box); } } @@ -518,7 +524,7 @@ * This method returns the physical uri of the ontology which is currently loaded in protege. * @return pysical uri of the loaded ontology */ - public String getUri() + /*public String getUri() { char[] test = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()).toString().toCharArray(); String uri=""; @@ -527,7 +533,7 @@ uri=uri+test[i]; } return uri; - } + }*/ /** * This method gets an array of concepts from the DL-Learner and stores it Modified: trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/OWLClassDescriptionEditorWithDLLearnerTab.java 2008-06-14 15:49:20 UTC (rev 961) @@ -262,7 +262,7 @@ /** * */ - private JLabel pos; + // private JLabel pos; /** * */ @@ -290,20 +290,20 @@ /** * */ - private JPanel option; + //private JPanel option; /** * */ - private JLabel neg; + // private JLabel neg; /** * */ - private JDialog hilfe; + //private JDialog hilfe; /** * */ - private JTextArea help; + //private JTextArea help; /** * */ @@ -311,15 +311,14 @@ /** * */ - private JScrollPane scrollPane; + //private JScrollPane scrollPane; /** * */ private final Color Color_RED = Color.red; /** * - */ - private final Color COLOR_BLACK = Color.black; + */; /** * */ @@ -327,19 +326,19 @@ /** * */ - private JPanel posLabelPanel; + // private JPanel posLabelPanel; /** * */ - private JPanel negLabelPanel; + //private JPanel negLabelPanel; /** * */ - private JButton helpForPosExamples; + //private JButton helpForPosExamples; /** * */ - private JButton helpForNegExamples; + //private JButton helpForNegExamples; /** * */ @@ -359,12 +358,14 @@ /** * */ - private DefaultListModel descriptions; + //private DefaultListModel descriptions; /** * * @return */ private SuggestClassPanel sugPanel; + private PosAndNegSelectPanel posPanel; + private ImageIcon icon; public DLLearnerViewPanel getDLLearnerViewPanel() { return panel; @@ -376,59 +377,54 @@ */ public DLLearnerView(OWLFrame<OWLClass> aktuell,String label){ editor = editorKit; + icon = new ImageIcon("pfeil.gif"); + icon.getImage(); model = new DLLearnerModel(editorKit,aktuell, label,this); - model.loadOntology(getUri()); - posLabelPanel = new JPanel(); - negLabelPanel = new JPanel(); + //model.loadOntology(getUri()); panel = new DLLearnerViewPanel(editor); sugPanel = new SuggestClassPanel(); - action = new ActionHandler(this.action, model,this,label,sugPanel); - helpForPosExamples = new JButton("?"); - helpForPosExamples.setSize(10, 10); + action = new ActionHandler(this.action, model,this,label); adv = new JLabel("Advanced"); - helpForNegExamples = new JButton("?"); - helpForNegExamples.setSize(10, 10); - advanced = new JToggleButton(); + advanced = new JToggleButton(icon); run = new JButton("Suggest "+label); cancel = new JButton("Cancel"); accept = new JButton("ADD"); sugPanel.addSuggestPanelMouseListener(action); - option = new JPanel(new GridLayout(0,2)); - scrollPane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); errorMessage = new JLabel(); learner = new JPanel(); advanced.setSize(20,20); learner.setLayout(null); learner.setPreferredSize(new Dimension(600, 520)); - pos = new JLabel("Positive Examples"); - neg = new JLabel("Negative Examples"); accept.setPreferredSize(new Dimension(290,50)); - posLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); - negLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); - posLabelPanel.add(pos); advanced.setName("Advanced"); - helpForPosExamples.setName("PosHelpButton"); - posLabelPanel.add(helpForPosExamples); - negLabelPanel.add(neg); - helpForNegExamples.setName("NegHelpButton"); - negLabelPanel.add(helpForNegExamples); + posPanel = new PosAndNegSelectPanel(model,action); addAcceptButtonListener(this.action); addRunButtonListener(this.action); addCancelButtonListener(this.action); - addHelpButtonListener(this.action); addAdvancedButtonListener(this.action); + } + + public SuggestClassPanel getSuggestClassPanel() + { + return sugPanel; + } + + public PosAndNegSelectPanel getPosAndNegSelectPanel() + { + return posPanel; + } /** * */ public void makeView() { - model.clearVector(); + model.clearVector(); model.unsetListModel(); model.initReasoner(); model.setPosVector(); - setJCheckBoxen(); + posPanel.setJCheckBoxen(); cancel.setEnabled(false); accept.setEnabled(false); action.resetToggled(); @@ -440,8 +436,8 @@ run.setBounds(10,0,200,30); advanced.setBounds(10,200,20,20); sugPanel.setVisible(true); - scrollPane.setViewportView(option); - scrollPane.setBounds(10, 230, 490, 250); + posPanel.setVisible(false); + posPanel.setBounds(10, 230, 490, 250); cancel.setBounds(260,0,200,30); accept.setBounds(510,40,80,110); errorMessage.setBounds(10,160,590,20); @@ -452,11 +448,15 @@ learner.add(sugPanel); learner.add(accept); learner.add(errorMessage); - learner.add(scrollPane); - scrollPane.setVisible(false); + learner.add(posPanel); + posPanel.addHelpButtonListener(action); add(learner); - addListener(); } + + public void setArrowForToggleButton() + { + + } /** * * @return @@ -471,7 +471,7 @@ */ public void setExamplePanelVisible(boolean visible) { - scrollPane.setVisible(visible); + posPanel.setVisible(visible); } /** * @@ -479,7 +479,7 @@ */ public JPanel getOptionPanel() { - return option; + return null; } /** * @@ -489,37 +489,16 @@ { return accept; } + /** * - * @param helfen - */ - public void renderHelpMessage(String helfen) - { - JScrollPane scrollHelp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - - help = new JTextArea(); - hilfe = new JDialog(); - help.setEditable(false); - hilfe.setName("Hilfe"); - hilfe.setSize(300,100); - hilfe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - hilfe.setVisible(true); - hilfe.setResizable(false); - help.setForeground(COLOR_BLACK); - help.setText("Help: "+helfen); - scrollHelp.setViewportView(help); - scrollHelp.setBounds(0, 0, 300, 100); - hilfe.add(scrollHelp); - } - /** - * * @return */ - public URI getUri() + /*public URI getUri() { URI uri = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()); return uri; - } + }*/ /** * * @return @@ -541,26 +520,18 @@ * */ private void setJCheckBoxen() - { - option.add(posLabelPanel); - option.add(negLabelPanel); - for(int j=0; j<model.getPosVector().size();j++) - { - option.add(model.getPositivJCheckBox(j)); - option.add(model.getNegativJCheckBox(j)); - } - + { } /** * */ public void unsetEverything() { - option.removeAll(); run.setEnabled(true); model.unsetNewConcepts(); action.destroyDLLearnerThread(); errorMessage.setText(""); + posPanel.unsetPosAndNegPanel(); learner.removeAll(); } /** @@ -572,41 +543,14 @@ errorMessage.setForeground(Color_RED); errorMessage.setText(s); } + /** * */ - private void addListener() + public void setDescriptionList(DefaultListModel model) { - for(int i=0;i<model.getPosVector().size();i++) - { - model.getPositivJCheckBox(i).addItemListener(action); - model.getNegativJCheckBox(i).addItemListener(action); - } - + //this.descriptions = model; } - /** - * - * @param m - * @param c - */ - public void update(Observable m,Object c) - { - if( model != m) return; - //draw(); - } - /** - * - */ - protected void draw() - { - run.setEnabled(true); - cancel.setEnabled(false); - descriptions = model.getSuggestList(); - sugPanel.setSuggestList(descriptions); - model.unsetJCheckBoxen(); - option.removeAll(); - setJCheckBoxen(); - } /** * @@ -668,8 +612,8 @@ */ public void addHelpButtonListener(ActionListener a) { - helpForPosExamples.addActionListener(a); - helpForNegExamples.addActionListener(a); + //helpForPosExamples.addActionListener(a); + //helpForNegExamples.addActionListener(a); } /** * Added: trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/PosAndNegSelectPanel.java 2008-06-14 15:49:20 UTC (rev 961) @@ -0,0 +1,129 @@ +package org.dllearner.tools.protege; + +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.WindowConstants; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.GridLayout; + + +public class PosAndNegSelectPanel extends JPanel{ + + private static final long serialVersionUID = 23632947283479L; + private JPanel posAndNegPanel; + private JPanel posAndNegSelectPanel; + private DLLearnerModel model; + private JScrollPane scrollPanel; + private JLabel pos; + private JLabel neg; + private JPanel posLabelPanel; + private JPanel negLabelPanel; + private JButton helpForPosExamples; + private JButton helpForNegExamples; + private JTextArea help; + private JDialog hilfe; + private final Color COLOR_BLACK = Color.black; + + public PosAndNegSelectPanel(DLLearnerModel model,ActionHandler action) + { + super(); + pos = new JLabel("Positive Examples"); + neg = new JLabel("Negative Examples"); + helpForPosExamples = new JButton("?"); + helpForPosExamples.setSize(10, 10); + helpForNegExamples = new JButton("?"); + helpForNegExamples.setSize(10, 10); + posLabelPanel = new JPanel(); + negLabelPanel = new JPanel(); + posLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); + negLabelPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); + helpForPosExamples.setName("PosHelpButton"); + posLabelPanel.add(pos); + posLabelPanel.add(helpForPosExamples); + helpForNegExamples.setName("NegHelpButton"); + negLabelPanel.add(neg); + negLabelPanel.add(helpForNegExamples); + this.model = model; + posAndNegSelectPanel = new JPanel(new GridLayout(0,2)); + + model.clearVector(); + model.unsetListModel(); + model.initReasoner(); + model.setPosVector(); + //setJCheckBoxen(); + posAndNegPanel = new JPanel(new GridLayout(0,1)); + posAndNegPanel.add(posAndNegSelectPanel); + scrollPanel = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scrollPanel.setViewportView(posAndNegPanel); + scrollPanel.setPreferredSize(new Dimension(490,248)); + add(scrollPanel); + addListeners(action); + } + + public void setJCheckBoxen() + { + posAndNegSelectPanel.add(posLabelPanel); + posAndNegSelectPanel.add(negLabelPanel); + for(int j=0; j<model.getPosVector().size();j++) + { + posAndNegSelectPanel.add(model.getPositivJCheckBox(j)); + posAndNegSelectPanel.add(model.getNegativJCheckBox(j)); + } + + } + public void unsetPosAndNegPanel() + { + posAndNegSelectPanel.removeAll(); + } + public void addListeners(ActionHandler action) + { + for(int i=0;i<model.getPosVector().size();i++) + { + model.getPositivJCheckBox(i).addItemListener(action); + model.getNegativJCheckBox(i).addItemListener(action); + } + + } + public JPanel getPosAndNegSelectPanel() + { + return posAndNegSelectPanel; + } + + public void unsetCheckBoxes() + { + model.unsetJCheckBoxen(); + } + + public void renderHelpMessage(String helfen) + { + JScrollPane scrollHelp = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + + help = new JTextArea(); + hilfe = new JDialog(); + help.setEditable(false); + hilfe.setName("Hilfe"); + hilfe.setSize(300,100); + hilfe.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + hilfe.setVisible(true); + hilfe.setResizable(false); + help.setForeground(COLOR_BLACK); + help.setText("Help: "+helfen); + scrollHelp.setViewportView(help); + scrollHelp.setBounds(0, 0, 300, 100); + hilfe.add(scrollHelp); + } + + public void addHelpButtonListener(ActionHandler a) + { + helpForPosExamples.addActionListener(a); + helpForNegExamples.addActionListener(a); + } + +} Modified: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-14 11:20:56 UTC (rev 960) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassPanel.java 2008-06-14 15:49:20 UTC (rev 961) @@ -3,9 +3,7 @@ import java.awt.Dimension; import javax.swing.*; -import javax.swing.event.ListSelectionListener; -import org.dllearner.core.owl.Description; public class SuggestClassPanel extends JPanel { @@ -26,7 +24,7 @@ suggestPanel = new JPanel(); descriptions.setVisible(true); suggestPanel.add(descriptions); - suggestScroll.setPreferredSize(new Dimension(490,110)); + suggestScroll.setPreferredSize(new Dimension(490,108)); suggestScroll.setViewportView(descriptions); add(suggestScroll); } @@ -34,12 +32,6 @@ public SuggestClassPanel updateSuggestClassList() { - //JPanel suggestPanel1 = new JPanel(); - - //suggestScroll.setViewportView(suggestPanel1); - //descriptions = new JList(desc); - //descriptions.setVisible(true); - //suggestScroll.add(descriptions); add(suggestScroll); return this; Added: trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif =================================================================== (Binary files differ) Property changes on: trunk/src/dl-learner/org/dllearner/tools/protege/pfeil.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |