public LeanEngineWinFormPresenter(ILeanEngineWinFormView view, LeanEngineWinFormModel model, EventMessagingHandler messageHandler) { _view = view; _model = model; view.ExitApplication += ExitApplication; view.TickerTick += TimerOnTick; view.ConsoleOnKeyUp += ConsoleOnKeyUp; messageHandler.DebugEvent += HandleDebugPacket; messageHandler.LogEvent += HandleLogPacket; messageHandler.RuntimeErrorEvent += HandleRuntimeErrorPacket; messageHandler.HandledErrorEvent += HandleHandledErrorPacket; messageHandler.BacktestResultEvent += HandleBacktestResultPacket; }
/// <summary> /// Launch the Lean Engine Primary Form: /// </summary> public LeanEngineWinForm() { Config.Set("messaging-handler", "QuantConnect.Messaging.EventMessagingHandler"); var systemHandler = LeanEngineSystemHandlers.FromConfiguration(Composer.Instance); var messageHandler = (EventMessagingHandler)systemHandler.Notify; var model = new LeanEngineWinFormModel(); _presenter = new LeanEngineWinFormPresenter(this, model, messageHandler); InitializeComponent(); //Create Form: Text = "QuantConnect Lean Algorithmic Trading Engine: v" + Globals.Version; Size = new Size(1024,768); MinimumSize = new Size(1024, 768); CenterToScreen(); WindowState = FormWindowState.Maximized; Icon = new Icon("../../../lean.ico"); //Setup Console Log Area: TextBoxLog.Parent = LogGroupBox; Log.LogHandler = new RichTextBoxLogHandler(TextBoxLog); TextBoxLog.KeyUp += ConsoleOnKeyUp; ResumeLayout(false); //Form Events: Closed += ExitApplication; //Trigger a timer event. _timer = new Timer { Interval = 1000 }; _timer.Tick += TickerTick; Browser = new GeckoWebBrowser { Dock = DockStyle.Fill, Name = "browser" }; toolStripContainer1.ContentPanel.Controls.Add(Browser); //Setup Container Events: Load += OnLoad; }
public void OnPropertyChanged(LeanEngineWinFormModel model) { StatisticsToolStripStatusLabel.Text = model.StatusStripStatisticsText; }