Esempio n. 1
0
        private static TestDrawingWrapper StartDataGeneration(IDataProviderService dataProviderService, int pointsNumber, int linesNumber)
        {
            var applicationController = GraphControlFactory.CreateController();
            var gridView = TestGridView.Create(applicationController, dataProviderService);
            var size = new Size(800, 600);
            TestDrawingWrapper drawing = null;
            int receivedPoints = 0;
            using (drawing = new TestDrawingWrapper())
            {
                var margin = new Margin(100, 5, 5, 60);
                var options = new GridDrawOptions(size, true, true, null, new GridState());

                var scaleService = applicationController.GetInstance<IScaleService>();
                applicationController.GetInstance<IDataService>().DataUpdated += (sender, e) =>
                {
                    scaleService.UpdateScale(options);
                    drawing.Reset();
                    gridView.Draw(drawing, options, margin);
                    receivedPoints += e.Items.Count;
                };

                dataProviderService.Run();

                while (receivedPoints < pointsNumber)
                {
                    Thread.Sleep(0);
                }
            }
            dataProviderService.Dispose();
            return drawing;
        }