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;
 }
Пример #2
0
        /// <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;
        }
Пример #3
0
 public void OnPropertyChanged(LeanEngineWinFormModel model)
 {
     StatisticsToolStripStatusLabel.Text = model.StatusStripStatisticsText;
 }