Free cookie consent management tool by TermsFeed Policy Generator

Changeset 1988


Ignore:
Timestamp:
06/01/09 12:34:56 (16 years ago)
Author:
cbahner
Message:

#639 added color and y axis assignment to persistance

Location:
trunk/sources/HeuristicLab.Visualization/3.2
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Visualization/3.2/AvgAggregator.cs

    r1607 r1988  
    11using System;
    22using System.Collections.Generic;
     3using System.Xml;
    34
    45namespace HeuristicLab.Visualization {
     
    147148    }
    148149
     150    public override XmlNode ToXml(IDataRow row, XmlDocument document)
     151    {
     152      throw new System.NotImplementedException();
     153    }
     154
     155    public override IDataRow FromXml(XmlNode xmlNode)
     156    {
     157      throw new System.NotImplementedException();
     158    }
     159
    149160    #endregion
    150161  }
  • trunk/sources/HeuristicLab.Visualization/3.2/AvgLineAggregator.cs

    r1818 r1988  
    11using System;
    22using System.Collections.Generic;
     3using System.Xml;
    34
    45namespace HeuristicLab.Visualization {
     
    158159    }
    159160
     161    public override XmlNode ToXml(IDataRow row, XmlDocument document)
     162    {
     163      throw new System.NotImplementedException();
     164    }
     165
     166    public override IDataRow FromXml(XmlNode xmlNode)
     167    {
     168      throw new System.NotImplementedException();
     169    }
     170
    160171    #endregion
    161172  }
  • trunk/sources/HeuristicLab.Visualization/3.2/ChartDataRowsModel.cs

    r1986 r1988  
    11using System;
    22using System.Collections.Generic;
     3using System.Drawing;
    34using System.Globalization;
    45using System.Xml;
     
    1617    private ViewSettings viewSettings = new ViewSettings();
    1718    private readonly XAxisDescriptor xAxisDescriptor = new XAxisDescriptor();
    18     private readonly YAxisDescriptor defaultYAxisDescriptor = new YAxisDescriptor();
     19    private YAxisDescriptor defaultYAxisDescriptor = new YAxisDescriptor();
    1920    private readonly List<IDataRow> rows = new List<IDataRow>();
    2021
     
    122123    public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
    123124      XmlNode node = base.GetXmlNode(name, document, persistedObjects);
    124 
     125     
     126      List<YAxisDescriptor> yAxis = new List<YAxisDescriptor>();
     127      yAxis.Add(defaultYAxisDescriptor);
    125128      foreach (IDataRow row in rows) {
    126         XmlNode columnElement = document.CreateNode(XmlNodeType.Element, "row", null);
    127 
    128         XmlAttribute idAttr = document.CreateAttribute("label");
    129         idAttr.Value = row.RowSettings.Label;
    130         columnElement.Attributes.Append(idAttr);
    131 
    132         StringBuilder builder = new StringBuilder();
    133 
    134         for (int i = 0; i < row.Count; i++) {
    135           if (i == 0) {
    136             builder.Append(row[i].ToString(CultureInfo.InvariantCulture.NumberFormat));
    137             //columnElement.InnerText += row[i].ToString(CultureInfo.InvariantCulture.NumberFormat);
    138           } else {
    139             builder.Append(";" + row[i].ToString(CultureInfo.InvariantCulture.NumberFormat));
    140             //columnElement.InnerText += ";" + row[i].ToString(CultureInfo.InvariantCulture.NumberFormat);
    141           }
    142         }
    143         columnElement.InnerText += builder.ToString();
    144         node.AppendChild(columnElement);
     129        XmlNode rowElement = row.ToXml(row, document);
     130       
     131        if (!yAxis.Contains(row.YAxis)) {
     132          yAxis.Add(row.YAxis);
     133        }
     134       
     135        node.AppendChild(rowElement);
     136      }
     137
     138      foreach (YAxisDescriptor axis in yAxis) {
     139        XmlNode yAxisElement = document.CreateNode(XmlNodeType.Element, "yAxis", null);
     140
     141        XmlAttribute attrLabel = document.CreateAttribute("label");
     142        attrLabel.Value = axis.Label;
     143        yAxisElement.Attributes.Append(attrLabel);
     144
     145        if (axis == defaultYAxisDescriptor) {
     146          XmlAttribute attrDefault = document.CreateAttribute("default");
     147          attrDefault.Value = "true";
     148          yAxisElement.Attributes.Append(attrDefault);
     149        }
     150        node.AppendChild(yAxisElement);
     151       
    145152      }
    146153
     
    148155      node.AppendChild(labelProviderNode);
    149156
    150       return node;   
     157      return node;
    151158    }
    152159
    153160    public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
    154161      base.Populate(node, restoredObjects);
     162
     163      List<YAxisDescriptor> yAxis = new List<YAxisDescriptor>();
     164      foreach (XmlNode dataRow in node.ChildNodes)
     165      {
     166        if (dataRow.Name.Equals("yAxis"))
     167        {
     168          XmlAttributeCollection attrs = dataRow.Attributes;
     169
     170          XmlAttribute attrYAxisLabel = (XmlAttribute)attrs.GetNamedItem("label");
     171          string axisLabel = attrYAxisLabel.Value;
     172          YAxisDescriptor axis = new YAxisDescriptor();
     173          axis.Label = axisLabel;
     174          yAxis.Add(axis);
     175
     176          XmlAttribute attrDefault = (XmlAttribute)attrs.GetNamedItem("default");
     177          if (attrDefault != null) {
     178            defaultYAxisDescriptor = axis;
     179          }
     180        }
     181      }
    155182
    156183      foreach (XmlNode dataRow in node.ChildNodes) {
    157184        if (dataRow.Name.Equals("LabelProvider")) {
    158185          XAxis.LabelProvider = XAxis.LabelProvider.PopulateLabelProviderXmlNode(dataRow);
    159         } else {
     186        } else if (dataRow.Name.Equals("row")) {
    160187          XmlAttributeCollection attrs = dataRow.Attributes;
    161188          XmlAttribute rowIdAttr = (XmlAttribute)attrs.GetNamedItem("label");
    162189          string rowLabel = rowIdAttr.Value;
     190          string rowColor = attrs.GetNamedItem("color").Value;
     191
    163192          DataRow row = new DataRow();
    164193          row.RowSettings.Label = rowLabel;
     194          row.RowSettings.Color = Color.FromName(rowColor);
     195
     196          string yAxisLabel = attrs.GetNamedItem("yAxis").Value;
     197          foreach (YAxisDescriptor axis in yAxis) {
     198            if (axis.Label.Equals(yAxisLabel)) {
     199              row.YAxis = axis;
     200            }
     201          }
    165202
    166203          string[] tokens = dataRow.InnerText.Split(';');
  • trunk/sources/HeuristicLab.Visualization/3.2/DataRow.cs

    r1984 r1988  
    22using System.Drawing;
    33using System.Collections.Generic;
     4using System.Globalization;
     5using System.Text;
     6using System.Xml;
    47
    58namespace HeuristicLab.Visualization {
     
    174177    }
    175178
     179    public override XmlNode ToXml(IDataRow row, XmlDocument document)
     180    {
     181      XmlNode columnElement = document.CreateNode(XmlNodeType.Element, "row", null);
     182
     183      XmlAttribute idAttr = document.CreateAttribute("label");
     184      idAttr.Value = row.RowSettings.Label;
     185      columnElement.Attributes.Append(idAttr);
     186
     187      XmlAttribute attrColor = document.CreateAttribute("color");
     188      attrColor.Value = row.RowSettings.Color.Name;
     189      columnElement.Attributes.Append(attrColor);
     190
     191      XmlAttribute attrYAxis = document.CreateAttribute("yAxis");
     192      attrYAxis.Value = row.YAxis.Label;
     193      columnElement.Attributes.Append(attrYAxis);
     194
     195      StringBuilder builder = new StringBuilder();
     196
     197      for (int i = 0; i < row.Count; i++)
     198      {
     199        if (i == 0)
     200        {
     201          builder.Append(row[i].ToString(CultureInfo.InvariantCulture.NumberFormat));
     202          //columnElement.InnerText += row[i].ToString(CultureInfo.InvariantCulture.NumberFormat);
     203        }
     204        else
     205        {
     206          builder.Append(";" + row[i].ToString(CultureInfo.InvariantCulture.NumberFormat));
     207          //columnElement.InnerText += ";" + row[i].ToString(CultureInfo.InvariantCulture.NumberFormat);
     208        }
     209      }
     210      columnElement.InnerText += builder.ToString();
     211      return columnElement;
     212    }
     213
     214    public override IDataRow FromXml(XmlNode xmlNode)
     215    {
     216      throw new System.NotImplementedException();
     217    }
     218
    176219    private void UpdateMinMaxValue(double newValue, int oldValueIndex) {
    177220      if (minValue != dataRow[oldValueIndex] && maxValue != dataRow[oldValueIndex])
  • trunk/sources/HeuristicLab.Visualization/3.2/DataRowBase.cs

    r1976 r1988  
     1using System.Xml;
    12using HeuristicLab.Visualization.Options;
    23
     
    128129    public abstract double MaxValue { get; }
    129130
     131    public abstract XmlNode ToXml(IDataRow row, XmlDocument document);
     132    public abstract IDataRow FromXml(XmlNode xmlNode);
     133   
     134
    130135    public event ValuesChangedHandler ValuesChanged;
    131136
  • trunk/sources/HeuristicLab.Visualization/3.2/FloatingAvgAggregator.cs

    r1961 r1988  
    11using System;
    22using System.Collections.Generic;
     3using System.Xml;
    34
    45namespace HeuristicLab.Visualization {
     
    181182    }
    182183
     184    public override XmlNode ToXml(IDataRow row, XmlDocument document)
     185    {
     186      throw new System.NotImplementedException();
     187    }
     188
     189    public override IDataRow FromXml(XmlNode xmlNode)
     190    {
     191      throw new System.NotImplementedException();
     192    }
     193
    183194    #endregion
    184195  }
  • trunk/sources/HeuristicLab.Visualization/3.2/IDataRow.cs

    r1976 r1988  
     1using System.Xml;
    12using HeuristicLab.Visualization.Options;
    23
     
    3536    double MaxValue { get; }
    3637
     38    XmlNode ToXml(IDataRow row, XmlDocument document);
     39    IDataRow FromXml(XmlNode xmlNode);
     40
    3741    event ValuesChangedHandler ValuesChanged;
    3842    event ValueChangedHandler ValueChanged;
  • trunk/sources/HeuristicLab.Visualization/3.2/MaxAggregator.cs

    r1607 r1988  
    11using System;
    22using System.Collections.Generic;
     3using System.Xml;
    34
    45namespace HeuristicLab.Visualization {
     
    115116    }
    116117
     118    public override XmlNode ToXml(IDataRow row, XmlDocument document)
     119    {
     120      throw new System.NotImplementedException();
     121    }
     122
     123    public override IDataRow FromXml(XmlNode xmlNode)
     124    {
     125      throw new System.NotImplementedException();
     126    }
     127
    117128    #endregion
    118129  }
  • trunk/sources/HeuristicLab.Visualization/3.2/MinAggregator.cs

    r1530 r1988  
    11using System;
    22using System.Collections.Generic;
     3using System.Xml;
    34
    45namespace HeuristicLab.Visualization {
     
    116117    }
    117118
     119    public override XmlNode ToXml(IDataRow row, XmlDocument document)
     120    {
     121      throw new System.NotImplementedException();
     122    }
     123
     124    public override IDataRow FromXml(XmlNode xmlNode)
     125    {
     126      throw new System.NotImplementedException();
     127    }
     128
    118129    #endregion
    119130  }
Note: See TracChangeset for help on using the changeset viewer.