Example #1
0
        private static void MouseEventsEnabled_PropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;

            panZoomPanel.IsManipulationEnabled = true;
            bool isEnabled = (bool)e.NewValue;

            if (panZoomPanel != null)
            {
                if (isEnabled)
                {
                    panZoomPanel.MouseWheel          += new MouseWheelEventHandler(PanZoomPanel_MouseWheel);
                    panZoomPanel.MouseLeftButtonDown += new MouseButtonEventHandler(PanZoomPanel_MouseLeftButtonDown);
                    panZoomPanel.MouseLeftButtonUp   += new MouseButtonEventHandler(PanZoomPanel_MouseLeftButtonUp);
                    panZoomPanel.ManipulationDelta   += new EventHandler <ManipulationDeltaEventArgs>(panZoomPanel_ManipulationDelta);
                    panZoomPanel.MouseMove           += new MouseEventHandler(PanZoomPanel_MouseMove);
                }
                else
                {
                    panZoomPanel.MouseWheel          -= new MouseWheelEventHandler(PanZoomPanel_MouseWheel);
                    panZoomPanel.MouseLeftButtonDown -= new MouseButtonEventHandler(PanZoomPanel_MouseLeftButtonDown);
                    panZoomPanel.MouseLeftButtonUp   -= new MouseButtonEventHandler(PanZoomPanel_MouseLeftButtonUp);
                    panZoomPanel.ManipulationDelta   -= new EventHandler <ManipulationDeltaEventArgs>(panZoomPanel_ManipulationDelta);
                    panZoomPanel.MouseMove           -= new MouseEventHandler(PanZoomPanel_MouseMove);
                }
            }
        }
Example #2
0
        public AdornerBase (UIElement element, PanZoomPanel panZoomPanel)
            : base(element)
        {
            MenuItem mi = new MenuItem();
            var binding = new Binding("Remove");
            binding.Source = CultureResources.getDataProvider();
            BindingOperations.SetBinding(mi, MenuItem.HeaderProperty, binding);
            mi.Click += new RoutedEventHandler(RemoveItem_Click);

            this.ContextMenu = new ContextMenu();
            this.ContextMenu.Items.Add(mi);

            _Zoom = panZoomPanel.Zoom;
            _OffsetX = panZoomPanel.OffsetX;
            _OffsetY = panZoomPanel.OffsetY;

            panZoomPanel.ZoomChanged += new DoublePropertyEventHandler(panZoomPanel_ZoomChanged);
            panZoomPanel.OffsetXChanged += new DoublePropertyEventHandler(panZoomPanel_OffsetXChanged);
            panZoomPanel.OffsetYChanged += new DoublePropertyEventHandler(panZoomPanel_OffsetYChanged);

            IsClipEnabled = true;
            EventsRegistered = false;
            _IsEnabled = false;

            visualChildren = new VisualCollection(this);
        }
Example #3
0
 public AOIAdorner(UIElement element, PanZoomPanel panZoomPanel)
     : base(element, panZoomPanel)
 {
     m_AOIWindows = new List<AOIWindow>();
     LeftMouseBtnWasPressed = false;
     m_element = element;
 }
Example #4
0
        private static void PanZoomPanel_MouseLeftButtonUp(object sender, MouseEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;

            if (panZoomPanel != null)
            {
                Mouse.Capture(null);
                panZoomPanel._Panning = false;
            }
        }
Example #5
0
        private static void Overview_PropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;
            Overview     overview     = e.NewValue as Overview;

            if (panZoomPanel != null && overview != null)
            {
                overview.DataContext = panZoomPanel;
            }
        }
Example #6
0
        private static void OffsetY_PropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;

            double duration     = panZoomPanel._Zooming ? panZoomPanel.ZoomAnimationDuration : panZoomPanel.PanAnimationDuration;
            double acceleration = panZoomPanel._Zooming ? panZoomPanel.ZoomAcceleration : panZoomPanel.PanAcceleration;
            double deceleration = panZoomPanel._Zooming ? panZoomPanel.ZoomDeceleration : panZoomPanel.PanDeceleration;

            AnimationHelper.StartAnimation(panZoomPanel._OffsetTransform, TranslateTransform.YProperty, (double)e.NewValue, duration, acceleration, deceleration);
        }
Example #7
0
        private static object OffsetY_Coerce(DependencyObject sender, object baseValue)
        {
            PanZoomPanel panZoomPanel = (PanZoomPanel)sender;

            double value      = (double)baseValue;
            double minOffsetY = -(panZoomPanel._Content.DesiredSize.Height * panZoomPanel.Zoom);

            value = Math.Min(Math.Max(value, minOffsetY), panZoomPanel.DesiredSize.Height);

            return(value);
        }
Example #8
0
        public AnnotationAdorner (UIElement element, PanZoomPanel panZoomPanel)
            : base(element, panZoomPanel)
        {
            _Annotations = new List<Annotation>();

            MenuItem mi = new MenuItem();
            var binding = new Binding("Comment");
            binding.Source = CultureResources.getDataProvider();
            BindingOperations.SetBinding(mi, MenuItem.HeaderProperty, binding);
            mi.Click += new RoutedEventHandler(CommentItem_Click);
            ContextMenu.Items.Add(mi);

            MainContextMenuOpen = false;
        }
Example #9
0
        private static void PanZoomPanel_MouseWheel(object sender, MouseWheelEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;

            if (panZoomPanel != null)
            {
                if (e.Delta > 0)
                {
                    panZoomPanel.Zoom *= panZoomPanel.ZoomFactor;
                }
                else if (e.Delta < 0)
                {
                    panZoomPanel.Zoom *= 1 / panZoomPanel.ZoomFactor;
                }
            }
        }
Example #10
0
        private static void Zoom_PropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;

            Point contentMousePosition = ((TransformGroup)panZoomPanel._Content.RenderTransform).Inverse.Transform(panZoomPanel._MousePosition);

            AnimationHelper.StartAnimation(panZoomPanel._ZoomTransform, ScaleTransform.ScaleXProperty, (double)e.NewValue, panZoomPanel.ZoomAnimationDuration, panZoomPanel.ZoomAcceleration, panZoomPanel.ZoomDeceleration);
            AnimationHelper.StartAnimation(panZoomPanel._ZoomTransform, ScaleTransform.ScaleYProperty, (double)e.NewValue, panZoomPanel.ZoomAnimationDuration, panZoomPanel.ZoomAcceleration, panZoomPanel.ZoomDeceleration);

            panZoomPanel._Zooming = true;

            panZoomPanel.OffsetX = -1.0 * (contentMousePosition.X * panZoomPanel.Zoom - panZoomPanel._MousePosition.X);
            panZoomPanel.OffsetY = -1.0 * (contentMousePosition.Y * panZoomPanel.Zoom - panZoomPanel._MousePosition.Y);

            panZoomPanel._Zooming = false;
        }
Example #11
0
        static void panZoomPanel_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;

            if (panZoomPanel != null)
            {
                var scale = e.DeltaManipulation.Scale;

                if (scale.X != 1 && scale.Y != 1)
                {
                    var zoomfactor = 1 - (scale.Length / Math.Sqrt(2));
                    panZoomPanel.Zoom -= zoomfactor;
                }
                else
                {
                    panZoomPanel.OffsetX += e.DeltaManipulation.Translation.X;
                    panZoomPanel.OffsetY += e.DeltaManipulation.Translation.Y;
                }
            }
        }
Example #12
0
        private static void PanZoomPanel_MouseMove(object sender, MouseEventArgs e)
        {
            PanZoomPanel panZoomPanel = sender as PanZoomPanel;

            if (panZoomPanel != null)
            {
                if (panZoomPanel._Panning == true)
                {
                    Point currentPoint = e.GetPosition(panZoomPanel);

                    panZoomPanel.OffsetX += currentPoint.X - panZoomPanel._MousePosition.X;
                    panZoomPanel.OffsetY += currentPoint.Y - panZoomPanel._MousePosition.Y;

                    panZoomPanel._MousePosition = currentPoint;
                }
                else
                {
                    panZoomPanel._MousePosition = e.GetPosition(panZoomPanel);
                }
            }
        }
Example #13
0
 public MeasureAdorner (UIElement element, PanZoomPanel panZoomPanel) :
     base(element, panZoomPanel)
 {
     _MeasurementLines = new List<MeasurementLine>();
     _Cursor = new Cursor(Assembly.GetExecutingAssembly().GetManifestResourceStream("L3.Cargo.Workstation.Plugins.XRayImageBase.Resources.Cursors.ruler.cur"));
 }
Example #14
0
 public TIPAdorner(UIElement element, PanZoomPanel panZoomPanel)
     : base(element, panZoomPanel)
 {
     m_TIPMarkingsList = new List<RectangleGeometry>();
 }