mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/LeafInfo.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: LeafInfo.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.7 $
2 26 Feb 07 jari 8  * $Date: 2006/03/24 15:49:53 $
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;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import javax.swing.JPopupMenu;
2 26 Feb 07 jari 15
2 26 Feb 07 jari 16 /**
2 26 Feb 07 jari 17  * This class is a structure, which is used to assign properties
2 26 Feb 07 jari 18  * for a tree node.
2 26 Feb 07 jari 19  *
2 26 Feb 07 jari 20  * @version 1.0
2 26 Feb 07 jari 21  * @author Aleksey D.Rezantsev
2 26 Feb 07 jari 22  */
2 26 Feb 07 jari 23 public class LeafInfo implements java.io.Serializable {
2 26 Feb 07 jari 24         
2 26 Feb 07 jari 25 //    public static final long serialVersionUID = 2020002L;
2 26 Feb 07 jari 26     
2 26 Feb 07 jari 27     // leaf name
2 26 Feb 07 jari 28     private String name;
2 26 Feb 07 jari 29     // it will be used to display a result
2 26 Feb 07 jari 30     private IViewer viewer;
2 26 Feb 07 jari 31     // popup menu for a result tree node
2 26 Feb 07 jari 32     private JPopupMenu popup;
2 26 Feb 07 jari 33     // tree node tooltip
2 26 Feb 07 jari 34     private String tooltip;
2 26 Feb 07 jari 35     // user object
2 26 Feb 07 jari 36     private Object userObject;
2 26 Feb 07 jari 37     // selected, as data source
2 26 Feb 07 jari 38     private boolean selectedDataSource;
2 26 Feb 07 jari 39     
2 26 Feb 07 jari 40     
2 26 Feb 07 jari 41     public LeafInfo() {  }
2 26 Feb 07 jari 42     /**
2 26 Feb 07 jari 43      * Constructs a <code>LeafInfo</code> with specified name.
2 26 Feb 07 jari 44      *
2 26 Feb 07 jari 45      * @param name the node name.
2 26 Feb 07 jari 46      */
2 26 Feb 07 jari 47     public LeafInfo(String name) {
2 26 Feb 07 jari 48   this(name, (IViewer)null);
2 26 Feb 07 jari 49     }
2 26 Feb 07 jari 50     
2 26 Feb 07 jari 51     /**
2 26 Feb 07 jari 52      * Constructs a <code>LeafInfo</code> with specified name and
2 26 Feb 07 jari 53      * appropriated viewer.
2 26 Feb 07 jari 54      *
2 26 Feb 07 jari 55      * @param name the node name.
2 26 Feb 07 jari 56      * @param viewer an instance of <code>IViewer</code> interface.
2 26 Feb 07 jari 57      * @see IViewer
2 26 Feb 07 jari 58      */
2 26 Feb 07 jari 59     public LeafInfo(String name, IViewer viewer) {
2 26 Feb 07 jari 60   this(name, viewer, null);
2 26 Feb 07 jari 61     }
2 26 Feb 07 jari 62     
2 26 Feb 07 jari 63     /**
2 26 Feb 07 jari 64      * Constructs a <code>LeafInfo</code> with specified name and
2 26 Feb 07 jari 65      * popup menu.
2 26 Feb 07 jari 66      *
2 26 Feb 07 jari 67      * @param name the node name.
2 26 Feb 07 jari 68      * @param popup the node popup menu.
2 26 Feb 07 jari 69      */
2 26 Feb 07 jari 70     public LeafInfo(String name, JPopupMenu popup) {
2 26 Feb 07 jari 71   this(name, (IViewer)null, popup);
2 26 Feb 07 jari 72     }
2 26 Feb 07 jari 73     
2 26 Feb 07 jari 74     /**
2 26 Feb 07 jari 75      * Constructs a <code>LeafInfo</code> with specified name,
2 26 Feb 07 jari 76      * appropriated viewer and an user object.
2 26 Feb 07 jari 77      *
2 26 Feb 07 jari 78      * @param name the node name.
2 26 Feb 07 jari 79      * @param viewer an instance of <code>IViewer</code> interface.
2 26 Feb 07 jari 80      * @param userObject the reference to an user object.
2 26 Feb 07 jari 81      * @see IViewer
2 26 Feb 07 jari 82      * @see IFramework#getUserObject
2 26 Feb 07 jari 83      */
2 26 Feb 07 jari 84     public LeafInfo(String name, IViewer viewer, Object userObject) {
2 26 Feb 07 jari 85       this(name, viewer, (JPopupMenu)null, userObject, false);
2 26 Feb 07 jari 86     }
2 26 Feb 07 jari 87     
2 26 Feb 07 jari 88     /**
2 26 Feb 07 jari 89      * Constructs a <code>LeafInfo</code> with specified name,
2 26 Feb 07 jari 90      * appropriated viewer and popup menu.
2 26 Feb 07 jari 91      *
2 26 Feb 07 jari 92      * @param name the node name.
2 26 Feb 07 jari 93      * @param viewer an instance of <code>IViewer</code> interface.
2 26 Feb 07 jari 94      * @param popup the node popup menu.
2 26 Feb 07 jari 95      * @see IViewer
2 26 Feb 07 jari 96      */
2 26 Feb 07 jari 97     public LeafInfo(String name, IViewer viewer, JPopupMenu popup) {
2 26 Feb 07 jari 98   this(name, viewer, popup, null);
2 26 Feb 07 jari 99     }
2 26 Feb 07 jari 100     
2 26 Feb 07 jari 101     /**
2 26 Feb 07 jari 102      * Constructs a <code>LeafInfo</code> with specified name,
2 26 Feb 07 jari 103      * appropriated viewer, popup menu and an user object.
2 26 Feb 07 jari 104      *
2 26 Feb 07 jari 105      * @param name the node name.
2 26 Feb 07 jari 106      * @param viewer an instance of <code>IViewer</code> interface.
2 26 Feb 07 jari 107      * @param popup the node popup menu.
2 26 Feb 07 jari 108      * @param userObject the reference to an user object.
2 26 Feb 07 jari 109      * @see IViewer
2 26 Feb 07 jari 110      * @see IFramework#getUserObject
2 26 Feb 07 jari 111      */
2 26 Feb 07 jari 112     public LeafInfo(String name, IViewer viewer, JPopupMenu popup, Object userObject, boolean selectedDataSource) {
2 26 Feb 07 jari 113   this(name, viewer, popup, null);
2 26 Feb 07 jari 114   this.userObject = userObject;
2 26 Feb 07 jari 115     this.selectedDataSource = selectedDataSource;
2 26 Feb 07 jari 116     }
2 26 Feb 07 jari 117     public static String[] getPersistenceDelegateArgs() {
2 26 Feb 07 jari 118       return new String[] {"name", "viewer", "popup", "userObject", "selectedDataSource"};
2 26 Feb 07 jari 119     }
2 26 Feb 07 jari 120     public boolean getSelectedDataSource(){return selectedDataSource;}
2 26 Feb 07 jari 121     
2 26 Feb 07 jari 122     /**
2 26 Feb 07 jari 123      * Constructs a <code>LeafInfo</code> with specified name,
2 26 Feb 07 jari 124      * appropriated viewer, popup menu and a tooltip.
2 26 Feb 07 jari 125      *
2 26 Feb 07 jari 126      * @param name the node name.
2 26 Feb 07 jari 127      * @param viewer an instance of <code>IViewer</code> interface.
2 26 Feb 07 jari 128      * @param popup the node popup menu.
2 26 Feb 07 jari 129      * @param tooltip the node tooltip.
2 26 Feb 07 jari 130      * @see IViewer
2 26 Feb 07 jari 131      */
2 26 Feb 07 jari 132     public LeafInfo(String name, IViewer viewer, JPopupMenu popup, String tooltip) {
2 26 Feb 07 jari 133   this.name = name;
2 26 Feb 07 jari 134   this.viewer = viewer;
2 26 Feb 07 jari 135   this.popup = popup;
2 26 Feb 07 jari 136   this.tooltip = tooltip;
2 26 Feb 07 jari 137     }
2 26 Feb 07 jari 138     
2 26 Feb 07 jari 139     public void setName(String val) {
2 26 Feb 07 jari 140         name = val;
2 26 Feb 07 jari 141     }
2 26 Feb 07 jari 142     public String getName() {
2 26 Feb 07 jari 143         return name;
2 26 Feb 07 jari 144     }
2 26 Feb 07 jari 145     
2 26 Feb 07 jari 146     /**
2 26 Feb 07 jari 147      * Returns the node viewer.
2 26 Feb 07 jari 148      */
2 26 Feb 07 jari 149     public IViewer getViewer() {
2 26 Feb 07 jari 150         return viewer;
2 26 Feb 07 jari 151     }
2 26 Feb 07 jari 152     
2 26 Feb 07 jari 153     public void setViewer(IViewer v) {
2 26 Feb 07 jari 154         this.viewer = v;
2 26 Feb 07 jari 155     }
2 26 Feb 07 jari 156     
2 26 Feb 07 jari 157     /**
2 26 Feb 07 jari 158      * Returns the node popup menu.
2 26 Feb 07 jari 159      */
2 26 Feb 07 jari 160     public JPopupMenu getJPopupMenu() {
2 26 Feb 07 jari 161   return popup;
2 26 Feb 07 jari 162     }
2 26 Feb 07 jari 163     
2 26 Feb 07 jari 164     /**
2 26 Feb 07 jari 165      * Returns the node tooltip.
2 26 Feb 07 jari 166      */
2 26 Feb 07 jari 167     public String getToolTip() {
2 26 Feb 07 jari 168   return tooltip;
2 26 Feb 07 jari 169     }
2 26 Feb 07 jari 170     
2 26 Feb 07 jari 171     
2 26 Feb 07 jari 172     /**
2 26 Feb 07 jari 173      * Sets the node user object.
2 26 Feb 07 jari 174      */
2 26 Feb 07 jari 175     public void setUserObject(Object userObject) {
2 26 Feb 07 jari 176   this.userObject = userObject;
2 26 Feb 07 jari 177     }
2 26 Feb 07 jari 178     
2 26 Feb 07 jari 179     /**
2 26 Feb 07 jari 180      * Returns the node user object.
2 26 Feb 07 jari 181      */
2 26 Feb 07 jari 182     public Object getUserObject() {
2 26 Feb 07 jari 183         return userObject;
2 26 Feb 07 jari 184     }
2 26 Feb 07 jari 185     
2 26 Feb 07 jari 186     /**
2 26 Feb 07 jari 187      * Returns true if it is the selected data source
2 26 Feb 07 jari 188      */
2 26 Feb 07 jari 189     public boolean isSelectedDataSource() {
2 26 Feb 07 jari 190         return selectedDataSource;
2 26 Feb 07 jari 191     }
2 26 Feb 07 jari 192     
2 26 Feb 07 jari 193     /**
2 26 Feb 07 jari 194      * sets the selected status for data source
2 26 Feb 07 jari 195      */
2 26 Feb 07 jari 196     public void setSelectedDataSource(boolean selected) {
2 26 Feb 07 jari 197         selectedDataSource = selected;
2 26 Feb 07 jari 198     }
2 26 Feb 07 jari 199     
2 26 Feb 07 jari 200     /**
2 26 Feb 07 jari 201      * Overriden to return the node name.
2 26 Feb 07 jari 202      */
2 26 Feb 07 jari 203     public String toString() {
2 26 Feb 07 jari 204   return name;
2 26 Feb 07 jari 205     }
2 26 Feb 07 jari 206     
2 26 Feb 07 jari 207     /**
2 26 Feb 07 jari 208      * Sets the JPopupMenu field
2 26 Feb 07 jari 209      */
2 26 Feb 07 jari 210     public void setPopupMenu(JPopupMenu menu){
2 26 Feb 07 jari 211         this.popup = menu;
2 26 Feb 07 jari 212     }
2 26 Feb 07 jari 213 }