private void AddToDiagram_MenuClick(object sender, RoutedEventArgs e) { ProjectTreeViewItem item = projectStructure.SelectedItem as ProjectTreeViewItem; currentEntity = new SubDiagram(null, item.ProjectItem); currentCanvas.Cursor = Cursors.Pen; }
private void OnMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (currentEntity != null && e.LeftButton == MouseButtonState.Pressed) { if (currentEntity is ConnectionLine && selected != null && selected is Port) { connect(); } else if (currentEntity is SubDiagram) { SubDiagram sd = currentEntity as SubDiagram; ScrollableCanvas sc = currentCanvas as ScrollableCanvas; if (sc.Equals(sc, sd.ProjectItem.Canvas as ScrollableCanvas)) { currentEntity = null; MessageBox.Show("Нельзя добавить процесс к самому себе"); } else { UndoRedoManager.putInUndoStack((ScrollableCanvas)currentCanvas); UndoRedoManager.clearRedoStack((ScrollableCanvas)currentCanvas); sd.canvas = currentCanvas; drawOnCanvas(e.GetPosition(this)); } } else if (!(currentEntity is ConnectionLine)) { UndoRedoManager.putInUndoStack((ScrollableCanvas)currentCanvas); UndoRedoManager.clearRedoStack((ScrollableCanvas)currentCanvas); drawOnCanvas(e.GetPosition(this)); } } }
private void GotoSubprocess_Click(object sender, RoutedEventArgs e) { if (selected != null) { SubDiagram sd = selected as SubDiagram; findAndOpenRelatedTab(sd.ProjectItem); } }
private void processSubprocess(UIElementCollection elements) { foreach (UIElement e in elements) { if (e is SubDiagram) { SubDiagram sd = e as SubDiagram; List <ConnectionLine> connectors = ConnectorFinder.find(elements, sd); foreach (ConnectionLine cl in connectors) { processConnectionLine(cl, false); } } } }
public Entities.Entity transform(UIEntity entity) { if (cyclicDependencyChecker) { return(null); } TransformerService ts = new TransformerService(); SubDiagram sd = entity as SubDiagram; Submodel submodel = new Submodel() { name = entity.EntityName, id = entity.Id }; cyclicDependencyChecker = true; submodel.setEntites(ts.transform(new FileService().open(sd.ProjectItem.FullPath).Children)); cyclicDependencyChecker = false; submodel.setResources(ts.getResources()); return(submodel); }