/// <summary>Set up UI Elements</summary> private void SetupUI() { #region Menu m_menu_file_exit.Click += (s, a) => { Close(); }; m_menu_tools_simulate.Click += (s, a) => { ShowSimulateUI(); }; m_menu_tools_req_acct_update.Click += (s, a) => { Model.RefreshAcctStatus(); }; m_menu_tools_req_trade_history.Click += (s, a) => { Model.RefreshTradeHistory(); }; #endregion #region Timer m_timer.Interval = 1000; m_timer.Tick += UpdateUI; #endregion // Add components m_dc.Options.TabStrip.AlwaysShowTabs = true; m_dc.Add2(new AccountUI(Model)); m_dc.Add2(new AutoTradeUI(Model)); m_dc.Add2(new AlarmClockUI(Model)); m_dc.Add2(new TradesUI(Model)); m_dc.Add2(new InstrumentsUI(Model)); m_menu.Items.Add(m_dc.WindowsMenu()); // Restore the UI layout if (Settings.UI.UILayout != null) { try { // Load the layout, create charts on demand m_dc.LoadLayout(Settings.UI.UILayout, (persistence_name, type_name, udayt) => { var sym = ChartUI.ToSymbolCode(persistence_name); var instr = Model.MarketData.GetOrCreateInstrument(sym); return(new ChartUI(Model, instr).DockControl); }); } catch (Exception ex) { Debug.WriteLine("Failed to restore UI Layout: {0}".Fmt(ex.Message)); } } //else //{ // var sz = m_dc.GetDockSizes(EDockSite.Centre); // sz.Bottom = (int)(m_dc.Width * 0.33f); //} }