/* Bewegt ein bereits bestehendes Item item an eine andere Position (x,y) */
        public void moveItem(UIElement item, int x, int y)
        {
            Size   s  = GetTileSize();
            double dX = x * s.Width;
            double dY = y * s.Height;

            GridCanvas.SetLeft(item, dX);
            GridCanvas.SetTop(item, dY);
            SnapToGrid(item);
            item.InvalidateVisual();
            InvalidateVisual();
        }
Ejemplo n.º 2
0
        /** Der (hypersensible) MouseClicked Eventhandler (setzt die isSelected-Property) **/
        protected override void OnPreviewMouseDown(MouseButtonEventArgs e)
        {
            base.OnPreviewMouseDown(e);
            GridCanvas designer = VisualTreeHelper.GetParent(this) as GridCanvas;

            if (designer != null)
            {
                if ((Keyboard.Modifiers &
                     (ModifierKeys.Shift | ModifierKeys.Control)) != ModifierKeys.None)
                {
                    this.IsSelected = !this.IsSelected;
                }
                else
                {
                    if (!this.IsSelected)
                    {
                        designer.DeselectAll();
                        this.IsSelected = true;
                    }
                }
            }

            e.Handled = false;
        }
Ejemplo n.º 3
0
        /** Der MouseDrag Eventhandler für das GridThumb **/
        private void GridThumb_DragDelta(object sender, DragDeltaEventArgs e)
        {
            Console.WriteLine("GridThumb");
            GridItem item = this.DataContext as GridItem;

            if (item != null)
            {
                GridCanvas GridC = VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(VisualTreeHelper.GetParent(this))) as GridCanvas;
                Point      p     = new Point(GridCanvas.GetLeft(item) + e.HorizontalChange, GridCanvas.GetTop(item) + e.VerticalChange);
                Coordinate coord = null;
                if (p != null) // wenn objekt gelöscht wurde, wärend wir verschieben ist p == null
                {
                    coord = GridC.CalcGridCoord(p);
                    // GO server..
                    if (coord != null)
                    {
                        ClientServerUtil.getInstance().moveItem(item.instanceId, coord.Item1, coord.Item2);
                        #if DEBUG
                        Console.WriteLine("\nObject Moved:");
                        #endif
                    }
                }
            }
        }