public void DropElement(SymbolBaseViewModel symbolBaseViewModel) { if (symbolBaseViewModel is BlockViewModel) { var blockViewModel = (BlockViewModel)symbolBaseViewModel; var blockSymbol = _sheet.CreateBlockSymbol(); blockSymbol.PositionX = blockViewModel.X; blockSymbol.PositionY = blockViewModel.Y; SymbolVms.Remove(_ghost); _ghost = null; _sheet.Add(blockSymbol, _client); } else if (symbolBaseViewModel is ConnectorViewModel) { var connectorViewModel = (ConnectorViewModel)symbolBaseViewModel; var connector = _sheet.CreateConnector(); connector.PositionX = connectorViewModel.X; connector.PositionY = connectorViewModel.Y; SymbolVms.Remove(_ghost); _ghost = null; _sheet.AddConnector(connector, _client); } }
public void AddGhost(SymbolBaseViewModel element) { if (_ghost == null) { _ghost = element; SymbolVms.Add(_ghost); } }
public void DeleteElement(SymbolBaseViewModel block) { if (block != null) { var toBeDeleted = _sheet.BlockSymbols.FirstOrDefault(b => b.Id == block.Id); _sheet.Remove(toBeDeleted, _client); } }
public void OnElementItemDragging(SymbolBaseViewModel symbolBaseViewModel, double horizontalChange, double verticalChange, double positionX, double positionY) { if (symbolBaseViewModel is BlockViewModel) { var block = symbolBaseViewModel as BlockViewModel; block.SetPosition(positionX, positionY); } else if (symbolBaseViewModel is ConnectorViewModel) { var connectorVm = symbolBaseViewModel as ConnectorViewModel; connectorVm.SetPosition(positionX, positionY); } }
public void OnElementItemDragStarted(SymbolBaseViewModel symbolBaseViewModel, Point currentDragPoint) { if (symbolBaseViewModel is BlockViewModel) { var block = symbolBaseViewModel as BlockViewModel; _shell.UndoManager.StartTransaction("Moving Block: " + block.Name); } else if (symbolBaseViewModel is ConnectorViewModel) { var connectorVm = symbolBaseViewModel as ConnectorViewModel; _shell.UndoManager.StartTransaction("Moving Connector: " + connectorVm.Name); } }
public void OnElementItemDragCompleted(SymbolBaseViewModel symbolBaseViewModel, Point currentDragPoint) { _shell.UndoManager.EndTransaction(); }