Free cookie consent management tool by TermsFeed Policy Generator

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

Implemented persistence mechanism for XAxisLabelProvider (#434)

Location:
trunk/sources/HeuristicLab.Visualization/LabelProvider
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Visualization/LabelProvider/ContinuousLabelProvider.cs

    r1194 r1385  
    11using System.Globalization;
     2using System.Xml;
    23
    34namespace HeuristicLab.Visualization.LabelProvider {
     
    1415      return value.ToString(format, CultureInfo.InvariantCulture);
    1516    }
     17
     18    public XmlNode GetLabelProviderXmlNode()
     19    {
     20      XmlDocument Xdoc = new XmlDocument();
     21
     22      XmlNode lblProvInfo = Xdoc.CreateNode(XmlNodeType.Element, "LabelProvider", null);
     23      lblProvInfo.InnerText = "ContinuousLabelProvider";
     24
     25      XmlAttribute idFormat = Xdoc.CreateAttribute("format");
     26      idFormat.Value = this.format;
     27
     28      lblProvInfo.Attributes.Append(idFormat);
     29
     30      return lblProvInfo;
     31    }
     32
     33    public ILabelProvider PopulateLabelProviderXmlNode(XmlNode node) {
     34      var labelProvider = new ContinuousLabelProvider(node.SelectSingleNode("//LabelProvider").Attributes[0].Value);
     35      return labelProvider;
     36    }
    1637  }
    1738}
  • trunk/sources/HeuristicLab.Visualization/LabelProvider/DiscreteLabelProvider.cs

    r1194 r1385  
    11using System;
     2using System.Xml;
    23
    34namespace HeuristicLab.Visualization.LabelProvider {
     
    1213        return string.Empty;
    1314    }
     15
     16    public XmlNode GetLabelProviderXmlNode()
     17    {
     18      XmlDocument Xdoc = new XmlDocument();
     19
     20      XmlNode lblProvInfo = Xdoc.CreateNode(XmlNodeType.Element, "LabelProvider", null);
     21      lblProvInfo.InnerText = "DiscreteLabelProvider";
     22
     23      return lblProvInfo;
     24    }
     25
     26    public ILabelProvider PopulateLabelProviderXmlNode(XmlNode node) {
     27      var labelProvider = new DiscreteLabelProvider();
     28      return labelProvider;
     29    }
    1430  }
    1531}
  • trunk/sources/HeuristicLab.Visualization/LabelProvider/ILabelProvider.cs

    r1194 r1385  
     1using System.Xml;
     2
    13namespace HeuristicLab.Visualization.LabelProvider {
    24  public interface ILabelProvider {
    35    string GetLabel(double value);
     6    XmlNode GetLabelProviderXmlNode();
     7    ILabelProvider PopulateLabelProviderXmlNode(XmlNode node);
    48  }
    59}
  • trunk/sources/HeuristicLab.Visualization/LabelProvider/StringLabelProvider.cs

    r1194 r1385  
    22using System.Collections.Generic;
    33using HeuristicLab.Visualization.LabelProvider;
     4using System.Xml;
    45
    56namespace HeuristicLab.Visualization.LabelProvider {
     
    2627        return string.Empty;
    2728    }
     29
     30    public XmlNode GetLabelProviderXmlNode() {
     31      XmlDocument Xdoc = new XmlDocument();
     32
     33      XmlNode lblProvInfo = Xdoc.CreateNode(XmlNodeType.Element, "LabelProvider", null);
     34      lblProvInfo.InnerText = "StringLabelProvider";
     35
     36      foreach (KeyValuePair<int, string> pair in labels)
     37      {
     38        XmlNode strLbl = Xdoc.CreateNode(XmlNodeType.Element, "String", null);
     39
     40        XmlAttribute idStrLbl = Xdoc.CreateAttribute("id");
     41        idStrLbl.Value = pair.Key.ToString();
     42        strLbl.Attributes.Append(idStrLbl);
     43
     44        strLbl.InnerText = pair.Value;
     45        lblProvInfo.AppendChild(strLbl);
     46      }
     47      return lblProvInfo;
     48    }
     49
     50    public ILabelProvider PopulateLabelProviderXmlNode(XmlNode node) {
     51      var labelProvider = new StringLabelProvider();
     52
     53      foreach (XmlNode strLbl in node.SelectNodes("//String"))
     54      {
     55        labelProvider.SetLabel(int.Parse(strLbl.Attributes[0].Value), strLbl.InnerText);
     56      }
     57      return labelProvider;
     58    }
    2859  }
    2960}
Note: See TracChangeset for help on using the changeset viewer.