private void AddToDiagram_MenuClick(object sender, RoutedEventArgs e)
        {
            ProjectTreeViewItem item = projectStructure.SelectedItem as ProjectTreeViewItem;

            currentEntity        = new SubDiagram(null, item.ProjectItem);
            currentCanvas.Cursor = Cursors.Pen;
        }
Exemple #2
0
 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));
         }
     }
 }
Exemple #3
0
 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);
             }
         }
     }
 }
Exemple #5
0
        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);
        }