// Path: src/main/java/org/coode/matrix/model/impl/FillerModel.java
// public class FillerModel<R extends OWLPropertyRange, P extends OWLPropertyExpression> {
// 
//     private OWLClass cls;
//     private P p;
//     private FillerHelper helper;
// 
//     private Class<? extends OWLQuantifiedRestriction<R>> restrictionType;
// 
// 
//     public FillerModel(OWLClass cls, RestrictionTreeMatrixModel.PropertyRestrictionPair<R, P> pair, FillerHelper helper) {
//         this.cls = cls;
//         this.p = pair.getColumnObject();
//         this.helper = helper;
//         this.restrictionType = pair.getFilterObject();
//     }
// 
// 
//     public Set<R> getAssertedFillersFromSupers(){
//         return helper.getAssertedFillers(cls, p, restrictionType);
//     }
// 
//     public Set<R> getInheritedFillers(){
//         return helper.getInheritedNamedFillers(cls, p, restrictionType);
//     }
// 
//     public Set<R> getAssertedFillersFromEquiv(){
//         return helper.getAssertedNamedFillersFromEquivs(cls, p, restrictionType);
//     }
// 
// 
//     @Override
//     public String toString() {
//         StringBuilder sb = new StringBuilder();
//         for(R descr : getAssertedFillersFromSupers()){
//             if (sb.length() != 0){
//                 sb.append(", ");
//             }
//             sb.append(descr.toString());
//         }
//         return sb.toString();
//     }
// }


import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.util.Collection;
import java.util.Set;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import org.coode.matrix.model.impl.FillerModel;
import org.protege.editor.owl.ui.renderer.OWLRendererPreferences;
import org.semanticweb.owlapi.model.OWLObject;
package org.coode.matrix.ui.renderer;




/*
* Copyright (C) 2007, University of Manchester
*
* Modifications to the initial code base are copyright of their
* respective authors, or their employers as appropriate.  Authorship
* of the modifications may be determined from the ChangeLog placed at
* the end of this file.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.

* This library 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
* Lesser General Public License for more details.

* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

/**
 * Author: Nick Drummond<br>
 * http://www.cs.man.ac.uk/~drummond/<br><br>
 * <p/>
 * The University Of Manchester<br>
 * Bio Health Informatics Group<br>
 * Date: Jul 3, 2007<br><br>
 */
public class OWLObjectListRenderer implements TableCellRenderer {

    private static final Color NOT_EDITABLE_COLOUR = new Color(50, 50, 50);
    private static final Color EDITABLE_COLOUR = new Color(0, 0, 0);


    private OWLObjectsRenderer ren;

    private JPanel p;

    private Component delegate;

    private DefaultTableCellRenderer defaultCellRenderer = new DefaultTableCellRenderer();


    public OWLObjectListRenderer(OWLObjectsRenderer ren) {
        this.ren = ren;
        p = new JPanel(){
            private static final long serialVersionUID = 1L;

            // for some reason the BoxLayout reports a prefSize of 0, 0 so do this by hand
            @Override
            public Dimension getPreferredSize() {
                int prefWidth = 0;
                int prefHeight = 0;
                for (Component c : getComponents()){
                    final Dimension pref = c.getPreferredSize();
                    prefWidth += pref.width;
                    prefHeight = Math.max(prefHeight, pref.height);
                }
                
                return new Dimension(prefWidth, prefHeight);
            }
        };
        p.setLayout(new BoxLayout(p, BoxLayout.LINE_AXIS));
    }

    public Component getTableCellRendererComponent(JTable jTable, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
        if (value instanceof FillerModel){
            p.removeAll();
            if (isSelected){
// Path: src/main/java/org/coode/matrix/model/impl/FillerModel.java
// public class FillerModel<R extends OWLPropertyRange, P extends OWLPropertyExpression> {
// 
//     private OWLClass cls;
//     private P p;
//     private FillerHelper helper;
// 
//     private Class<? extends OWLQuantifiedRestriction<R>> restrictionType;
// 
// 
//     public FillerModel(OWLClass cls, RestrictionTreeMatrixModel.PropertyRestrictionPair<R, P> pair, FillerHelper helper) {
//         this.cls = cls;
//         this.p = pair.getColumnObject();
//         this.helper = helper;
//         this.restrictionType = pair.getFilterObject();
//     }
// 
// 
//     public Set<R> getAssertedFillersFromSupers(){
//         return helper.getAssertedFillers(cls, p, restrictionType);
//     }
// 
//     public Set<R> getInheritedFillers(){
//         return helper.getInheritedNamedFillers(cls, p, restrictionType);
//     }
// 
//     public Set<R> getAssertedFillersFromEquiv(){
//         return helper.getAssertedNamedFillersFromEquivs(cls, p, restrictionType);
//     }
// 
// 
//     @Override
//     public String toString() {
//         StringBuilder sb = new StringBuilder();
//         for(R descr : getAssertedFillersFromSupers()){
//             if (sb.length() != 0){
//                 sb.append(", ");
//             }
//             sb.append(descr.toString());
//         }
//         return sb.toString();
//     }
// }


// Path: src/main/java/org/coode/matrix/ui/renderer/OWLObjectListRenderer.java
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.util.Collection;
import java.util.Set;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import org.coode.matrix.model.impl.FillerModel;
import org.protege.editor.owl.ui.renderer.OWLRendererPreferences;
import org.semanticweb.owlapi.model.OWLObject;

package org.coode.matrix.ui.renderer;




/*
* Copyright (C) 2007, University of Manchester
*
* Modifications to the initial code base are copyright of their
* respective authors, or their employers as appropriate.  Authorship
* of the modifications may be determined from the ChangeLog placed at
* the end of this file.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.

* This library 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
* Lesser General Public License for more details.

* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

/**
 * Author: Nick Drummond<br>
 * http://www.cs.man.ac.uk/~drummond/<br><br>
 * <p/>
 * The University Of Manchester<br>
 * Bio Health Informatics Group<br>
 * Date: Jul 3, 2007<br><br>
 */
public class OWLObjectListRenderer implements TableCellRenderer {

    private static final Color NOT_EDITABLE_COLOUR = new Color(50, 50, 50);
    private static final Color EDITABLE_COLOUR = new Color(0, 0, 0);


    private OWLObjectsRenderer ren;

    private JPanel p;

    private Component delegate;

    private DefaultTableCellRenderer defaultCellRenderer = new DefaultTableCellRenderer();


    public OWLObjectListRenderer(OWLObjectsRenderer ren) {
        this.ren = ren;
        p = new JPanel(){
            private static final long serialVersionUID = 1L;

            // for some reason the BoxLayout reports a prefSize of 0, 0 so do this by hand
            @Override
            public Dimension getPreferredSize() {
                int prefWidth = 0;
                int prefHeight = 0;
                for (Component c : getComponents()){
                    final Dimension pref = c.getPreferredSize();
                    prefWidth += pref.width;
                    prefHeight = Math.max(prefHeight, pref.height);
                }
                
                return new Dimension(prefWidth, prefHeight);
            }
        };
        p.setLayout(new BoxLayout(p, BoxLayout.LINE_AXIS));
    }

    public Component getTableCellRendererComponent(JTable jTable, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
        if (value instanceof FillerModel){
            p.removeAll();
            if (isSelected){
                p.setBackground(jTable.getSelectionBackground());