public WindowStatistics(WindowStatisticsEvents eventsPort)
        {
            this.eventsPort = eventsPort;
            values          = new Queue <float>();
            pointsOfTime    = new Queue <long>();
            onDisplayUpdate = new OnDisplayUpdate();

            this.ControlBox = false;

            addNewValueToPlotDelegate = AddNewNullValueToPlot;

            timerUpdatePlot          = new Timer();
            timerUpdatePlot.Interval = 50;
            timerUpdatePlot.Tick    += timerUpdatePlot_Tick;

            stopWatch         = new Stopwatch();
            recorderStopWatch = new Stopwatch();

            InitializeComponent();
        }
        private void comboBoxValueToPlot_SelectedIndexChanged(object sender, EventArgs e)
        {
            ClearPlot();

            if (comboBoxValueToPlot.Text.Equals("Thrust"))
            {
                addNewValueToPlotDelegate = AddNewThrustValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Position Y"))
            {
                addNewValueToPlotDelegate = AddNewPositionYValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Position Deviation XZ"))
            {
                addNewValueToPlotDelegate = AddNewPositionDeviationXZValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Velocity Y"))
            {
                addNewValueToPlotDelegate = AddNewVelocityYValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Velocity XZ"))
            {
                addNewValueToPlotDelegate = AddNewVelocityXZValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Rotation Y"))
            {
                addNewValueToPlotDelegate = AddNewRotationYValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Rotation Deviation XZ"))
            {
                addNewValueToPlotDelegate = AddNewRotationDeviationXZValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Angular velocity XZ"))
            {
                addNewValueToPlotDelegate = AddNewAngularVelocityXZValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Angular velocity Y"))
            {
                addNewValueToPlotDelegate = AddNewAngularVelocityYValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("PID Value Attitude"))
            {
                addNewValueToPlotDelegate = AddNewPIDAttitudeValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("PID Value Altitude"))
            {
                addNewValueToPlotDelegate = AddNewPIDAltitudeValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("PID Value Position"))
            {
                addNewValueToPlotDelegate = AddNewPIDPositionValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Wind direction"))
            {
                addNewValueToPlotDelegate = AddNewWindDirectionValueToPlot;
            }
            else if (comboBoxValueToPlot.Text.Equals("Wind intensity"))
            {
                addNewValueToPlotDelegate = AddNewWindIntensityValueToPlot;
            }
            else
            {
                throw new NotImplementedException();
            }
        }