コード例 #1
0
        protected override void OnPlotterAttached()
        {
            littlePlotter.PerformLoad();

            // leaving only viewport
            littlePlotter.Children.Clear();
            littlePlotter.Wait(DispatcherPriority.Background);

            if (map.Plotter == null)
            {
                littlePlotter.Children.Add(map);
            }
            littlePlotter.Viewport.Visible = new Rect(-180, -90, 360, 180);
            littlePlotter.IsHitTestVisible = false;

            SetPlotterBinding(Control.WidthProperty);
            SetPlotterBinding(Control.HeightProperty);

            Content = littlePlotter;

            Plotter2D.PreviewMouseMove  += Plotter2D_PreviewMouseMove;
            Plotter2D.PreviewMouseWheel += Plotter2D_PreviewMouseWheel;
            Plotter2D.MouseLeave        += Plotter2D_MouseLeave;
            Plotter2D.LostFocus         += Plotter2D_LostFocus;
        }
コード例 #2
0
        public void TestViewportContentBounds()
        {
            ChartPlotter        plotter = new ChartPlotter();
            TempIPlotterElement element = new TempIPlotterElement();

            plotter.Children.Add(element);
            plotter.PerformLoad();
            plotter.Viewport.ClipToBoundsEnlargeFactor = 1.0;

            Assert.AreEqual(new DataRect(0, 0, 1, 1), plotter.Visible);

            Viewport2D.SetContentBounds(element, new DataRect(0, 0, 2, 2));

            Assert.AreEqual(new DataRect(0, 0, 2, 2), plotter.Visible);

            plotter.Children.Remove(element);

            Assert.AreEqual(new DataRect(0, 0, 1, 1), plotter.Visible);

            plotter.Children.Add(element);
            Assert.AreEqual(new DataRect(0, 0, 2, 2), plotter.Visible);

            Viewport2D.SetIsContentBoundsHost(element, false);
            Assert.AreEqual(new DataRect(0, 0, 1, 1), plotter.Visible);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            ChartPlotter plotter = new ChartPlotter();

            plotter.PerformLoad();
            plotter.Background = Brushes.Transparent;
            plotter.SaveScreenshot("1.png");
        }
コード例 #4
0
        public void CheckThatSegmentHasProperPlotter()
        {
            ChartPlotter plotter = new ChartPlotter();

            plotter.PerformLoad();
            Segment segment = new Segment();

            plotter.Children.Add(segment);

            Assert.AreEqual(plotter, segment.Plotter);
        }
コード例 #5
0
        public void CheckThatSegmentHasNullPlotterAfterDisconnection()
        {
            ChartPlotter plotter = new ChartPlotter();
            Segment      segment = new Segment();

            plotter.Children.Add(segment);
            plotter.PerformLoad();
            plotter.Wait(DispatcherPriority.Background);

            plotter.Children.Remove(segment);
            plotter.Wait(DispatcherPriority.Background);

            Assert.IsNull(segment.Plotter);
        }
コード例 #6
0
ファイル: AxisTest.cs プロジェクト: gr001/PeaksProcessing2
        public void RemovingWhileViewportChange()
        {
            ChartPlotter   plotter = new ChartPlotter();
            HorizontalAxis axis    = new HorizontalAxis();

            plotter.Children.Add(axis);

            plotter.PerformLoad();

            plotter.Viewport.Visible = new DataRect(2, 3, 4, 5);
            plotter.Children.Remove(axis);

            plotter.Wait(DispatcherPriority.Background);
        }
コード例 #7
0
        public void TestAddAndRemoveItems()
        {
            ChartPlotter plotter = new ChartPlotter();

            plotter.PerformLoad();

            DevMarkerChart chart = new DevMarkerChart();

            chart.MarkerBuilder = new EllipseMarker();

            plotter.Children.Add(chart);

            ObservableCollection <Point> source = new ObservableCollection <Point>();

            chart.ItemsSource = source;

            const int count = 10;

            // stage 1
            for (int i = 0; i < count; i++)
            {
                source.Add(new Point());
                Assert.AreEqual(source.Count, chart.Items.Count);
            }

            for (int i = count - 1; i >= 0; i--)
            {
                source.RemoveAt(i);
                Assert.AreEqual(source.Count, chart.Items.Count);
            }


            // stage 2
            for (int i = 0; i < count; i++)
            {
                source.Add(new Point());
                Assert.AreEqual(source.Count, chart.Items.Count);
            }

            Random rnd = new Random();

            for (int i = count - 1; i >= 0; i--)
            {
                int index = rnd.Next(0, source.Count - 1);
                source.RemoveAt(index);
                Assert.AreEqual(source.Count, chart.Items.Count);
            }

            // todo check that all items are visible
        }
コード例 #8
0
        public LineChartTest()
        {
            chart            = new LineChart();
            chart.DataSource = new TestDataSource();

            ChartPlotter plotter = new ChartPlotter();

            plotter.PerformLoad();
            plotter.Children.Add(chart);

            PrivateObject      privateObject = new PrivateObject(chart);
            LineChart_Accessor target        = new LineChart_Accessor(privateObject);

            canvas = target.canvas;

            paths = canvas.Children.Cast <Path>();
        }
コード例 #9
0
        public void TestAllElementsAddRemove()
        {
            ChartPlotter plotter = new ChartPlotter();

            plotter.PerformLoad();

            var types = GetAllCharts();

            var withoutCtor = from type in types
                              let ctors = type.GetConstructors()
                                          let noParameterlessCtor = (from c in ctors
                                                                     let p = c.GetParameters()
                                                                             select p).All(p => p.Length >= 1)
                                                                    where noParameterlessCtor
                                                                    select type;

            var plotterElements = new List <IPlotterElement>();

            plotter.Children.Clear();
            foreach (var type in types)
            {
                IPlotterElement element = (IPlotterElement)Activator.CreateInstance(type);
                plotterElements.Add(element);
                plotter.Children.Add(element);
            }

            foreach (var item in plotterElements)
            {
                Assert.AreEqual(plotter, item.Plotter);
            }

            plotter.Children.Clear();
            plotter.Wait(DispatcherPriority.Background);

            foreach (var item in plotterElements)
            {
                Assert.IsNull(item.Plotter, item.ToString());
            }
        }
コード例 #10
0
ファイル: AxisTest.cs プロジェクト: gr001/PeaksProcessing2
        public void VerticalAxisIsDefaultTest()
        {
            ChartPlotter plotter = new ChartPlotter();

            plotter.PerformLoad();

            VerticalAxis axis  = (VerticalAxis)plotter.MainVerticalAxis;
            VerticalAxis axis2 = new VerticalAxis();

            plotter.Children.Add(axis2);

            Assert.AreEqual(plotter.MainVerticalAxis, axis);
            Assert.IsTrue(axis.IsDefaultAxis);

            axis2.IsDefaultAxis = true;
            Assert.AreEqual(plotter.MainVerticalAxis, axis2);
            Assert.IsFalse(axis.IsDefaultAxis);

            axis.IsDefaultAxis = true;
            Assert.AreEqual(plotter.MainVerticalAxis, axis);
            Assert.IsFalse(axis2.IsDefaultAxis);
        }
コード例 #11
0
ファイル: AxisTest.cs プロジェクト: gr001/PeaksProcessing2
        public void HorizontalAxisIsDefaultTest()
        {
            ChartPlotter plotter = new ChartPlotter();

            plotter.PerformLoad();

            HorizontalAxis axis  = (HorizontalAxis)plotter.MainHorizontalAxis;
            HorizontalAxis axis2 = new HorizontalAxis();

            plotter.Children.Add(axis2);

            Assert.AreEqual(plotter.MainHorizontalAxis, axis);
            Assert.IsTrue(axis.IsDefaultAxis);
            Assert.AreEqual(2, plotter.Children.OfType <HorizontalAxis>().Count());

            axis2.IsDefaultAxis = true;
            Assert.AreEqual(axis2, plotter.MainHorizontalAxis);
            Assert.IsFalse(axis.IsDefaultAxis);

            axis.IsDefaultAxis = true;
            Assert.AreEqual(plotter.MainHorizontalAxis, axis);
            Assert.IsFalse(axis2.IsDefaultAxis);
        }