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 IsPanning { get; } /// /// Gets a value representing whether the chart can be zoomed by rectangle with the left mouse button. /// bool IsRectangleZooming { get; } /// /// Gets or sets the data to show in the . /// /// The returned collection is a copy of the previously set data. ICollection Data { get; set; } /// /// Sets the visibility of a series in this . /// /// The to set the visibility for. /// A boolean value representing the new visibility. void SetVisibility(ChartData serie, bool visibility); /// /// Sets the position of the amongst the other data of the . /// /// The to change the position for. /// The new position. 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(); } }