diff options
Diffstat (limited to 'Software/Visual_Studio/SideChains/RealTimeGraphEx/Models/RealTimeGraphColumnsCollection.cs')
| -rw-r--r-- | Software/Visual_Studio/SideChains/RealTimeGraphEx/Models/RealTimeGraphColumnsCollection.cs | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Software/Visual_Studio/SideChains/RealTimeGraphEx/Models/RealTimeGraphColumnsCollection.cs b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Models/RealTimeGraphColumnsCollection.cs new file mode 100644 index 000000000..f2fb28170 --- /dev/null +++ b/Software/Visual_Studio/SideChains/RealTimeGraphEx/Models/RealTimeGraphColumnsCollection.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RealTimeGraphEx.Models +{ + public class RealTimeGraphColumnsCollection + { + public List<RealTimeGraphExColumn> Columns { get; set; } + public List<double> ActualValues { get; set; } + + public int TotalColumns + { + get { return Columns.Count; } + } + + public RealTimeGraphColumnsCollection() + { + Columns = new List<RealTimeGraphExColumn>(); + ActualValues = new List<double>(); + } + + public void Add(RealTimeGraphExColumn rec, int actualValue) + { + Columns.Add(rec); + ActualValues.Add(actualValue); + } + + public void Add(int x, int y, int width, int bottom, int actualValue) + { + Add(new RealTimeGraphExColumn(x, y, width, bottom), actualValue); + } + + public void RemoveFromStart(int count) + { + lock (Columns) + { + Columns.RemoveRange(0, count); + + double offSet = Columns[0].X; + + for (int i = 0; i < Columns.Count; i++) + { + Columns[i].X = (int)(Columns[i].X - offSet); + Columns[i].Right = (int)(Columns[i].Right - offSet); + } + } + } + + public void Replace(int x, int y, int right, int bottom, int actualValue, int index) + { + var p = new RealTimeGraphExColumn(x, y, right, bottom); + Columns.RemoveAt(index); + Columns.Insert(index, p); + ActualValues.RemoveAt(index); + ActualValues.Insert(index, actualValue); + } + + public void ClearColumns() + { + Columns.Clear(); + ActualValues.Clear(); + } + } +} |
