Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs @ 727

Last change on this file since 727 was 727, checked in by cbahner, 16 years ago

#320 first persistence mechanism (values)

File size: 2.8 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.IO;
4using System.Linq;
5using System.Runtime.Serialization;
6using System.Text;
7//using System.Collections.Specialized;
8using System.Xml;
9using System.Xml.Serialization;
10using HeuristicLab.Core;
11using HeuristicLab.Data;
12
13
14namespace HeuristicLab.Visualization{
15  public class ChartDataRowsModel : ChartDataModelBase, IChartDataRowsModel {
16
17    private IntData test = new IntData(1);
18   
19    public ChartDataRowsModel(){
20
21      columns = new List<ChartDataRowsModelColumn>();
22
23
24    }
25
26    public void AddDataRow(int id){
27
28      double[] vals = new double[10]{4.0, 2.2, 0.2, 4, 18.2333, 1.1, 7, 99.99, 8, 2.6};
29
30      ChartDataRowsModelColumn col = new ChartDataRowsModelColumn(id, vals);
31
32      columns.Add(col);
33    }
34
35    public void PushData(int dataRowId, double value){
36
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;
45    }
46
47    public override IView CreateView() {
48      //return new LineChart(this); when LineChart is implemented
49      return new IntDataView(test);
50    }
51
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
60    private List<ChartDataRowsModelColumn> columns;
61
62    public List<ChartDataRowsModelColumn> Columns {
63      get { return columns; }
64    }
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){
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);
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   */
99  }
100}
Note: See TracBrowser for help on using the repository browser.