Start() public method

Starts the app, asynchronously.
public Start ( ) : Task
return Task
Example #1
0
        /// <summary>
        /// Starts a new ConsoleApp and waits for it to finish
        /// </summary>
        /// <param name="init">the function that initializes the app</param>
        public static void Show(Action <ConsoleApp> init)
        {
            var app = new ConsoleApp();

            app.QueueAction(() => init(app));
            app.Start().Wait();
        }
Example #2
0
        /// <summary>
        /// Adds the given control to a ConsoleApp, fills the space, and blocks until the app terminates
        /// </summary>
        /// <param name="control">the control to show</param>
        public static void Show(ConsoleControl control)
        {
            var app = new ConsoleApp();

            app.LayoutRoot.Add(control).Fill();
            app.Start().Wait();
        }
Example #3
0
        /// <summary>
        /// Starts a new ConsoleApp and waits for it to finish
        /// </summary>
        /// <param name="init">the function that initializes the app</param>
        public static void Show(Action <ConsoleApp> init)
        {
            var app = new ConsoleApp();

            app.InvokeNextCycle(() => init(app));
            app.Start().Wait();
        }
Example #4
0
        public void Basic()
        {
            var testCli = new CliUnitTestConsole(80,1);
            ConsoleProvider.Current = testCli;
            var app = new ConsoleApp(0, 0, 80, 1);
            app.LayoutRoot.Add(new TextBox()).Fill();
            var task = app.Start();

            testCli.Input.Enqueue(new ConsoleKeyInfo('a', ConsoleKey.A, false, false, false));

            string result = null;

            app.Stopping.SubscribeForLifetime(() =>
            {
                result = testCli.Buffer.ToString();
            }, app.LifetimeManager);

            testCli.Input.Enqueue(new ConsoleKeyInfo('*', ConsoleKey.Escape, false, false, false));
            task.Wait();

            Assert.AreEqual(80, result.Length);
            Console.WriteLine(result);
        }
        public static void Run()
        {
            var app = new ConsoleApp(0, 0, 75, 22);
            var chart = new CpuAndMemoryChart();
            var list = new Grid() { Size = new Size(30, 5) };

            var source = new MemoryDataSource();
            list.DataSource = source;

            Action syncChartToListAction = () =>
            {
                source.Items.Clear();
                if (chart.ViewModel.FocusedDataSeries != null && chart.ViewModel.FocusedDataPointIndex >= 0 && chart.ViewModel.FocusedDataPointIndex < chart.ViewModel.FocusedDataSeries.DataPoints.Count && chart.ViewModel.FocusedDataSeries.DataPoints.Count > 0)
                {
                    source.Items.Add(new { Value = ContextAssistSearchResult.FromString(chart.ViewModel.FocusedDataSeries.DataPoints[chart.ViewModel.FocusedDataPointIndex].Y + "") });
                }
            };

            chart.ViewModel.FocusedDataPointChanged += syncChartToListAction;
            chart.ViewModel.FocusedSeriesChanged +=  syncChartToListAction;
            syncChartToListAction();

            app.LayoutRoot.Controls.Add(chart);
            app.LayoutRoot.Controls.Add(list);
            app.Start();
        }