public AxisPartControl <DateTime> GetPart(Range <DateTime> r) { DateTime center = new DateTime((r.Min.Ticks + r.Max.Ticks) / 2); IAxisPart <DateTime> part = storage.GetPart(r, center); if (part != null) { return(part.Control); } else { DateTimeAxisPart dnPart = new DateTimeAxisPart(r.Min, r.Max); dnPart.Control.LabelProvider = parentAxis.LabelProvider.Clone(); if (parentAxis.MayorLabelProvider != null) { dnPart.Control.MayorLabelProvider = parentAxis.MayorLabelProvider.Clone(); } dnPart.Control.TicksProvider = parentAxis.TicksProvider.Clone(); dnPart.Control.ConvertToDouble = parentAxis.ConvertToDouble; dnPart.Control.Placement = parentAxis.Placement; dnPart.Control.Range = r; storage.AddPart(dnPart); return(storage.GetPart(r, center).Control); } }
public AxisPartControl <double> GetPart(Range <double> r) { double center = (r.Min + r.Max) / 2; IAxisPart <double> part = storage.GetPart(r, center); if (part != null) { return(part.Control); } else { NumericAxisPart numPart = new NumericAxisPart(r.Min, r.Max); numPart.Control.LabelProvider = parentAxis.LabelProvider.Clone(); numPart.Control.TicksProvider = parentAxis.TicksProvider.Clone(); numPart.Control.ConvertToDouble = parentAxis.ConvertToDouble; numPart.Control.Placement = parentAxis.Placement; numPart.Control.Range = r; storage.AddPart(numPart); return(storage.GetPart(r, center).Control); } }
public void AddPart(IAxisPart <T> part) { storage.Add(part); }