Ejemplo n.º 1
0
 public AutoMoveViewportViewModel(IArrangedDiagram diagram, double minZoom, double maxZoom, double initialZoom,
                                  ViewportAutoMoveMode mode = ViewportAutoMoveMode.Contain)
     : base(diagram, minZoom, maxZoom, initialZoom)
 {
     Mode = mode;
     SubscribeToDiagramEvents();
 }
Ejemplo n.º 2
0
 protected DiagramShapeButtonViewModelBase(IArrangedDiagram diagram, string name)
     : base(diagram)
 {
     _isEnabled         = true;
     _name              = name;
     ClickCommand       = new DelegateCommand(OnClick);
     DoubleClickCommand = new DelegateCommand(OnDoubleClick);
 }
        public RelatedEntityCueViewModel(IArrangedDiagram diagram, IDiagramNode diagramNode, EntityRelationType descriptor)
            : base(diagram)
        {
            _diagramNode        = diagramNode;
            _entityRelationType = descriptor;

            SubscribeToModelEvents();
            SubscribeToDiagramEvents();
            RecalculateVisibility();
        }
        public DiagramConnectorViewModel(IArrangedDiagram diagram, IDiagramConnector diagramConnector,
                                         DiagramNodeViewModel sourceNodeViewModel, DiagramNodeViewModel targetNodeViewModel)
            : base(diagram, diagramConnector)
        {
            DiagramConnector    = diagramConnector;
            SourceNodeViewModel = sourceNodeViewModel;
            TargetNodeViewModel = targetNodeViewModel;

            _connectorType = Diagram.GetConnectorType(diagramConnector.Type);
            _routePoints   = RouteToWpf(diagramConnector.RoutePoints);

            DiagramConnector.RouteChanged += OnRouteChanged;
        }
Ejemplo n.º 5
0
        public DiagramUi(IHostUiServices hostUiServices, IArrangedDiagram diagram)
        {
            _hostUiServices     = hostUiServices;
            _resourceDictionary = ResourceHelpers.GetResourceDictionary(DiagramStylesXaml, Assembly.GetExecutingAssembly());

            _diagramViewModel = new DiagramViewModel(diagram, minZoom: .1, maxZoom: 10, initialZoom: 1);
            _diagramControl   = new DiagramControl(_resourceDictionary)
            {
                DataContext = _diagramViewModel
            };

            hostUiServices.HostDiagram(_diagramControl);

            SubscribeToDiagramViewModelEvents(_diagramViewModel);
        }
Ejemplo n.º 6
0
        public DiagramViewModel(IArrangedDiagram diagram, double minZoom, double maxZoom, double initialZoom)
            : base(diagram)
        {
            DiagramViewportViewModel = new DiagramViewportViewModel(diagram, minZoom, maxZoom, initialZoom);

            RelatedEntityListBoxViewModel = new RelatedEntityListBoxViewModel(diagram);
            RelatedEntityListBoxViewModel.ItemSelected            += OnRelatedEntitySelected;
            RelatedEntityListBoxViewModel.Items.CollectionChanged += OnRelatedEntityCollectionChanged;

            PopupTextViewModel = new AutoHidePopupTextViewModel();

            PreviewMouseDownCommand = new DelegateCommand(OnAnyMouseDownEvent);
            MouseDownCommand        = new DelegateCommand(OnUnhandledMouseDownEvent);

            SubscribeToDiagramEvents();
            SubscribeToViewportEvents();
        }
Ejemplo n.º 7
0
        private ViewportCalculatorViewModel(IArrangedDiagram diagram, double minZoom, double maxZoom, double initialZoom,
                                            Size sizeInScreenSpace, Point centerInDiagramSpace)
            : base(diagram)
        {
            _minZoom = minZoom;
            _maxZoom = maxZoom;
            _defaultExponentialZoom = initialZoom;
            _exponentialZoom        = initialZoom;
            _sizeInScreenSpace      = sizeInScreenSpace;
            _centerInDiagramSpace   = centerInDiagramSpace;

            ResizeCommand        = new ResizeDelegateCommand(Resize);
            PanCommand           = new PanDelegateCommand(Pan);
            ZoomToContentCommand = new ZoomToContentDelegateCommand(ZoomToContent);
            ZoomCommand          = new ZoomDelegateCommand(ZoomWithCenterTo);

            UpdateCalculatedProperties(TransitionSpeed.Instant);
        }
Ejemplo n.º 8
0
        public DiagramNodeViewModel(IArrangedDiagram diagram, IDiagramNode diagramNode, bool isDescriptionVisible)
            : base(diagram, diagramNode)
        {
            DiagramNode = diagramNode;

            _center               = PointExtensions.Undefined;
            _topLeft              = PointExtensions.Undefined;
            _size                 = Size.Empty;
            _name                 = diagramNode.Name;
            _fullName             = diagramNode.FullName;
            _description          = diagramNode.Description;
            _descriptionExists    = !string.IsNullOrWhiteSpace(_description);
            _isDescriptionVisible = isDescriptionVisible;

            RelatedEntityCueViewModels = CreateRelatedEntityCueViewModels();

            DiagramNode.CenterChanged += OnCenterChanged;
            DiagramNode.Renamed       += OnRenamed;
        }
        public DiagramViewportViewModel(IArrangedDiagram diagram, double minZoom, double maxZoom, double initialZoom)
            : base(diagram)
        {
            MinZoom = minZoom;
            MaxZoom = maxZoom;

            ViewportCalculator          = new AutoMoveViewportViewModel(diagram, minZoom, maxZoom, initialZoom);
            DiagramNodeViewModels       = new ThreadSafeObservableCollection <DiagramNodeViewModel>();
            DiagramConnectorViewModels  = new ThreadSafeObservableCollection <DiagramConnectorViewModel>();
            DiagramNodeButtonViewModels = new ThreadSafeObservableCollection <DiagramShapeButtonViewModelBase>(CreateDiagramNodeButtons());
            DecorationManager           = new DecorationManagerViewModel <DiagramNodeViewModel>(DiagramNodeButtonViewModels);

            _diagramShapeToViewModelMap   = new Map <IDiagramShape, DiagramShapeViewModelBase>();
            _diagramShapeViewModelFactory = new DiagramShapeViewModelFactory(diagram, DiagramNodeViewModels);

            ShowSourceCommand = new DelegateCommand <IDiagramShape>(OnShowSourceCommand);

            SubscribeToViewportEvents();
            SubscribeToDiagramEvents();
            SubscribeToDiagramShapeButtonEvents();

            AddDiagram(diagram);
        }
Ejemplo n.º 10
0
 public DiagramShapeViewModelFactory(IArrangedDiagram diagram, ThreadSafeObservableCollection <DiagramNodeViewModel> diagramNodeViewModels)
     : base(diagram)
 {
     _diagramNodeViewModels = diagramNodeViewModels;
 }
Ejemplo n.º 11
0
 public LayoutActionExecutorVisitor(IArrangedDiagram diagram)
 {
     _diagram = diagram;
 }
 protected DiagramShapeViewModelBase(IArrangedDiagram diagram, IDiagramShape diagramShape)
     : base(diagram)
 {
     DiagramShape = diagramShape;
 }
Ejemplo n.º 13
0
 public ViewportCalculatorViewModel(IArrangedDiagram diagram, double minZoom, double maxZoom, double initialZoom)
     : this(diagram, minZoom, maxZoom, initialZoom, ViewportSizeDefault, ViewportCenterDefault)
 {
 }
Ejemplo n.º 14
0
 public CloseShapeButtonViewModel(IArrangedDiagram diagram)
     : base(diagram, "Remove")
 {
     IsEnabled = true;
 }
 protected DiagramShapeDecoratorViewModelBase(IArrangedDiagram diagram)
     : base(diagram)
 {
     _isVisible = false;
 }
Ejemplo n.º 16
0
 public ShowRelatedNodeButtonViewModel(IArrangedDiagram diagram, EntityRelationType relationType)
     : base(diagram, relationType.Name)
 {
     _relationType = relationType;
     SubscribeToModelEvents();
 }
Ejemplo n.º 17
0
 protected DiagramViewModelBase(IArrangedDiagram diagram)
 {
     Diagram = diagram;
 }