Ejemplo n.º 1
0
        private static IEnumerable<DiagramSymbolViewModel> AddArrows(IEnumerable<DiagramSymbolViewModel> layers,OrientationKind parentOrientation ,bool dependencyDown)
        {
            var viewModels = layers.ToList();
            if (!viewModels.OfType<LayerViewModel>().Any(x => x.Children.OfType<LayerViewModel>().Any(y => y.Children.Any())))
                return viewModels;

            var arrowdirection = dependencyDown ?
                ArrowViewModel.Direction.Down : ArrowViewModel.Direction.Up;

            foreach (var layer in viewModels.Cast<LayerViewModel>())
                layer.Children = AddArrows(layer.Children,layer.Orientation,dependencyDown);

            if (viewModels.Count <= 1 || parentOrientation == Horizontal)
                return viewModels;
            for (var i = 1; i < viewModels.Count; i += 2)
            {
                viewModels.Insert(i,new ArrowViewModel(arrowdirection));
            }
            return viewModels;
        }
Ejemplo n.º 2
0
 public SiblingHolderNode(IEnumerable<Node> siblingNodes, OrientationKind orientation) : base("")
 {
     SetChildren(siblingNodes);
     Orientation = orientation;
 }