using System;
using Core.Common.Utils.Collections.Generic;
namespace Core.Common.Controls.Swf.Charting
{
///
///
///
public interface IChartView : IView
{
///
/// Selected point of the active series has been changed
///
event EventHandler SelectionPointChanged;
///
/// The visible viewport of the chart has changed either due to a zoom, pan or scroll event
///
event EventHandler ViewPortChanged;
///
/// Fires when the active state of one of the tools changes
///
event EventHandler ToolsActiveChanged;
///
/// Get or set the title of the Chart (shown above the chart)
///
string Title { get; set; }
///
/// A collection of tools
///
IEventedList Tools { get; }
///
/// Set and get the selected Point Index (of the active series)
///
int SelectedPointIndex { get; set; }
///
/// Chart used for this chartView
///
IChart Chart { get; set; }
bool AllowPanning { get; set; }
///
/// Enables zoom using mouse wheel
///
bool WheelZoom { get; set; }
ChartCoordinateService ChartCoordinateService { get; }
///
/// Sets the bottom axis to the supplied and value
///
/// Min value to set for the bottom axis
/// Max value to set for the bottom axis
void ZoomToValues(DateTime min, DateTime max);
///
/// Sets the bottom axis to the supplied and value
///
/// Min value to set for the bottom axis
/// Max value to set for the bottom axis
void ZoomToValues(double min, double max);
///
/// Gets the first tool of the right type ()
///
/// Type of tool to search for
IChartViewTool GetTool();
///
/// Disables the deleting of points by SelectPointTool (& delete key)
///
/// Enable deleting
void EnableDelete(bool enable);
///
/// Exports the chart as image
/// TODO: just make it return current chart as Image, implement dialogs externally in the same way.
///
void ExportAsImage();
}
}