public void TestModeChangeWhileDisconnected()
		{
			PointSelector selector = new PointSelector();
			selector.Mode = PointSelectorMode.Add;
			selector.Mode = PointSelectorMode.MultipleSelect;
			selector.Mode = PointSelectorMode.Remove;
		}
		protected override void AttachCore(PointSelector selector, Plotter plotter)
		{
			if (selector == null)
				throw new ArgumentNullException("selector");
			if (plotter == null)
				throw new ArgumentNullException("plotter");

			this.selector = selector;
			this.plotter = (Plotter2D)plotter;
			var transform = this.plotter.Transform;

			// copying all markers from marker chart to InkCanvas to enable their selection
			foreach (FrameworkElement marker in selector.MarkerChart.Items)
			{
				var xamlString = XamlWriter.Save(marker);
				var markerCopy = (FrameworkElement)XamlReader.Parse(xamlString);

				var x = ViewportPanel.GetX(marker);
				var y = ViewportPanel.GetY(marker);
				Point position = new Point(x, y);
				var positionInScreen = position.ViewportToScreen(transform);

				if (!marker.IsMeasureValid)
					marker.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));

				InkCanvas.SetLeft(markerCopy, positionInScreen.X - marker.Width / 2);
				InkCanvas.SetTop(markerCopy, positionInScreen.Y - marker.Height / 2);
				markerCopy.DataContext = marker.DataContext;

				inkCanvas.Children.Add(markerCopy);
			}

			plotter.CentralGrid.Children.Add(inkCanvas);
		}
		protected override void AttachCore(PointSelector selector, Plotter plotter)
		{
			if (selector == null)
				throw new ArgumentNullException("selector");
			if (plotter == null)
				throw new ArgumentNullException("plotter");

			this.selector = selector;
			this.plotter = (Plotter2D)plotter;

			leftButtonClickWrapper = new MouseClickWrapper(plotter.CentralGrid, MouseButton.Left);
			leftButtonClickWrapper.Click += new MouseButtonEventHandler(OnLeftButtonClick);
		}
		protected override void AttachCore(PointSelector selector, Plotter plotter)
		{
			if (selector == null)
				throw new ArgumentNullException("selector");
			if (plotter == null)
				throw new ArgumentNullException("plotter");

			this.selector = selector;
			this.plotter = (Plotter2D)plotter;

			foreach (FrameworkElement element in selector.MarkerChart.Items)
			{
				element.Cursor = Cursors.No;
				element.MouseLeftButtonUp += element_MouseLeftButtonUp;
			}
		}
Exemple #5
0
        protected override void AttachCore(PointSelector selector, Plotter plotter)
        {
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (plotter == null)
            {
                throw new ArgumentNullException("plotter");
            }

            this.selector = selector;
            this.plotter  = (Plotter2D)plotter;

            leftButtonClickWrapper        = new MouseClickWrapper(plotter.CentralGrid, MouseButton.Left);
            leftButtonClickWrapper.Click += OnLeftButtonClick;
        }
Exemple #6
0
        protected override void AttachCore(PointSelector selector, Plotter plotter)
        {
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (plotter == null)
            {
                throw new ArgumentNullException("plotter");
            }

            this.selector = selector;
            this.plotter  = (Plotter2D)plotter;

            foreach (FrameworkElement element in selector.MarkerChart.Items)
            {
                element.Cursor             = Cursors.No;
                element.MouseLeftButtonUp += element_MouseLeftButtonUp;
            }
        }
Exemple #7
0
        protected override void AttachCore(PointSelector selector, Plotter plotter)
        {
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (plotter == null)
            {
                throw new ArgumentNullException("plotter");
            }

            this.selector = selector;
            this.plotter  = (Plotter2D)plotter;
            var transform = this.plotter.Transform;

            // copying all markers from marker chart to InkCanvas to enable their selection
            foreach (FrameworkElement marker in selector.MarkerChart.Items)
            {
                var xamlString = XamlWriter.Save(marker);
                var markerCopy = (FrameworkElement)XamlReader.Parse(xamlString);

                var   x                = ViewportPanel.GetX(marker);
                var   y                = ViewportPanel.GetY(marker);
                Point position         = new Point(x, y);
                var   positionInScreen = position.ViewportToScreen(transform);

                if (!marker.IsMeasureValid)
                {
                    marker.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));
                }

                InkCanvas.SetLeft(markerCopy, positionInScreen.X - marker.Width / 2);
                InkCanvas.SetTop(markerCopy, positionInScreen.Y - marker.Height / 2);
                markerCopy.DataContext = marker.DataContext;

                inkCanvas.Children.Add(markerCopy);
            }

            plotter.CentralGrid.Children.Add(inkCanvas);
        }
Exemple #8
0
        private static void OnModeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            PointSelector owner = (PointSelector)d;

            owner.UpdateModeHandler();
        }
		protected override void AttachCore(PointSelector selector, Plotter plotter)
		{
			// do nothing here
		}
 protected override void AttachCore(PointSelector selector, Plotter plotter)
 {
     // do nothing here
 }