mev-4.0.01/source/org/tigr/microarray/mev/cgh/CGHGuiObj/CGHCircleViewer/CGHCircleViewerPanel.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * CGHCircleViewerPanel.java
2 26 Feb 07 jari 3  *
2 26 Feb 07 jari 4  * Created on October 10, 2002, 4:36 AM
2 26 Feb 07 jari 5  */
2 26 Feb 07 jari 6
2 26 Feb 07 jari 7 package org.tigr.microarray.mev.cgh.CGHGuiObj.CGHCircleViewer;
2 26 Feb 07 jari 8
2 26 Feb 07 jari 9
2 26 Feb 07 jari 10 import java.awt.Dimension;
2 26 Feb 07 jari 11 import java.awt.Graphics;
2 26 Feb 07 jari 12 import java.awt.Graphics2D;
2 26 Feb 07 jari 13 import java.awt.Insets;
2 26 Feb 07 jari 14 import java.awt.Point;
2 26 Feb 07 jari 15 import java.awt.event.ActionListener;
2 26 Feb 07 jari 16 import java.awt.event.MouseEvent;
2 26 Feb 07 jari 17 import java.awt.geom.Ellipse2D;
2 26 Feb 07 jari 18 import java.awt.image.BufferedImage;
2 26 Feb 07 jari 19 import java.beans.Expression;
2 26 Feb 07 jari 20 import java.util.EventObject;
2 26 Feb 07 jari 21
2 26 Feb 07 jari 22 import javax.swing.JComponent;
2 26 Feb 07 jari 23 import javax.swing.JLabel;
2 26 Feb 07 jari 24 import javax.swing.JMenuItem;
2 26 Feb 07 jari 25 import javax.swing.JPanel;
2 26 Feb 07 jari 26 import javax.swing.JPopupMenu;
2 26 Feb 07 jari 27
2 26 Feb 07 jari 28 import org.tigr.microarray.mev.cgh.CGHDataModel.CGHCircleViewerModel;
2 26 Feb 07 jari 29 import org.tigr.microarray.mev.cgh.CGHDataObj.CGHClone;
2 26 Feb 07 jari 30 import org.tigr.microarray.mev.cgh.CGHDataObj.CGHDataRegionInfo;
2 26 Feb 07 jari 31 import org.tigr.microarray.mev.cgh.CGHGuiObj.GuiUtil.GenomeBrowserLauncher;
2 26 Feb 07 jari 32 import org.tigr.microarray.mev.cgh.CGHGuiObj.GuiUtil.PositionDataRegionClickedPopup;
2 26 Feb 07 jari 33 import org.tigr.microarray.mev.cgh.CGHListenerObj.IDataRegionSelectionListener;
2 26 Feb 07 jari 34 import org.tigr.microarray.mev.cgh.CGHUtil.CGHUtility;
2 26 Feb 07 jari 35 import org.tigr.microarray.mev.cluster.gui.Experiment;
2 26 Feb 07 jari 36 import org.tigr.microarray.mev.cluster.gui.ICGHCloneValueMenu;
2 26 Feb 07 jari 37 import org.tigr.microarray.mev.cluster.gui.ICGHDisplayMenu;
2 26 Feb 07 jari 38 import org.tigr.microarray.mev.cluster.gui.ICGHViewer;
2 26 Feb 07 jari 39 import org.tigr.microarray.mev.cluster.gui.IData;
2 26 Feb 07 jari 40 import org.tigr.microarray.mev.cluster.gui.IDisplayMenu;
2 26 Feb 07 jari 41 import org.tigr.microarray.mev.cluster.gui.IFramework;
2 26 Feb 07 jari 42
2 26 Feb 07 jari 43 /**
2 26 Feb 07 jari 44  *
2 26 Feb 07 jari 45  * @author  Adam Margolin
2 26 Feb 07 jari 46  * @author Raktim Sinha
2 26 Feb 07 jari 47  */
2 26 Feb 07 jari 48
2 26 Feb 07 jari 49 public class CGHCircleViewerPanel extends JPanel implements ICGHViewer, Cloneable, ActionListener{
2 26 Feb 07 jari 50     CGHCircleViewerModel model;
2 26 Feb 07 jari 51     int experimentIndex = 0;
2 26 Feb 07 jari 52
2 26 Feb 07 jari 53     CGHDataRegionInfo selectedDataRegion;
2 26 Feb 07 jari 54     PositionDataRegionClickedPopup regionClickedPopup;
2 26 Feb 07 jari 55     IDataRegionSelectionListener drsListener;
2 26 Feb 07 jari 56
2 26 Feb 07 jari 57     CGHCircleViewerHeader header;
2 26 Feb 07 jari 58
2 26 Feb 07 jari 59     /** Creates new form CGHCircleViewerPanel */
2 26 Feb 07 jari 60     public CGHCircleViewerPanel(CGHCircleViewerModel model) {
2 26 Feb 07 jari 61         this.model = model;
2 26 Feb 07 jari 62         this.header = new CGHCircleViewerHeader(new Insets(15,15,0,0),model,this);
2 26 Feb 07 jari 63
2 26 Feb 07 jari 64         regionClickedPopup = new PositionDataRegionClickedPopup(this);
2 26 Feb 07 jari 65         initComponents();
2 26 Feb 07 jari 66     }
2 26 Feb 07 jari 67
2 26 Feb 07 jari 68
2 26 Feb 07 jari 69     public Object clone() throws CloneNotSupportedException{
2 26 Feb 07 jari 70         return super.clone();
2 26 Feb 07 jari 71     }
2 26 Feb 07 jari 72
2 26 Feb 07 jari 73     /**
2 26 Feb 07 jari 74      * This method is called from within the constructor to
2 26 Feb 07 jari 75      * initialize the form.
2 26 Feb 07 jari 76      *
2 26 Feb 07 jari 77      */
2 26 Feb 07 jari 78     private void initComponents() {
2 26 Feb 07 jari 79
2 26 Feb 07 jari 80         setLayout(new java.awt.BorderLayout());
2 26 Feb 07 jari 81
2 26 Feb 07 jari 82         setBackground(java.awt.Color.white);
2 26 Feb 07 jari 83         super.setBackground(java.awt.Color.white);
2 26 Feb 07 jari 84
2 26 Feb 07 jari 85         addMouseListener(new java.awt.event.MouseAdapter() {
2 26 Feb 07 jari 86             public void mouseClicked(java.awt.event.MouseEvent evt) {
2 26 Feb 07 jari 87                 formMouseClicked(evt);
2 26 Feb 07 jari 88             }
2 26 Feb 07 jari 89         });
2 26 Feb 07 jari 90
2 26 Feb 07 jari 91         addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
2 26 Feb 07 jari 92             public void mouseMoved(java.awt.event.MouseEvent evt) {
2 26 Feb 07 jari 93                 //formMouseMoved(evt);
2 26 Feb 07 jari 94             }
2 26 Feb 07 jari 95         });
2 26 Feb 07 jari 96     }
2 26 Feb 07 jari 97
2 26 Feb 07 jari 98     public void paint(Graphics g) {
2 26 Feb 07 jari 99         super.paint(g);
2 26 Feb 07 jari 100         header.updateSize();
2 26 Feb 07 jari 101
2 26 Feb 07 jari 102         Graphics2D g2 = (Graphics2D) g;
2 26 Feb 07 jari 103         //g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
2 26 Feb 07 jari 104         Dimension d = getSize();
2 26 Feb 07 jari 105
2 26 Feb 07 jari 106         double diameter = Math.min(d.width, d.height);
2 26 Feb 07 jari 107
2 26 Feb 07 jari 108         double halfWidth = diameter / 2;
2 26 Feb 07 jari 109         double halfHeight = diameter / 2;
2 26 Feb 07 jari 110
2 26 Feb 07 jari 111         double midWidth = d.width / 2;
2 26 Feb 07 jari 112         double midHeight = d.height / 2;
2 26 Feb 07 jari 113
2 26 Feb 07 jari 114         double rectWidth, rectHeight;
2 26 Feb 07 jari 115         rectHeight = rectWidth = halfWidth / 60;
2 26 Feb 07 jari 116
2 26 Feb 07 jari 117         double angle;
2 26 Feb 07 jari 118         double sin;
2 26 Feb 07 jari 119         double cos;
2 26 Feb 07 jari 120         double widthScale = halfWidth;
2 26 Feb 07 jari 121         double heightScale = halfHeight;
2 26 Feb 07 jari 122
2 26 Feb 07 jari 123         double widthInc = widthScale * .85 / model.getNumChromosomes();
2 26 Feb 07 jari 124         double heightInc = heightScale * .85 / model.getNumChromosomes();
2 26 Feb 07 jari 125
2 26 Feb 07 jari 126         double x, y;
2 26 Feb 07 jari 127
2 26 Feb 07 jari 128         int k = 0;
2 26 Feb 07 jari 129         int m;
2 26 Feb 07 jari 130
2 26 Feb 07 jari 131         for(int curChrom = 0; curChrom < model.getNumChromosomes(); curChrom++){
2 26 Feb 07 jari 132
2 26 Feb 07 jari 133             heightScale -= heightInc;
2 26 Feb 07 jari 134             widthScale -= heightInc;
2 26 Feb 07 jari 135             k++;
2 26 Feb 07 jari 136             m = 0;
2 26 Feb 07 jari 137
2 26 Feb 07 jari 138             double totalDataPoints = model.getNumDataPointsInChrom(curChrom);
2 26 Feb 07 jari 139             Ellipse2D el;
2 26 Feb 07 jari 140
2 26 Feb 07 jari 141             for(int curBac = 0; curBac < totalDataPoints; curBac++){
2 26 Feb 07 jari 142                 angle = (double)360 * (double) m / (double)totalDataPoints;
2 26 Feb 07 jari 143                 sin = Math.sin(Math.toRadians(angle));
2 26 Feb 07 jari 144                 cos = Math.cos(Math.toRadians(angle));
2 26 Feb 07 jari 145                 //y = midHeight + heightScale* sin;
2 26 Feb 07 jari 146                 y = midHeight - heightScale* sin;
2 26 Feb 07 jari 147                 //x = midWidth + widthScale *cos;
2 26 Feb 07 jari 148                 x = midWidth - widthScale *cos;
2 26 Feb 07 jari 149                 el = new Ellipse2D.Double(x, y, rectWidth, rectHeight);
2 26 Feb 07 jari 150                 g2.setPaint(model.getDataPointColor(curChrom, curBac, experimentIndex));
2 26 Feb 07 jari 151                 g2.fill(el);
2 26 Feb 07 jari 152
2 26 Feb 07 jari 153                 m++;
2 26 Feb 07 jari 154             }
2 26 Feb 07 jari 155         }
2 26 Feb 07 jari 156     }
2 26 Feb 07 jari 157
2 26 Feb 07 jari 158     private String getSelectedPopupValue(int xCoord, int yCoord){
2 26 Feb 07 jari 159
2 26 Feb 07 jari 160         CGHClone clone = getSelectedClone(xCoord, yCoord);
2 26 Feb 07 jari 161
2 26 Feb 07 jari 162         if(clone == null){
2 26 Feb 07 jari 163             return null;
2 26 Feb 07 jari 164         }else{
2 26 Feb 07 jari 165             String retVal = "Chromosome: " + (CGHUtility.convertChromToString(clone.getChromosomeIndex() + 1, model.getCGHSpecies())) + " Probe " + clone.getName();
2 26 Feb 07 jari 166             return retVal;
2 26 Feb 07 jari 167         }
2 26 Feb 07 jari 168     }
2 26 Feb 07 jari 169
2 26 Feb 07 jari 170     private CGHClone getSelectedClone(int xCoord, int yCoord){
2 26 Feb 07 jari 171         //Later change this method to do a reverse calculation
2 26 Feb 07 jari 172         Dimension d = getSize();
2 26 Feb 07 jari 173
2 26 Feb 07 jari 174         double diameter = Math.min(d.width, d.height);
2 26 Feb 07 jari 175
2 26 Feb 07 jari 176         double halfWidth = diameter / 2;
2 26 Feb 07 jari 177         double halfHeight = diameter / 2;
2 26 Feb 07 jari 178
2 26 Feb 07 jari 179         double midWidth = d.width / 2;
2 26 Feb 07 jari 180         double midHeight = d.height / 2;
2 26 Feb 07 jari 181
2 26 Feb 07 jari 182         double rectWidth, rectHeight;
2 26 Feb 07 jari 183         rectHeight = rectWidth = halfWidth / 60;
2 26 Feb 07 jari 184
2 26 Feb 07 jari 185         double angle;
2 26 Feb 07 jari 186         double sin;
2 26 Feb 07 jari 187         double cos;
2 26 Feb 07 jari 188         double widthScale = halfWidth;
2 26 Feb 07 jari 189         double heightScale = halfHeight;
2 26 Feb 07 jari 190
2 26 Feb 07 jari 191         double widthInc = widthScale * .85 / model.getNumChromosomes();
2 26 Feb 07 jari 192         double heightInc = heightScale * .85 / model.getNumChromosomes();
2 26 Feb 07 jari 193
2 26 Feb 07 jari 194         double x, y;
2 26 Feb 07 jari 195
2 26 Feb 07 jari 196         int k = 0;
2 26 Feb 07 jari 197         int m;
2 26 Feb 07 jari 198
2 26 Feb 07 jari 199         for(int curChrom = 0; curChrom < model.getNumChromosomes(); curChrom++){
2 26 Feb 07 jari 200
2 26 Feb 07 jari 201             heightScale -= heightInc;
2 26 Feb 07 jari 202             widthScale -= heightInc;
2 26 Feb 07 jari 203             k++;
2 26 Feb 07 jari 204             m = 0;
2 26 Feb 07 jari 205
2 26 Feb 07 jari 206             double totalDataPoints = model.getNumDataPointsInChrom(curChrom);
2 26 Feb 07 jari 207             Ellipse2D el;
2 26 Feb 07 jari 208
2 26 Feb 07 jari 209             for(int curBac = 0; curBac < totalDataPoints; curBac++){
2 26 Feb 07 jari 210                 angle = (double)360 * (double) m / (double)totalDataPoints;
2 26 Feb 07 jari 211                 sin = Math.sin(Math.toRadians(angle));
2 26 Feb 07 jari 212                 cos = Math.cos(Math.toRadians(angle));
2 26 Feb 07 jari 213                 y = midHeight - heightScale* sin;
2 26 Feb 07 jari 214                 x = midWidth - widthScale *cos;
2 26 Feb 07 jari 215                 el = new Ellipse2D.Double(x, y, rectWidth, rectHeight);
2 26 Feb 07 jari 216
2 26 Feb 07 jari 217                 if(el.contains(xCoord, yCoord)){
2 26 Feb 07 jari 218                     CGHClone clone = model.getCloneAt(curBac, curChrom);
2 26 Feb 07 jari 219                     return clone;
2 26 Feb 07 jari 220                 }
2 26 Feb 07 jari 221
2 26 Feb 07 jari 222                 m++;
2 26 Feb 07 jari 223             }
2 26 Feb 07 jari 224         }
2 26 Feb 07 jari 225         return null;
2 26 Feb 07 jari 226     }
2 26 Feb 07 jari 227
2 26 Feb 07 jari 228     public void setExperimentIndex(int experimentIndex){
2 26 Feb 07 jari 229         this.experimentIndex = experimentIndex;
2 26 Feb 07 jari 230     }
2 26 Feb 07 jari 231
2 26 Feb 07 jari 232     /** Returns a component to be inserted into scroll pane view port.
2 26 Feb 07 jari 233      */
2 26 Feb 07 jari 234     public JComponent getContentComponent() {
2 26 Feb 07 jari 235         return this;
2 26 Feb 07 jari 236     }
2 26 Feb 07 jari 237
2 26 Feb 07 jari 238     /** Returns a component to be inserted into scroll pane header.
2 26 Feb 07 jari 239      */
2 26 Feb 07 jari 240     public JComponent getHeaderComponent() {
2 26 Feb 07 jari 241         return header;
2 26 Feb 07 jari 242     }
2 26 Feb 07 jari 243
2 26 Feb 07 jari 244     /** Invoked by the framework to save or to print viewer image.
2 26 Feb 07 jari 245      */
2 26 Feb 07 jari 246     public BufferedImage getImage() {
2 26 Feb 07 jari 247         return null;
2 26 Feb 07 jari 248     }
2 26 Feb 07 jari 249
2 26 Feb 07 jari 250     /** Invoked when the framework is going to be closed.
2 26 Feb 07 jari 251      */
2 26 Feb 07 jari 252     public void onClosed() {
2 26 Feb 07 jari 253
2 26 Feb 07 jari 254     }
2 26 Feb 07 jari 255
2 26 Feb 07 jari 256     /** Invoked by the framework when data is changed,
2 26 Feb 07 jari 257      * if this viewer is selected.
2 26 Feb 07 jari 258      * @see IData
2 26 Feb 07 jari 259      */
2 26 Feb 07 jari 260     public void onDataChanged(IData data) {
2 26 Feb 07 jari 261         repaint();
2 26 Feb 07 jari 262     }
2 26 Feb 07 jari 263
2 26 Feb 07 jari 264     /** Invoked by the framework when this viewer was deselected.
2 26 Feb 07 jari 265      */
2 26 Feb 07 jari 266     public void onDeselected() {
2 26 Feb 07 jari 267     }
2 26 Feb 07 jari 268
2 26 Feb 07 jari 269     /** Invoked by the framework when display menu is changed,
2 26 Feb 07 jari 270      * if this viewer is selected.
2 26 Feb 07 jari 271      * @see IDisplayMenu
2 26 Feb 07 jari 272      */
2 26 Feb 07 jari 273     public void onMenuChanged(IDisplayMenu menu) {
2 26 Feb 07 jari 274         //System.out.println("hello world!");
2 26 Feb 07 jari 275
2 26 Feb 07 jari 276         model.setMaxRatioScale(menu.getMaxRatioScale());
2 26 Feb 07 jari 277         model.setMinRatioScale(menu.getMinRatioScale());
2 26 Feb 07 jari 278         model.setNegColorImage(menu.getNegativeGradientImage());
2 26 Feb 07 jari 279         model.setPosColorImage(menu.getPositiveGradientImage());
2 26 Feb 07 jari 280         header.onMenuChanged(menu);
2 26 Feb 07 jari 281     }
2 26 Feb 07 jari 282
2 26 Feb 07 jari 283     public void onMenuChanged(ICGHDisplayMenu menu) {
2 26 Feb 07 jari 284         setBackground(menu.getCircleViewerBackgroundColor());
2 26 Feb 07 jari 285     }
2 26 Feb 07 jari 286
2 26 Feb 07 jari 287     /** Invoked by the framework when this viewer is selected.
2 26 Feb 07 jari 288      */
2 26 Feb 07 jari 289     public void onSelected(IFramework framework) {
2 26 Feb 07 jari 290         ICGHDisplayMenu cghMenu = framework.getCghDisplayMenu();
2 26 Feb 07 jari 291         IDisplayMenu menu = framework.getDisplayMenu();
2 26 Feb 07 jari 292         ICGHCloneValueMenu cloneValueMenu = framework.getCghCloneValueMenu();
2 26 Feb 07 jari 293         onMenuChanged(menu);
2 26 Feb 07 jari 294         onMenuChanged(cghMenu);
2 26 Feb 07 jari 295         onCloneValuesChanged(cloneValueMenu);
2 26 Feb 07 jari 296         //repaint();
2 26 Feb 07 jari 297     }
2 26 Feb 07 jari 298
2 26 Feb 07 jari 299     public void onThresholdsChanged(ICGHDisplayMenu menu) {
2 26 Feb 07 jari 300     }
2 26 Feb 07 jari 301
2 26 Feb 07 jari 302     protected void formMouseClicked(java.awt.event.MouseEvent evt) {
2 26 Feb 07 jari 303
2 26 Feb 07 jari 304         Point point = evt.getPoint();
2 26 Feb 07 jari 305
2 26 Feb 07 jari 306         if(evt.getButton() == MouseEvent.BUTTON3  ){
2 26 Feb 07 jari 307         //if(evt.isPopupTrigger() ){
2 26 Feb 07 jari 308             CGHClone selectedClone = getSelectedClone(point.x, point.y);
2 26 Feb 07 jari 309             if(selectedClone != null){
2 26 Feb 07 jari 310                 selectedDataRegion = new CGHDataRegionInfo(selectedClone, experimentIndex);
2 26 Feb 07 jari 311                 regionClickedPopup.show(evt.getComponent(), point.x, point.y);
2 26 Feb 07 jari 312             }
2 26 Feb 07 jari 313         }else if(evt.getButton() == MouseEvent.BUTTON1){
2 26 Feb 07 jari 314             String sel = getSelectedPopupValue(point.x, point.y);
2 26 Feb 07 jari 315             if(sel != null){
2 26 Feb 07 jari 316                 JPopupMenu popup = new JPopupMenu();
2 26 Feb 07 jari 317                 popup.add(new JLabel(sel));
2 26 Feb 07 jari 318                 popup.show(evt.getComponent(), point.x, point.y);
2 26 Feb 07 jari 319             }
2 26 Feb 07 jari 320         }
2 26 Feb 07 jari 321
2 26 Feb 07 jari 322     }
2 26 Feb 07 jari 323
2 26 Feb 07 jari 324     public void actionPerformed(java.awt.event.ActionEvent actionEvent) {
2 26 Feb 07 jari 325         JMenuItem item = (JMenuItem)actionEvent.getSource();
2 26 Feb 07 jari 326         if(selectedDataRegion != null){
2 26 Feb 07 jari 327             if("Show Genes in Region".equals(item.getActionCommand())){
2 26 Feb 07 jari 328                 drsListener.onShowGenes(new EventObject(selectedDataRegion));
2 26 Feb 07 jari 329             }else if("Show Browser".equals(item.getActionCommand())){
2 26 Feb 07 jari 330                 drsListener.onShowBrowser(new EventObject(selectedDataRegion));
2 26 Feb 07 jari 331             }else if("Display Data Values".equals(item.getActionCommand())){
2 26 Feb 07 jari 332                 drsListener.onDisplayDataValues(new EventObject(selectedDataRegion));
2 26 Feb 07 jari 333             }else if("Launch Ensembl".equals(item.getActionCommand())){
2 26 Feb 07 jari 334                 GenomeBrowserLauncher.launchEnsembl(selectedDataRegion.getDataRegion(), model.getCGHSpecies());
2 26 Feb 07 jari 335             }else if("Launch Golden Path".equals(item.getActionCommand())){
2 26 Feb 07 jari 336                 GenomeBrowserLauncher.launchGoldenPath(selectedDataRegion.getDataRegion(), model.getCGHSpecies());
2 26 Feb 07 jari 337             }else if("Launch NCBI Viewer".equals(item.getActionCommand())){
2 26 Feb 07 jari 338                 GenomeBrowserLauncher.launchNCBIMapViewer(selectedDataRegion.getDataRegion(), model.getCGHSpecies());
2 26 Feb 07 jari 339             }
2 26 Feb 07 jari 340         }
2 26 Feb 07 jari 341     }
2 26 Feb 07 jari 342
2 26 Feb 07 jari 343     /** Getter for property drsListener.
2 26 Feb 07 jari 344      * @return Value of property drsListener.
2 26 Feb 07 jari 345      */
2 26 Feb 07 jari 346     public IDataRegionSelectionListener getDrsListener() {
2 26 Feb 07 jari 347         return drsListener;
2 26 Feb 07 jari 348     }
2 26 Feb 07 jari 349
2 26 Feb 07 jari 350     /** Setter for property drsListener.
2 26 Feb 07 jari 351      * @param drsListener New value of property drsListener.
2 26 Feb 07 jari 352      */
2 26 Feb 07 jari 353     public void setDrsListener(IDataRegionSelectionListener drsListener) {
2 26 Feb 07 jari 354         this.drsListener = drsListener;
2 26 Feb 07 jari 355     }
2 26 Feb 07 jari 356
2 26 Feb 07 jari 357     public void onCloneValuesChanged(ICGHCloneValueMenu menu) {
2 26 Feb 07 jari 358         this.model.onCloneValuesChanged(menu);
2 26 Feb 07 jari 359     }
2 26 Feb 07 jari 360
2 26 Feb 07 jari 361   public JComponent getRowHeaderComponent() {
2 26 Feb 07 jari 362     // TODO Auto-generated method stub
2 26 Feb 07 jari 363     return null;
2 26 Feb 07 jari 364   }
2 26 Feb 07 jari 365
2 26 Feb 07 jari 366
2 26 Feb 07 jari 367   public JComponent getCornerComponent(int cornerIndex) {
2 26 Feb 07 jari 368     // TODO Auto-generated method stub
2 26 Feb 07 jari 369     return null;
2 26 Feb 07 jari 370   }
2 26 Feb 07 jari 371
2 26 Feb 07 jari 372
2 26 Feb 07 jari 373   public int[][] getClusters() {
2 26 Feb 07 jari 374     // TODO Auto-generated method stub
2 26 Feb 07 jari 375     return null;
2 26 Feb 07 jari 376   }
2 26 Feb 07 jari 377
2 26 Feb 07 jari 378
2 26 Feb 07 jari 379   public Experiment getExperiment() {
2 26 Feb 07 jari 380     // TODO Auto-generated method stub
2 26 Feb 07 jari 381     return null;
2 26 Feb 07 jari 382   }
2 26 Feb 07 jari 383
2 26 Feb 07 jari 384
2 26 Feb 07 jari 385   public int getViewerType() {
2 26 Feb 07 jari 386     // TODO Auto-generated method stub
2 26 Feb 07 jari 387     return 0;
2 26 Feb 07 jari 388   }
2 26 Feb 07 jari 389
2 26 Feb 07 jari 390
2 26 Feb 07 jari 391   /* (non-Javadoc)
2 26 Feb 07 jari 392    * @see org.tigr.microarray.mev.cluster.gui.IViewer#setExperiment(org.tigr.microarray.mev.cluster.gui.Experiment)
2 26 Feb 07 jari 393    */
2 26 Feb 07 jari 394   public void setExperiment(Experiment e) {
2 26 Feb 07 jari 395     // TODO Auto-generated method stub
2 26 Feb 07 jari 396     
2 26 Feb 07 jari 397   }
2 26 Feb 07 jari 398
2 26 Feb 07 jari 399
2 26 Feb 07 jari 400   /* (non-Javadoc)
2 26 Feb 07 jari 401    * @see org.tigr.microarray.mev.cluster.gui.IViewer#getExperimentID()
2 26 Feb 07 jari 402    */
2 26 Feb 07 jari 403   public int getExperimentID() {
2 26 Feb 07 jari 404     // TODO Auto-generated method stub
2 26 Feb 07 jari 405     return 0;
2 26 Feb 07 jari 406   }
2 26 Feb 07 jari 407
2 26 Feb 07 jari 408
2 26 Feb 07 jari 409   /* (non-Javadoc)
2 26 Feb 07 jari 410    * @see org.tigr.microarray.mev.cluster.gui.IViewer#setExperimentID(int)
2 26 Feb 07 jari 411    */
2 26 Feb 07 jari 412   public void setExperimentID(int id) {
2 26 Feb 07 jari 413     // TODO Auto-generated method stub
2 26 Feb 07 jari 414     
2 26 Feb 07 jari 415   }
2 26 Feb 07 jari 416
2 26 Feb 07 jari 417
2 26 Feb 07 jari 418   /* (non-Javadoc)
2 26 Feb 07 jari 419    * @see org.tigr.microarray.mev.cluster.gui.IViewer#getExpression()
2 26 Feb 07 jari 420    */
2 26 Feb 07 jari 421   public Expression getExpression() {
2 26 Feb 07 jari 422     // TODO Auto-generated method stub
2 26 Feb 07 jari 423     return null;
2 26 Feb 07 jari 424   }
2 26 Feb 07 jari 425
2 26 Feb 07 jari 426     // Variables declaration - do not modify
2 26 Feb 07 jari 427     // End of variables declaration
2 26 Feb 07 jari 428
2 26 Feb 07 jari 429 }
2 26 Feb 07 jari 430