Merge branch 'JAL-3878_ws-overhaul-3' into with_ws_overhaul-3
[jalview.git] / src / jalview / datamodel / GraphLine.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.datamodel;
22
23 public class GraphLine
24 {
25   public float value;
26
27   public String label = "";
28
29   public java.awt.Color colour = java.awt.Color.black;
30
31   public boolean displayed = true;
32
33   public GraphLine(float value, String label, java.awt.Color col)
34   {
35     this.value = value;
36     if (label != null)
37     {
38       this.label = label;
39     }
40
41     if (col != null)
42     {
43       this.colour = col;
44     }
45   }
46
47   public GraphLine(GraphLine from)
48   {
49     if (from != null)
50     {
51       value = from.value;
52       label = new String(from.label);
53       colour = from.colour;
54       displayed = from.displayed;
55     }
56   }
57
58   @Override
59   public boolean equals(Object obj)
60   {
61     if (obj != null && obj instanceof GraphLine)
62     {
63       GraphLine other = (GraphLine) obj;
64       return displayed == other.displayed && value == other.value
65               && (colour != null
66                       ? (other.colour != null
67                               && other.colour.equals(colour))
68                       : other.colour == null)
69               && (label != null
70                       ? (other.label != null && other.label.equals(label))
71                       : other.label == null);
72     }
73     return false;
74   }
75 }