public AutoLayoutDiagramPlugin(
            [NotNull] IDiagramService diagramService,
            [NotNull] IDiagramLayoutAlgorithm layoutAlgorithm)
            : base(diagramService)
        {
            _layoutAlgorithm = layoutAlgorithm;

            _diagramChangedSubscription = DiagramService.DiagramChangedEventStream
                                          .Where(i => i.ShapeEvents.Any(IsLayoutTriggeringChange))
                                          .Throttle(DiagramEventDebounceTimeSpan)
                                          .Subscribe(OnDiagramChanged);
        }
예제 #2
0
        public AutoLayoutDiagramPlugin(
            [NotNull] IModelService modelService,
            [NotNull] IDiagramService diagramService,
            [NotNull] IDiagramLayoutAlgorithm layoutAlgorithm)
            : base(modelService, diagramService)
        {
            _layoutAlgorithm = layoutAlgorithm;

            _diagramChangedSubscription = DiagramService.DiagramChangedEventStream
                                          .Throttle(DiagramEventDebounceTimeSpan)
                                          .Subscribe(OnDiagramChanged);
        }
예제 #3
0
 public AutoLayoutDiagramPlugin([NotNull] IDiagramLayoutAlgorithm layoutAlgorithm)
 {
     _layoutAlgorithm = layoutAlgorithm;
 }