Ejemplo n.º 1
0
        private void ControlMouseDown(object sender, MouseButtonEventArgs e)
        {
            FrameworkElement senderControl = sender as FrameworkElement;

            if (senderControl != null)
            {
                HeliosVisual control = (HeliosVisual)senderControl.Tag;
                if (control != null && _editor != null && !control.IsLocked)
                {
                    if (_editor.SelectedItems.Contains(control))
                    {
                        if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
                        {
                            _editor.SelectedItems.Remove(control);
                        }
                        else
                        {
                            _editor.SelectedItems.Clear();
                            _editor.SelectedItems.Add(control);
                        }
                    }
                    else
                    {
                        if (!Keyboard.Modifiers.HasFlag(ModifierKeys.Control))
                        {
                            _editor.SelectedItems.Clear();
                        }
                        _editor.SelectedItems.Add(control);
                    }
                    _editor.Focus();
                }
            }
        }
Ejemplo n.º 2
0
        public void OnDropCompleted(IDataObject obj, Point dragPoint)
        {
            HeliosVisual item = obj.GetData("Helios.Visual") as HeliosVisual;

            if (item == null)
            {
                return;
            }

            if (Math.Abs(_target.ZoomFactor) < 0.0001)
            {
                return;
            }
            Point scaledPoint = new Point(dragPoint.X / _target.ZoomFactor, dragPoint.Y / _target.ZoomFactor);

            _target.SnapManager.Location = scaledPoint;

            item.Left = Math.Max(0d, _target.SnapManager.NewLocation.X);
            item.Top  = Math.Max(0d, _target.SnapManager.NewLocation.Y);
            item.Name = _target.VisualContainer.Children.GetUniqueName(item);
            _target.VisualContainer.Children.Add(item);
            _target.SelectedItems.Clear();
            _target.SelectedItems.Add(item);
            _target.Focus();

            ConfigManager.UndoManager.AddUndoItem(new ControlAddUndoEvent(_target.VisualContainer, item));
        }
Ejemplo n.º 3
0
        void TopLeft_DragStarted(object sender, DragStartedEventArgs e)
        {
            _editor.LoadSnapTargets(true);

            if (_isline)
            {
                Helios.Controls.LineDecoration line = _editor.SelectedItems[0] as Helios.Controls.LineDecoration;
                _editor.SnapManager.Size     = new Size(1, 1);
                _editor.SnapManager.Location = line.Start;
                _editor.SnapManager.Action   = SnapAction.LineStart;
                _tempLine.Clone(line);
                line.IsHidden = true;
            }
            else
            {
                _editor.SnapManager.Size     = _editor.SelectedItems.Rectangle.Size;
                _editor.SnapManager.Location = _editor.SelectedItems.Rectangle.TopLeft;
                _editor.SnapManager.Action   = SnapAction.ResizeNW;
            }

            _editor.SnapManager.DragVector = new Vector(0, 0);
            _editor.Focus();
        }