Guest User

Untitled

a guest
Jul 22nd, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. package com.convia.app.ui.controls
  2. {
  3. import com.greensock.TweenNano;
  4. import flash.display.Graphics;
  5. import flash.geom.Rectangle;
  6. import mx.charts.chartClasses.ChartElement;
  7. import mx.graphics.IStroke;
  8.  
  9. import mx.charts.chartClasses.CartesianChart;
  10. import mx.charts.chartClasses.ChartElement;
  11. import mx.charts.chartClasses.ChartState;
  12. import mx.charts.chartClasses.GraphicsUtilities;
  13. import mx.charts.chartClasses.IAxisRenderer;
  14.  
  15. /**
  16. * ...
  17. * @author Ivan Dyachenko
  18. */
  19. public class GridYellowLine extends ChartElement
  20. {
  21.  
  22. [Bindable] public var min:Number;
  23. [Bindable] public var max:Number;
  24. [Bindable] public var warning:Number;
  25.  
  26. private var animate:Boolean = false;
  27. private var baselineY:Number = 0;
  28. private var baselineHeight:Number = 10;
  29.  
  30. public var warningLine : WarningLine;
  31.  
  32. private var _baseline:Number = 0;
  33. public function set base(value:Number):void
  34. {
  35. trace(value, _baseline);
  36. if (value && _baseline != value)
  37. {
  38. _baseline = value;
  39. updateBaseLine();
  40. animateLine();
  41. }
  42. }
  43.  
  44. public function GridYellowLine()
  45. {
  46. super();
  47. warningLine = new WarningLine;
  48. addChild(warningLine);
  49. }
  50.  
  51. private function updateBaseLine():void
  52. {
  53. min = min || 0;
  54. max = max || 100;
  55. warning = warning || 10;
  56.  
  57. baselineY = height * (1 - (_baseline - min) / (max - min));
  58. baselineHeight = height / 100 * warning;
  59. }
  60.  
  61. private function animateLine():void
  62. {
  63. animate = true;
  64. warningLine.width = width;
  65.  
  66. TweenNano.to(warningLine, 1, { y:baselineY - baselineHeight / 2, height:baselineHeight, onComplete: updateBaseLineEnd } );
  67. }
  68.  
  69. public function updateBaseLineEnd():void
  70. {
  71. animate = false;
  72. }
  73.  
  74. override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
  75. {
  76. super.updateDisplayList(unscaledWidth, unscaledHeight);
  77.  
  78. if (!chart|| animate ||
  79. chart.chartState == ChartState.PREPARING_TO_HIDE_DATA ||
  80. chart.chartState == ChartState.HIDING_DATA)
  81. {
  82. return;
  83. }
  84.  
  85. updateBaseLine();
  86.  
  87. warningLine.y = baselineY - baselineHeight / 2;
  88. warningLine.width = unscaledWidth;
  89. warningLine.height = baselineHeight;
  90. }
  91.  
  92. }
  93.  
  94. }
Add Comment
Please, Sign In to add comment