Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/21/09 10:07:16 (15 years ago)
Author:
gkragl
Message:

Implemented persistence mechanism for XAxisLabelProvider (#434)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Visualization/ChartDataRowsModel.cs

    r1350 r1385  
    204204        node.AppendChild(columnElement);
    205205      }
     206
     207      XmlNode labelProviderNode = document.ImportNode(labelProvider.GetLabelProviderXmlNode(), true);
     208      node.AppendChild(labelProviderNode);
     209
    206210      return node;   
    207211    }
     
    211215
    212216      foreach (XmlNode dataRow in node.ChildNodes) {
    213         XmlAttributeCollection attrs = dataRow.Attributes;
    214         XmlAttribute rowIdAttr = (XmlAttribute)attrs.GetNamedItem("label");
    215         string rowLabel = rowIdAttr.Value;
    216         DataRow row = new DataRow();
    217         row.Label = rowLabel;
    218 
    219         string[] tokens = dataRow.InnerText.Split(';');
    220         double[] data = new double[tokens.Length];
    221         for (int i = 0; i < data.Length; i++) {
    222           if (tokens[i].Length != 0) {
    223             if (
    224               double.TryParse(tokens[i], NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out data[i]) ==
    225               false) {
    226               throw new FormatException("Can't parse " + tokens[i] + " as double value.");
     217        if (dataRow.Name.Equals("LabelProvider")) {
     218          labelProvider = labelProvider.PopulateLabelProviderXmlNode(dataRow);
     219        } else {
     220          XmlAttributeCollection attrs = dataRow.Attributes;
     221          XmlAttribute rowIdAttr = (XmlAttribute)attrs.GetNamedItem("label");
     222          string rowLabel = rowIdAttr.Value;
     223          DataRow row = new DataRow();
     224          row.Label = rowLabel;
     225
     226          string[] tokens = dataRow.InnerText.Split(';');
     227          double[] data = new double[tokens.Length];
     228          for (int i = 0; i < data.Length; i++) {
     229            if (tokens[i].Length != 0) {
     230              if (
     231                double.TryParse(tokens[i], NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out data[i]) ==
     232                false) {
     233                throw new FormatException("Can't parse " + tokens[i] + " as double value.");
     234              }
    227235            }
    228236          }
    229         }
    230         row.AddValues(data);
    231 
    232         AddDataRow(row);
     237          row.AddValues(data);
     238          AddDataRow(row);
     239        }
    233240      }
    234241    }
Note: See TracChangeset for help on using the changeset viewer.