public StarterConfigView(Execute execute, StarterConfig vm) { log = Factory.SysLog.GetLogger(typeof(StarterConfig)); trace = log.IsTraceEnabled; this.vm = vm; this.execute = execute; InitializeComponent(); }
public StarterConfigView(Execute execute, StarterConfig vm) { log = Factory.SysLog.GetLogger(typeof(StarterConfig)); this.vm = vm; this.execute = execute; InitializeComponent(); execute.OnUIThreadLoop(ProcessMessages); }
public void WaitForEngine(StarterConfig config) { while (!config.IsEngineLoaded) { Thread.Sleep(1); Application.DoEvents(); } }
private StarterConfig CreateSimulateConfig() { var config = new StarterConfig("test"); //config.ServiceConfig = "WarehouseTest.config"; //config.ServicePort = servicePort; //config.ProviderAssembly = "TickZoomCombinedMock"; WaitForEngine(config); return(config); }
public static void Pause(this StarterConfig config, int seconds) { long end = Factory.TickCount + (seconds * 1000); long current; while ((current = Factory.TickCount) < end) { Application.DoEvents(); config.Catch(); Thread.Sleep(1); } }
public static void WaitComplete(this StarterConfig config, int seconds, Func <bool> onCompleteCallback) { long end = Factory.TickCount + (seconds * 1000); while (Factory.TickCount < end) { config.Catch(); if (onCompleteCallback != null && onCompleteCallback()) { return; } Thread.Sleep(1); } }
static void Main() { try { DebugWriter d = new DebugWriter(); System.Console.SetOut(d); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var vm = new StarterConfig(); var execute = Execute.Create(); var form = new StarterConfigView(execute, vm); AutoModelBinder.Bind(vm, form, execute); Application.Idle += execute.MessageLoop; Application.Run(form); } catch (Exception ex) { Console.WriteLine(ex.GetType() + ": " + ex.Message + Environment.NewLine + ex.StackTrace); System.Diagnostics.Debug.WriteLine(ex.GetType() + ": " + ex.Message + Environment.NewLine + ex.StackTrace); } }
private void StartGUI(StarterConfig config, out StarterConfigView outForm) { WaitForEngine(config); var isRunning = false; StarterConfigView form = null; guiThread = new Thread(() => { Thread.CurrentThread.Name = "GUIThread"; execute = Execute.Create(); form = new StarterConfigView(execute, config); AutoModelBinder.Bind(config, form, execute); Application.Idle += execute.MessageLoop; form.Visible = false; isRunning = true; Application.Run(); }); guiThread.Start(); config.WaitComplete(30, () => { return(isRunning); }); outForm = form; }
public void TestGUIIteration() { var appData = Factory.Settings["PriceDataFolder"]; File.Delete(appData + @"\ServerCache\IBM.tck"); var config = new StarterConfig(); StarterConfigView form = null; StartGUI(config, out form); try { config.WaitComplete(2); config.SymbolList = "IBM"; StrategyBaseTest.CleanupFiles(config.SymbolList, null); config.DefaultPeriod = 10; config.DefaultBarUnit = BarUnit.Second.ToString(); config.ModelLoader = "Example: Breakout Reversal"; config.StarterName = "Realtime Operation (Demo or Live)"; config.Start(); config.WaitComplete(30, () => { return(form.PortfolioDocs.Count > 0); }); Assert.Greater(form.PortfolioDocs.Count, 0); var chart = form.PortfolioDocs[0].ChartControl; config.WaitComplete(30, () => { return(chart.IsDrawn); }); var pane = chart.DataGraph.MasterPane.PaneList[0]; Assert.IsNotNull(pane.CurveList); config.WaitComplete(30, () => { return(pane.CurveList.Count > 0); }); Assert.Greater(pane.CurveList.Count, 0); var chartBars = (OHLCBarItem)pane.CurveList[0]; config.WaitComplete(60, () => { return(chartBars.NPts >= 3); }); Assert.GreaterOrEqual(chartBars.NPts, 3); config.Stop(); config.WaitComplete(30, () => { return(!config.CommandWorker.IsBusy); }); Assert.IsFalse(config.CommandWorker.IsBusy, "ProcessWorker.Busy"); } catch (Exception ex) { log.Error("Test failed with error: " + ex.Message, ex); Environment.Exit(1); } finally { execute.Exit(); guiThread.Join(); } }
public static void WaitComplete(this StarterConfig config, int seconds) { config.WaitComplete(seconds, null); }