using System; using System.Collections.Generic; using Core.Common.Base; using Core.Components.Charting.Data; namespace Core.Components.Charting { public interface IChart : IObservable { /// /// Gets a value representing whether the chart can be panned with the left mouse button. /// bool IsPanningEnabled { get; } /// /// Gets a value representing whether the chart can be zoomed by rectangle with the left mouse button. /// bool IsRectangleZoomingEnabled { get; } /// /// Gets the data to show in the . /// /// The returned collection is a copy of the previously set data. ICollection Data { get; } /// /// Sets the position of the amongst the other data of the . /// /// The to change the position for. /// The new position. /// Thrown when is null. /// Thrown when is out of range. void SetPosition(ChartData data, int position); /// /// Toggles panning of the . Panning is invoked by clicking the left mouse-button. /// void TogglePanning(); /// /// Toggles rectangle zooming of the . Rectangle zooming is invoked by clicking the left mouse-button. /// void ToggleRectangleZooming(); /// /// Zooms to a level so that everything is in view. /// void ZoomToAll(); } }