using System;
using System.Xml.Linq;
namespace Novacode
{
///
/// Axis base class
///
public abstract class Axis
{
///
/// ID of this Axis
///
public String Id
{
get
{
return Xml.Element(XName.Get("axId", DocX.c.NamespaceName)).Attribute(XName.Get("val")).Value;
}
}
///
/// Return true if this axis is visible
///
public Boolean IsVisible
{
get
{
return Xml.Element(XName.Get("delete", DocX.c.NamespaceName)).Attribute(XName.Get("val")).Value == "0";
}
set
{
if (value)
Xml.Element(XName.Get("delete", DocX.c.NamespaceName)).Attribute(XName.Get("val")).Value = "0";
else
Xml.Element(XName.Get("delete", DocX.c.NamespaceName)).Attribute(XName.Get("val")).Value = "1";
}
}
///
/// Axis xml element
///
internal XElement Xml { get; set; }
internal Axis(XElement xml)
{
Xml = xml;
}
public Axis(String id)
{ }
}
///
/// Represents Category Axes
///
public class CategoryAxis : Axis
{
internal CategoryAxis(XElement xml)
: base(xml)
{ }
public CategoryAxis(String id)
: base(id)
{
Xml = XElement.Parse(String.Format(
@"
", id));
}
}
///
/// Represents Values Axes
///
public class ValueAxis : Axis
{
internal ValueAxis(XElement xml)
: base(xml)
{ }
public ValueAxis(String id)
: base(id)
{
Xml = XElement.Parse(String.Format(
@"
", id));
}
}
}