Index: src/Common/DelftTools.Controls.Swf/Charting/Tools/ChartViewSeriesToolBase.cs
===================================================================
diff -u -r8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9 -r5fc71a385897af92ccb092f2f969b5709afab85a
--- src/Common/DelftTools.Controls.Swf/Charting/Tools/ChartViewSeriesToolBase.cs (.../ChartViewSeriesToolBase.cs) (revision 8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9)
+++ src/Common/DelftTools.Controls.Swf/Charting/Tools/ChartViewSeriesToolBase.cs (.../ChartViewSeriesToolBase.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a)
@@ -12,98 +12,34 @@
///
/// Base class for EditPointTool,SelectPointTool and AddPointTool
///
- public abstract class ChartViewSeriesToolBase : ToolSeries,IChartViewSeriesTool
+ public abstract class ChartViewSeriesToolBase : ToolSeries, IChartViewSeriesTool
{
- bool enabled = true;
-
- private ChartSeries series;
-
- public IChartView ChartView { get; set; }
-
- protected int selectedPointIndex = -1;
-
public event SelectionChangedEventHandler SelectionChanged;
- public bool Enabled
- {
- get { return enabled; }
- set { enabled = value; }
- }
-
- public new bool Active
- {
- get { return base.Active; }
- set
- {
- base.Active = value;
- if (ActiveChanged != null)
- {
- ActiveChanged(this, null);
- }
- }
- }
-
public event EventHandler ActiveChanged;
- protected override void SetSeries(Steema.TeeChart.Styles.Series series)
- {
- var customPoint = ((ChartSeries)Series).series as CustomPoint;
- if (customPoint != null)
- {
- customPoint.GetPointerStyle -= OnCustomSeriesGetPointerStyle;
- }
+ protected int selectedPointIndex = -1;
+ private bool enabled = true;
- base.SetSeries(series);
+ private ChartSeries series;
- customPoint = series as CustomPoint;
- if (customPoint != null)
- {
- customPoint.GetPointerStyle += OnCustomSeriesGetPointerStyle;
- }
- }
+ private Steema.TeeChart.Styles.Series previousSelectedSeries;
- protected virtual void OnCustomSeriesGetPointerStyle(CustomPoint customSeries, GetPointerStyleEventArgs e)
- {
+ private Steema.TeeChart.Styles.Series lastSelectedSeries;
- }
+ protected ChartViewSeriesToolBase(Steema.TeeChart.Chart chart) : base(chart) {}
- protected ChartViewSeriesToolBase(Steema.TeeChart.Chart chart):base(chart)
- {
- }
+ protected ChartViewSeriesToolBase(Steema.TeeChart.Styles.Series series) : base(series) {}
- protected ChartViewSeriesToolBase(Steema.TeeChart.Styles.Series series):base(series)
- {
- }
-
- protected Steema.TeeChart.Styles.Series ClickedSeries(Point p)
- {
- return ClickedSeries(p.X, p.Y);
- }
-
- protected Steema.TeeChart.Styles.Series ClickedSeries(int x, int y)
- {
- if (iSeries == null)
- {
- var seriesInRenderOrder = Chart.Series.OfType().Reverse();
-
- return seriesInRenderOrder.FirstOrDefault(s => (s.Active) && (s.Clicked(x, y) != -1));
- }
- else if (iSeries.Clicked(x, y) != -1)
- {
- return iSeries;
- }
-
- return null;
- }
-
- private Steema.TeeChart.Styles.Series previousSelectedSeries;
-
///
/// Selects a point in the chart.
///
public int SelectedPointIndex
{
- get { return selectedPointIndex; }
+ get
+ {
+ return selectedPointIndex;
+ }
protected set
{
if (selectedPointIndex != value || !ReferenceEquals(previousSelectedSeries, LastSelectedSeries))
@@ -147,31 +83,49 @@
}
}
- protected IChartSeries GetChartSeriesFromInternalSeries(Steema.TeeChart.Styles.Series internalSeries)
+ public IChartView ChartView { get; set; }
+
+ public bool Enabled
{
- if (ChartView != null && ChartView.Chart != null)
+ get
{
- var matchingSeries =
- ChartView.Chart.Series.OfType().FirstOrDefault(
- cs => ReferenceEquals(cs.series, internalSeries));
+ return enabled;
+ }
+ set
+ {
+ enabled = value;
+ }
+ }
- if (matchingSeries != null)
+ public new bool Active
+ {
+ get
+ {
+ return base.Active;
+ }
+ set
+ {
+ base.Active = value;
+ if (ActiveChanged != null)
{
- return matchingSeries;
+ ActiveChanged(this, null);
}
+ }
+ }
- matchingSeries =
- ChartView.Chart.Series.OfType().FirstOrDefault(cs => cs.Title == internalSeries.Title);
-
- if (matchingSeries != null)
- {
- return matchingSeries;
- }
+ public new IChartSeries Series
+ {
+ get
+ {
+ return series;
}
- throw new ArgumentException("Unknown TeeChart series: not related to any known ChartSeries");
+ set
+ {
+ series = (ChartSeries) value;
+ iSeries = series.series;
+ }
}
- private Steema.TeeChart.Styles.Series lastSelectedSeries;
protected Steema.TeeChart.Styles.Series LastSelectedSeries
{
get
@@ -188,16 +142,70 @@
}
}
- public new IChartSeries Series
+ protected override void SetSeries(Steema.TeeChart.Styles.Series series)
{
- get { return series; }
- set
+ var customPoint = ((ChartSeries) Series).series as CustomPoint;
+ if (customPoint != null)
{
- series = (ChartSeries) value;
- iSeries = series.series;
+ customPoint.GetPointerStyle -= OnCustomSeriesGetPointerStyle;
}
+
+ base.SetSeries(series);
+
+ customPoint = series as CustomPoint;
+ if (customPoint != null)
+ {
+ customPoint.GetPointerStyle += OnCustomSeriesGetPointerStyle;
+ }
}
+ protected virtual void OnCustomSeriesGetPointerStyle(CustomPoint customSeries, GetPointerStyleEventArgs e) {}
+
+ protected Steema.TeeChart.Styles.Series ClickedSeries(Point p)
+ {
+ return ClickedSeries(p.X, p.Y);
+ }
+
+ protected Steema.TeeChart.Styles.Series ClickedSeries(int x, int y)
+ {
+ if (iSeries == null)
+ {
+ var seriesInRenderOrder = Chart.Series.OfType().Reverse();
+
+ return seriesInRenderOrder.FirstOrDefault(s => (s.Active) && (s.Clicked(x, y) != -1));
+ }
+ else if (iSeries.Clicked(x, y) != -1)
+ {
+ return iSeries;
+ }
+
+ return null;
+ }
+
+ protected IChartSeries GetChartSeriesFromInternalSeries(Steema.TeeChart.Styles.Series internalSeries)
+ {
+ if (ChartView != null && ChartView.Chart != null)
+ {
+ var matchingSeries =
+ ChartView.Chart.Series.OfType().FirstOrDefault(
+ cs => ReferenceEquals(cs.series, internalSeries));
+
+ if (matchingSeries != null)
+ {
+ return matchingSeries;
+ }
+
+ matchingSeries =
+ ChartView.Chart.Series.OfType().FirstOrDefault(cs => cs.Title == internalSeries.Title);
+
+ if (matchingSeries != null)
+ {
+ return matchingSeries;
+ }
+ }
+ throw new ArgumentException("Unknown TeeChart series: not related to any known ChartSeries");
+ }
+
///
/// Handles mouse events for the tools and chart of Teechart. Teechart uses a special
/// mechanism to let tools cooperate via chart.CancelMouse. Therefor do not use
@@ -208,7 +216,10 @@
///
protected override void MouseEvent(MouseEventKinds kind, MouseEventArgs e, ref Cursor c)
{
- if (!Enabled) return;
+ if (!Enabled)
+ {
+ return;
+ }
switch (kind)
{
case MouseEventKinds.Up:
@@ -223,21 +234,10 @@
}
}
- protected virtual void OnMouseDown(MouseEventArgs mouseEventArgs)
- {
-
- }
+ protected virtual void OnMouseDown(MouseEventArgs mouseEventArgs) {}
- protected virtual void OnMouseMove(MouseEventArgs mouseEventArgs, ref Cursor cursor)
- {
-
- }
+ protected virtual void OnMouseMove(MouseEventArgs mouseEventArgs, ref Cursor cursor) {}
- protected virtual void OnMouseUp(MouseEventArgs mouseEventArgs)
- {
-
- }
-
-
+ protected virtual void OnMouseUp(MouseEventArgs mouseEventArgs) {}
}
}
\ No newline at end of file