mev-4.0.01/source/org/tigr/microarray/mev/cgh/CGHDataModel/CGHTableDataModel.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * CGHTableDataModel.java
2 26 Feb 07 jari 3  *
2 26 Feb 07 jari 4  * Created on December 28, 2002, 11:14 PM
2 26 Feb 07 jari 5  */
2 26 Feb 07 jari 6
2 26 Feb 07 jari 7 package org.tigr.microarray.mev.cgh.CGHDataModel;
2 26 Feb 07 jari 8
2 26 Feb 07 jari 9 import javax.swing.event.ChangeListener;
2 26 Feb 07 jari 10 import javax.swing.table.AbstractTableModel;
2 26 Feb 07 jari 11
2 26 Feb 07 jari 12 import org.tigr.microarray.mev.cluster.gui.IData;
2 26 Feb 07 jari 13 import org.tigr.microarray.mev.cluster.gui.IFramework;
2 26 Feb 07 jari 14 /*
2 26 Feb 07 jari 15 import java.util.Vector;
2 26 Feb 07 jari 16 import java.util.Iterator;
2 26 Feb 07 jari 17 import java.awt.Color;
2 26 Feb 07 jari 18 import org.tigr.microarray.mev.cgh.CGHDataObj.*;
2 26 Feb 07 jari 19 import java.util.Hashtable;
2 26 Feb 07 jari 20 import cern.jet.math.Arithmetic;
2 26 Feb 07 jari 21 import cern.jet.stat.Probability;
2 26 Feb 07 jari 22 */
2 26 Feb 07 jari 23 /**
2 26 Feb 07 jari 24  *
2 26 Feb 07 jari 25  * @author  Adam Margolin
2 26 Feb 07 jari 26  * @author Raktim Sinha
2 26 Feb 07 jari 27  */
2 26 Feb 07 jari 28
2 26 Feb 07 jari 29 public abstract class CGHTableDataModel extends AbstractTableModel implements ChangeListener{
2 26 Feb 07 jari 30
2 26 Feb 07 jari 31     //CGHMultipleArrayDataFcd fcd;
2 26 Feb 07 jari 32     IData data;
2 26 Feb 07 jari 33     //IFramework framework;
2 26 Feb 07 jari 34
2 26 Feb 07 jari 35     CGHBrowserModelAdaptor adaptor;
2 26 Feb 07 jari 36
2 26 Feb 07 jari 37     public CGHTableDataModel(/*CGHMultipleArrayDataFcd fcd,*/ IFramework framework){
2 26 Feb 07 jari 38         this(/*fcd,*/ framework, 0, 0);
2 26 Feb 07 jari 39     }
2 26 Feb 07 jari 40
2 26 Feb 07 jari 41     public CGHTableDataModel(/*CGHMultipleArrayDataFcd fcd,*/ IFramework framework, int experimentIndex, int chromosomeIndex){
2 26 Feb 07 jari 42         //this.fcd = fcd;
2 26 Feb 07 jari 43         this.data = framework.getData();
2 26 Feb 07 jari 44     }
2 26 Feb 07 jari 45
2 26 Feb 07 jari 46     public abstract int getColumnCount();
2 26 Feb 07 jari 47
2 26 Feb 07 jari 48
2 26 Feb 07 jari 49     /**
2 26 Feb 07 jari 50      *  @return the number of columns before the data values
2 26 Feb 07 jari 51      */
2 26 Feb 07 jari 52     public int getNumAnnotationCols(){
2 26 Feb 07 jari 53         return 4;
2 26 Feb 07 jari 54     }
2 26 Feb 07 jari 55
2 26 Feb 07 jari 56     public int getRowCount() {
2 26 Feb 07 jari 57         return getSeriesSize();
2 26 Feb 07 jari 58     }
2 26 Feb 07 jari 59
2 26 Feb 07 jari 60     public Object getValueAt(int row, int col) {
2 26 Feb 07 jari 61
2 26 Feb 07 jari 62         try{
2 26 Feb 07 jari 63             switch(col){
2 26 Feb 07 jari 64                 case 0:
2 26 Feb 07 jari 65                     return data.getCloneAt(adaptor.getCloneIndex(row)).getName();
2 26 Feb 07 jari 66                 case 1:
2 26 Feb 07 jari 67                     return new Integer(data.getCloneAt(adaptor.getCloneIndex(row)).getChromosome());
2 26 Feb 07 jari 68                 case 2:
2 26 Feb 07 jari 69                     return new Integer(data.getCloneAt(adaptor.getCloneIndex(row)).getStart());
2 26 Feb 07 jari 70                 case 3:
2 26 Feb 07 jari 71                     return new Integer(data.getCloneAt(adaptor.getCloneIndex(row)).getStop());
2 26 Feb 07 jari 72             }
2 26 Feb 07 jari 73
2 26 Feb 07 jari 74             return getDataValueAt(row, col);
2 26 Feb 07 jari 75
2 26 Feb 07 jari 76         }catch(NullPointerException e){
2 26 Feb 07 jari 77             return "";
2 26 Feb 07 jari 78         }
2 26 Feb 07 jari 79     }
2 26 Feb 07 jari 80
2 26 Feb 07 jari 81     public abstract Object getDataValueAt(int row, int col);
2 26 Feb 07 jari 82
2 26 Feb 07 jari 83
2 26 Feb 07 jari 84
2 26 Feb 07 jari 85
2 26 Feb 07 jari 86     public Class getColumnClass(int c) {
2 26 Feb 07 jari 87         return getValueAt(0, c).getClass();
2 26 Feb 07 jari 88     }
2 26 Feb 07 jari 89
2 26 Feb 07 jari 90     public abstract String getColumnDataName(int labelIndex);
2 26 Feb 07 jari 91
2 26 Feb 07 jari 92
2 26 Feb 07 jari 93
2 26 Feb 07 jari 94     public String getColumnName(int col){
2 26 Feb 07 jari 95         switch(col){
2 26 Feb 07 jari 96             case 0:
2 26 Feb 07 jari 97                 return "Clone Name";
2 26 Feb 07 jari 98             case 1:
2 26 Feb 07 jari 99                 return "Chromosome";
2 26 Feb 07 jari 100             case 2:
2 26 Feb 07 jari 101                 return "Start";
2 26 Feb 07 jari 102             case 3:
2 26 Feb 07 jari 103                 return "Stop";
2 26 Feb 07 jari 104
2 26 Feb 07 jari 105         }
2 26 Feb 07 jari 106         return getColumnDataName(col - getNumAnnotationCols());
2 26 Feb 07 jari 107     }
2 26 Feb 07 jari 108
2 26 Feb 07 jari 109     public void addListDataListener(javax.swing.event.ListDataListener listDataListener) {
2 26 Feb 07 jari 110     }
2 26 Feb 07 jari 111
2 26 Feb 07 jari 112     public void removeListDataListener(javax.swing.event.ListDataListener listDataListener) {
2 26 Feb 07 jari 113     }
2 26 Feb 07 jari 114
2 26 Feb 07 jari 115     private int getSeriesSize(){
2 26 Feb 07 jari 116         return adaptor.getSeriesSize();
2 26 Feb 07 jari 117     }
2 26 Feb 07 jari 118
2 26 Feb 07 jari 119     public void stateChanged(javax.swing.event.ChangeEvent changeEvent) {
2 26 Feb 07 jari 120         fireTableStructureChanged();
2 26 Feb 07 jari 121     }
2 26 Feb 07 jari 122
2 26 Feb 07 jari 123     public void setExperimentIndex(int experimentIndex){
2 26 Feb 07 jari 124         adaptor.setExperimentIndex(experimentIndex);
2 26 Feb 07 jari 125     }
2 26 Feb 07 jari 126
2 26 Feb 07 jari 127     public void setChromosomeIndex(int chromosomeIndex){
2 26 Feb 07 jari 128         adaptor.setChromosomeIndex(chromosomeIndex);
2 26 Feb 07 jari 129     }
2 26 Feb 07 jari 130
2 26 Feb 07 jari 131     public void setCloneValueType(int cloneValueType){
2 26 Feb 07 jari 132         adaptor.setCloneValueType(cloneValueType);
2 26 Feb 07 jari 133     }
2 26 Feb 07 jari 134
2 26 Feb 07 jari 135     /** Getter for property adaptor.
2 26 Feb 07 jari 136      * @return Value of property adaptor.
2 26 Feb 07 jari 137      */
2 26 Feb 07 jari 138     public CGHBrowserModelAdaptor getAdaptor() {
2 26 Feb 07 jari 139         return adaptor;
2 26 Feb 07 jari 140     }
2 26 Feb 07 jari 141
2 26 Feb 07 jari 142     /** Setter for property adaptor.
2 26 Feb 07 jari 143      * @param adaptor New value of property adaptor.
2 26 Feb 07 jari 144      */
2 26 Feb 07 jari 145     public void setAdaptor(CGHBrowserModelAdaptor adaptor) {
2 26 Feb 07 jari 146         this.adaptor = adaptor;
2 26 Feb 07 jari 147     }
2 26 Feb 07 jari 148
2 26 Feb 07 jari 149 }