public void Construct(Parameters parameters) { m_parameters = parameters; m_realTimeState = new ChartState(m_parameters, m_realTimeQuotes); m_historyState = new ChartState(m_parameters, m_historyQuotes); m_currentState = m_realTimeState; m_settings = ChartSettingsManager.GetSettings(parameters.Symbol); m_realTimeQuotes.Interval = m_settings.Duration; m_historyQuotes.Interval = m_settings.Duration; m_parameters.SetHeight(m_settings.Height); m_spreads.Height = (int)(m_settings.Height - cTopOffset - cBottomOffset); m_timer.Interval = m_settings.UpdateInterval; m_proxy = new DataFeedProxy(parameters.Symbol); m_proxy.Tick += OnTick; if (m_proxy.IsInitialized) { m_help.Visible = false; } else { m_spreads.Visible = false; } }
private void Destroy() { DataFeedProxy proxy = m_proxy; m_proxy = null; if (null != proxy) { proxy.Tick -= OnTick; proxy.Dispose(); } }