IDrawingTool.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using MuchInfo.Chart.Data;
  2. using MuchInfo.Chart.Data.EnumTypes;
  3. using MuchInfo.Chart.Infrastructure.Utilities;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Windows;
  7. using System.Windows.Input;
  8. using System.Windows.Media;
  9. namespace MuchInfo.Chart.WPF.Primitives.Interfaces
  10. {
  11. public interface IDrawingTool : IXmlSavable
  12. {
  13. Chart Chart { get; set; }
  14. Point this[int aIndex] { get; set; }
  15. IDrawingToolSpec OwnerSpec
  16. {
  17. get;
  18. set;
  19. }
  20. bool PlotOnAllSymbols
  21. {
  22. get;
  23. set;
  24. }
  25. DrawingToolType ToolType();
  26. void InitPoint(DateTime aDate, float aVal, ScaleLayer aScale, Rect aRect, Point p);
  27. void MoveSecondPoint(DateTime aDate, float aVal, Point p);
  28. void InitDone(MouseEventArgs e);
  29. IDrawingTool Clone();
  30. List<FrameworkElement> GetPlots(Chart owner, ScaleLayer aScale, Rect aRect, bool drawHandles);
  31. bool IsTooSmallToShow(Chart owner, ScaleLayer aScale);
  32. bool IsTooSmallToShow(Chart owner, ScaleLayer aScale, DrawingToolInfo info);
  33. void ShowEditor(MouseEventArgs mouseargs);
  34. void PrepareToMove();
  35. void MovePlot(Point initialPosition, Point currentPosition);
  36. void MovePlot(Point initialPosition, Point currentPosition, Point maxPoint);
  37. string MenuDescription();
  38. string Description();
  39. string Abbreviation();
  40. List<ControlPair> GetPropertyEditors();
  41. bool CanPlotOnAllSymbols();
  42. void PropertyChanged();
  43. void Delete();
  44. string GetXmlForDefault();
  45. ImageSource Icon();
  46. void GetDrawingInfo(DrawingToolInfo info);
  47. void FromInfo(DrawingToolInfo info);
  48. double GetChartFontSize();
  49. }
  50. }