mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/hcl/HCLExperimentHeader.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2004, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4  */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: HCLExperimentHeader.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.8 $
2 26 Feb 07 jari 8  * $Date: 2006/04/10 18:41:36 $
2 26 Feb 07 jari 9  * $Author: eleanorahowe $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12 package org.tigr.microarray.mev.cluster.gui.impl.hcl;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.awt.Color;
2 26 Feb 07 jari 15 import java.awt.Dimension;
2 26 Feb 07 jari 16 import java.awt.event.MouseListener;
2 26 Feb 07 jari 17 import java.io.IOException;
2 26 Feb 07 jari 18 import java.io.ObjectInputStream;
2 26 Feb 07 jari 19 import java.io.ObjectOutputStream;
2 26 Feb 07 jari 20
2 26 Feb 07 jari 21 import javax.swing.JComponent;
2 26 Feb 07 jari 22 import javax.swing.JPanel;
2 26 Feb 07 jari 23 import javax.swing.JComponent;
2 26 Feb 07 jari 24
2 26 Feb 07 jari 25 import org.tigr.microarray.mev.cluster.gui.helpers.IExperimentHeader;
2 26 Feb 07 jari 26
2 26 Feb 07 jari 27
2 26 Feb 07 jari 28 public class HCLExperimentHeader extends JPanel {
2 26 Feb 07 jari 29
2 26 Feb 07 jari 30     // wrapped experiment header.
2 26 Feb 07 jari 31     private JComponent expHeader;
2 26 Feb 07 jari 32     
2 26 Feb 07 jari 33     public HCLExperimentHeader(){ }
2 26 Feb 07 jari 34     public JComponent getHeader(){return expHeader;}
2 26 Feb 07 jari 35     public void setHeader(JComponent header){this.expHeader = header;}
2 26 Feb 07 jari 36     
2 26 Feb 07 jari 37     /**
2 26 Feb 07 jari 38      * Constructs a <code>HCLExperimentHeader</code> with wrapped header component.
2 26 Feb 07 jari 39      */
2 26 Feb 07 jari 40     public HCLExperimentHeader(JComponent expHeader) {
2 26 Feb 07 jari 41         setLayout(null);
2 26 Feb 07 jari 42         setBackground(Color.white);
2 26 Feb 07 jari 43         add(this.expHeader = expHeader);
2 26 Feb 07 jari 44     }
2 26 Feb 07 jari 45     
2 26 Feb 07 jari 46     /**
2 26 Feb 07 jari 47      * Sets the header position.
2 26 Feb 07 jari 48      */
2 26 Feb 07 jari 49     public void setHeaderPosition(int position) {
2 26 Feb 07 jari 50         this.expHeader.setLocation(position, 0);
2 26 Feb 07 jari 51     }
2 26 Feb 07 jari 52     
2 26 Feb 07 jari 53     /**
2 26 Feb 07 jari 54      * Updates the header sizes.
2 26 Feb 07 jari 55      */
2 26 Feb 07 jari 56     public void updateSize(int newWidth, int elementWidth) {
2 26 Feb 07 jari 57         ((IExperimentHeader)this.expHeader).updateSizes(newWidth, elementWidth);
2 26 Feb 07 jari 58         setSizes(newWidth, this.expHeader.getHeight());
2 26 Feb 07 jari 59     }
2 26 Feb 07 jari 60     
2 26 Feb 07 jari 61     private void setSizes(int width, int height) {
2 26 Feb 07 jari 62         setSize(width, height);
2 26 Feb 07 jari 63         setPreferredSize(new Dimension(width, height));
2 26 Feb 07 jari 64     }
2 26 Feb 07 jari 65         
2 26 Feb 07 jari 66     /**
2 26 Feb 07 jari 67      * Adds mouse listener to itself and to wrapped component.
2 26 Feb 07 jari 68      */
2 26 Feb 07 jari 69     public void addMouseListener(MouseListener listener) {
2 26 Feb 07 jari 70         super.addMouseListener(listener);
2 26 Feb 07 jari 71         if(this.expHeader != null)
2 26 Feb 07 jari 72             this.expHeader.addMouseListener(listener);
2 26 Feb 07 jari 73     }
2 26 Feb 07 jari 74     
2 26 Feb 07 jari 75     /**
2 26 Feb 07 jari 76      * Removes mouse listener from itself and from wrapped component.
2 26 Feb 07 jari 77      */
2 26 Feb 07 jari 78     public void removeMouseListener(MouseListener listener) {
2 26 Feb 07 jari 79         super.removeMouseListener(listener);
2 26 Feb 07 jari 80         this.expHeader.removeMouseListener(listener);
2 26 Feb 07 jari 81     }
2 26 Feb 07 jari 82     
2 26 Feb 07 jari 83     public void setUseDoubleGradient(boolean useDouble) {
2 26 Feb 07 jari 84       ((IExperimentHeader)this.expHeader).setUseDoubleGradient(useDouble);
2 26 Feb 07 jari 85     }
2 26 Feb 07 jari 86     
2 26 Feb 07 jari 87     private void writeObject(ObjectOutputStream oos) throws IOException {
2 26 Feb 07 jari 88         oos.writeObject(this.expHeader);
2 26 Feb 07 jari 89     }
2 26 Feb 07 jari 90     
2 26 Feb 07 jari 91     private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException {
2 26 Feb 07 jari 92         this.expHeader = (JComponent)ois.readObject();
2 26 Feb 07 jari 93         
2 26 Feb 07 jari 94         if(this.expHeader == null)
2 26 Feb 07 jari 95             System.out.println("NULL HEADER");
2 26 Feb 07 jari 96     }
2 26 Feb 07 jari 97 }