Ejemplo n.º 1
0
        private static void TranslateAssociationConnectors(
            AssociationConnector dslAssociationConnector, DesignerModel.AssociationConnector modelAssociationConnector,
            IList <ViewModelDiagram.ShapeElement> shapesToAutoLayout)
        {
            dslAssociationConnector.ManuallyRouted = modelAssociationConnector.ManuallyRouted.Value;
            // if the EdgePoint values is an empty collection or connectors are not manually routed, add the shape element to the collections that will be autolayout.
            if (modelAssociationConnector.ManuallyRouted.Value == false ||
                modelAssociationConnector.ConnectorPoints.Count == 0)
            {
                if (shapesToAutoLayout.Contains(dslAssociationConnector) == false)
                {
                    shapesToAutoLayout.Add(dslAssociationConnector);
                }
            }
            else
            {
                var collection = new ViewModelDiagram.EdgePointCollection();
                foreach (var connectorPoint in modelAssociationConnector.ConnectorPoints)
                {
                    collection.Add(
                        new ViewModelDiagram.EdgePoint(connectorPoint.PointX.Value, connectorPoint.PointY.Value, VGPointType.Normal));
                }

                if (AreEdgePointsIdentical(dslAssociationConnector.EdgePoints, collection) == false)
                {
                    dslAssociationConnector.EdgePoints = collection;
                }
            }
        }
        protected override void InvokeInternal(CommandProcessorContext cpc)
        {
            var associationConnector = new AssociationConnector(_diagram, null);

            _diagram.AddAssociationConnector(associationConnector);

            associationConnector.Association.SetRefName(_association);

            XmlModelHelper.NormalizeAndResolve(associationConnector);

            _created = associationConnector;
        }
Ejemplo n.º 3
0
        internal override void Invoke(CommandProcessorContext cpc)
        {
            var viewModel = AssociationConnector.GetRootViewModel();

            Debug.Assert(
                viewModel != null, "Unable to find root view model from association connector: " + AssociationConnector.AccessibleName);

            if (viewModel != null)
            {
                var modelAssociationConnector = viewModel.ModelXRef.GetExisting(AssociationConnector) as Model.Designer.AssociationConnector;
                if (modelAssociationConnector != null)
                {
                    DeleteEFElementCommand.DeleteInTransaction(cpc, modelAssociationConnector);
                    viewModel.ModelXRef.Remove(modelAssociationConnector, AssociationConnector);
                }
            }
        }
Ejemplo n.º 4
0
 protected AssociationConnectorModelChange(AssociationConnector associationConnector)
 {
     _associationConnector = associationConnector;
 }
Ejemplo n.º 5
0
 internal AssociationConnectorDelete(AssociationConnector associationConnector)
     : base(associationConnector)
 {
 }
        private static void TranslateAssociationConnectors(
            AssociationConnector dslAssociationConnector, DesignerModel.AssociationConnector modelAssociationConnector,
            IList<ViewModelDiagram.ShapeElement> shapesToAutoLayout)
        {
            dslAssociationConnector.ManuallyRouted = modelAssociationConnector.ManuallyRouted.Value;
            // if the EdgePoint values is an empty collection or connectors are not manually routed, add the shape element to the collections that will be autolayout.
            if (modelAssociationConnector.ManuallyRouted.Value == false
                || modelAssociationConnector.ConnectorPoints.Count == 0)
            {
                if (shapesToAutoLayout.Contains(dslAssociationConnector) == false)
                {
                    shapesToAutoLayout.Add(dslAssociationConnector);
                }
            }
            else
            {
                var collection = new ViewModelDiagram.EdgePointCollection();
                foreach (var connectorPoint in modelAssociationConnector.ConnectorPoints)
                {
                    collection.Add(
                        new ViewModelDiagram.EdgePoint(connectorPoint.PointX.Value, connectorPoint.PointY.Value, VGPointType.Normal));
                }

                if (AreEdgePointsIdentical(dslAssociationConnector.EdgePoints, collection) == false)
                {
                    dslAssociationConnector.EdgePoints = collection;
                }
            }
        }