[680] | 1 | using System;
|
---|
| 2 | using System.Collections.Generic;
|
---|
[726] | 3 | using System.IO;
|
---|
[680] | 4 | using System.Linq;
|
---|
[726] | 5 | using System.Runtime.Serialization;
|
---|
[680] | 6 | using System.Text;
|
---|
[726] | 7 | //using System.Collections.Specialized;
|
---|
| 8 | using System.Xml;
|
---|
| 9 | using System.Xml.Serialization;
|
---|
| 10 | using HeuristicLab.Core;
|
---|
| 11 | using HeuristicLab.Data;
|
---|
[680] | 12 |
|
---|
[685] | 13 |
|
---|
| 14 | namespace HeuristicLab.Visualization{
|
---|
[697] | 15 | public class ChartDataRowsModel : ChartDataModelBase, IChartDataRowsModel {
|
---|
[685] | 16 |
|
---|
[726] | 17 | private IntData test = new IntData(1);
|
---|
[685] | 18 |
|
---|
| 19 | public ChartDataRowsModel(){
|
---|
| 20 |
|
---|
[726] | 21 | columns = new List<ChartDataRowsModelColumn>();
|
---|
| 22 |
|
---|
| 23 |
|
---|
[685] | 24 | }
|
---|
| 25 |
|
---|
| 26 | public void AddDataRow(int id){
|
---|
| 27 |
|
---|
[727] | 28 | double[] vals = new double[10]{4.0, 2.2, 0.2, 4, 18.2333, 1.1, 7, 99.99, 8, 2.6};
|
---|
[726] | 29 |
|
---|
| 30 | ChartDataRowsModelColumn col = new ChartDataRowsModelColumn(id, vals);
|
---|
| 31 |
|
---|
| 32 | columns.Add(col);
|
---|
[685] | 33 | }
|
---|
| 34 |
|
---|
| 35 | public void PushData(int dataRowId, double value){
|
---|
| 36 |
|
---|
[727] | 37 | //double[] vals = new double[columns[dataRowId].Values.Length+1];
|
---|
| 38 | //for (int i = 0; i < columns[dataRowId].Values.Length; i++ ){
|
---|
| 39 | // vals[i] = columns[dataRowId].Values[i];
|
---|
| 40 |
|
---|
| 41 | //}
|
---|
| 42 |
|
---|
| 43 | //vals[vals.Length] = value;
|
---|
| 44 | //columns[dataRowId].Values = vals;
|
---|
[685] | 45 | }
|
---|
| 46 |
|
---|
[726] | 47 | public override IView CreateView() {
|
---|
[727] | 48 | //return new LineChart(this); when LineChart is implemented
|
---|
[726] | 49 | return new IntDataView(test);
|
---|
| 50 | }
|
---|
| 51 |
|
---|
[697] | 52 | public event ChartDataRowsModelColumnChangedHandler ColumnChanged;
|
---|
| 53 |
|
---|
| 54 | private void RaiseColumnChanged(ChangeType type, long columnId, double[] values) {
|
---|
| 55 | if (ColumnChanged != null) {
|
---|
| 56 | ColumnChanged(type, columnId, values);
|
---|
| 57 | }
|
---|
| 58 | }
|
---|
| 59 |
|
---|
[726] | 60 | private List<ChartDataRowsModelColumn> columns;
|
---|
| 61 |
|
---|
[697] | 62 | public List<ChartDataRowsModelColumn> Columns {
|
---|
[726] | 63 | get { return columns; }
|
---|
[697] | 64 | }
|
---|
[726] | 65 |
|
---|
| 66 |
|
---|
| 67 |
|
---|
| 68 | public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
|
---|
| 69 |
|
---|
| 70 | XmlNode node = base.GetXmlNode(name, document, persistedObjects);
|
---|
| 71 |
|
---|
| 72 | foreach (ChartDataRowsModelColumn column in Columns){
|
---|
[727] | 73 | XmlNode columnElement = document.CreateNode(XmlNodeType.Element, "column", null);
|
---|
| 74 |
|
---|
| 75 | XmlAttribute idAttr = document.CreateAttribute("id");
|
---|
| 76 | idAttr.Value = (column.ColumnId).ToString();
|
---|
| 77 | columnElement.Attributes.Append(idAttr);
|
---|
| 78 |
|
---|
| 79 | for (int i = 0; i < column.Values.Length; i++){
|
---|
| 80 | columnElement.InnerText += column.Values[i].ToString() + ";";
|
---|
| 81 | }
|
---|
| 82 | //columnElement.InnerText = "xx";
|
---|
| 83 | node.AppendChild(columnElement);
|
---|
[726] | 84 | }
|
---|
| 85 |
|
---|
| 86 | //node.InnerText = "test1";
|
---|
| 87 | //test.Data = 11;
|
---|
| 88 | return node;
|
---|
| 89 |
|
---|
| 90 | }
|
---|
| 91 |
|
---|
| 92 |
|
---|
| 93 | /*
|
---|
| 94 | public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
|
---|
| 95 | base.Populate(node, restoredObjects);
|
---|
| 96 | //Data = bool.Parse(node.InnerText);
|
---|
| 97 | }
|
---|
| 98 | */
|
---|
[680] | 99 | }
|
---|
[685] | 100 | } |
---|