コード例 #1
0
        internal static void RolePlayerChanged(DslModeling::RolePlayerChangedEventArgs e, bool repaintOnly)
        {
            if (e == null)
            {
                throw new global::System.ArgumentNullException("e");
            }
            if (typeof(global::EPAM.NHModelingLanguage.EntityHasProperties).IsAssignableFrom(e.DomainRelationship.ImplementationClass))
            {
                if (e.DomainRole.IsSource)
                {
                    //global::System.Collections.IEnumerable oldElements = CompartmentItemAddRule.GetEntityForEntityShapePropertiesFromLastLink((global::EPAM.NHModelingLanguage.Property)e.OldRolePlayer);
                    //foreach(DslModeling::ModelElement element in oldElements)
                    //{
                    //	DslModeling::LinkedElementCollection<DslDiagrams::PresentationElement> pels = DslDiagrams::PresentationViewsSubject.GetPresentation(element);
                    //	foreach(DslDiagrams::PresentationElement pel in pels)
                    //	{
                    //		global::EPAM.NHModelingLanguage.EntityShape compartmentShape = pel as global::EPAM.NHModelingLanguage.EntityShape;
                    //		if(compartmentShape != null)
                    //		{
                    //			compartmentShape.GetCompartmentMappings()[0].InitializeCompartmentShape(compartmentShape);
                    //		}
                    //	}
                    //}

                    global::System.Collections.IEnumerable elements = CompartmentItemAddRule.GetEntityForEntityShapePropertiesFromLastLink((global::EPAM.NHModelingLanguage.EntityHasProperties)e.ElementLink);
                    CompartmentItemAddRule.UpdateCompartments(elements, typeof(global::EPAM.NHModelingLanguage.EntityShape), "Properties", repaintOnly);
                }
                else
                {
                    global::System.Collections.IEnumerable elements = CompartmentItemAddRule.GetEntityForEntityShapeProperties((global::EPAM.NHModelingLanguage.Property)e.NewRolePlayer);
                    CompartmentItemAddRule.UpdateCompartments(elements, typeof(global::EPAM.NHModelingLanguage.EntityShape), "Properties", repaintOnly);
                }
            }
        }
コード例 #2
0
        internal static void RolePlayerChanged(DslModeling::RolePlayerChangedEventArgs e, bool repaintOnly)
        {
            if (e == null)
            {
                throw new global::System.ArgumentNullException("e");
            }
            if (typeof(global::ORMSolutions.ORMArchitect.RelationalModels.ConceptualDatabase.TableContainsColumn).IsAssignableFrom(e.DomainRelationship.ImplementationClass))
            {
                if (e.DomainRole.IsSource)
                {
                    //global::System.Collections.IEnumerable oldElements = CompartmentItemAddRule.GetTableForTableShapeColumnsCompartmentFromLastLink((global::ORMSolutions.ORMArchitect.RelationalModels.ConceptualDatabase.Column)e.OldRolePlayer);
                    //foreach(DslModeling::ModelElement element in oldElements)
                    //{
                    //	DslModeling::LinkedElementCollection<DslDiagrams::PresentationElement> pels = DslDiagrams::PresentationViewsSubject.GetPresentation(element);
                    //	foreach(DslDiagrams::PresentationElement pel in pels)
                    //	{
                    //		global::ORMSolutions.ORMArchitect.Views.RelationalView.TableShape compartmentShape = pel as global::ORMSolutions.ORMArchitect.Views.RelationalView.TableShape;
                    //		if(compartmentShape != null)
                    //		{
                    //			compartmentShape.GetCompartmentMappings()[0].InitializeCompartmentShape(compartmentShape);
                    //		}
                    //	}
                    //}

                    global::System.Collections.IEnumerable elements = CompartmentItemAddRule.GetTableForTableShapeColumnsCompartmentFromLastLink((global::ORMSolutions.ORMArchitect.RelationalModels.ConceptualDatabase.TableContainsColumn)e.ElementLink);
                    CompartmentItemAddRule.UpdateCompartments(elements, typeof(global::ORMSolutions.ORMArchitect.Views.RelationalView.TableShape), "ColumnsCompartment", repaintOnly);
                }
                else
                {
                    global::System.Collections.IEnumerable elements = CompartmentItemAddRule.GetTableForTableShapeColumnsCompartment((global::ORMSolutions.ORMArchitect.RelationalModels.ConceptualDatabase.Column)e.NewRolePlayer);
                    CompartmentItemAddRule.UpdateCompartments(elements, typeof(global::ORMSolutions.ORMArchitect.Views.RelationalView.TableShape), "ColumnsCompartment", repaintOnly);
                }
            }
        }
コード例 #3
0
ファイル: Diagram.cs プロジェクト: vijumn/open-wssf-2015
        /// <summary>
        /// Reroute a connector when the role players of its underlying relationship change
        /// </summary>
        public override void RolePlayerChanged(DslModeling::RolePlayerChangedEventArgs e)
        {
            if (e == null)
            {
                throw new global::System.ArgumentNullException("e");
            }

            global::System.Collections.ObjectModel.ReadOnlyCollection <DslDiagrams::PresentationViewsSubject> connectorLinks = DslDiagrams::PresentationViewsSubject.GetLinksToPresentation(e.ElementLink);
            foreach (DslDiagrams::PresentationViewsSubject connectorLink in connectorLinks)
            {
                // Fix up any binary link shapes attached to the element link.
                DslDiagrams::BinaryLinkShape linkShape = connectorLink.Presentation as DslDiagrams::BinaryLinkShape;
                if (linkShape != null)
                {
                    global::Microsoft.Practices.ServiceFactory.HostDesigner.HostDesignerDiagram diagram = linkShape.Diagram as global::Microsoft.Practices.ServiceFactory.HostDesigner.HostDesignerDiagram;
                    if (diagram != null)
                    {
                        if (e.NewRolePlayer != null)
                        {
                            DslDiagrams::NodeShape fromShape;
                            DslDiagrams::NodeShape toShape;
                            diagram.GetSourceAndTargetForConnector(linkShape, out fromShape, out toShape);
                            if (fromShape != null && toShape != null)
                            {
                                if (!object.Equals(fromShape, linkShape.FromShape))
                                {
                                    linkShape.FromShape = fromShape;
                                }
                                if (!object.Equals(linkShape.ToShape, toShape))
                                {
                                    linkShape.ToShape = toShape;
                                }
                            }
                            else
                            {
                                // delete the connector if we cannot find an appropriate target shape.
                                linkShape.Delete();
                            }
                        }
                        else
                        {
                            // delete the connector if the new role player is null.
                            linkShape.Delete();
                        }
                    }
                }
            }
        }
コード例 #4
0
 /// <summary>
 /// Called when the roleplayer on a link changes.
 /// </summary>
 /// <param name="e"></param>
 public override void RolePlayerChanged(DslModeling::RolePlayerChangedEventArgs e)
 {
     RolePlayerChanged(e, false);
 }
コード例 #5
0
        /// <summary>
        /// Event for role-player changed.
        /// </summary>
        private void CompartmentItemRolePlayerChanged(object sender, DslModeling::RolePlayerChangedEventArgs e)
        {
            bool repaintOnly = !e.ElementLink.Store.InUndoRedoOrRollback;

            CompartmentItemRolePlayerChangeRule.RolePlayerChanged(e, repaintOnly);
        }
コード例 #6
0
 /// <summary>
 /// Event for role-player changed.
 /// </summary>
 private void CompartmentItemRolePlayerChanged(object sender, DslModeling::RolePlayerChangedEventArgs e)
 {
     CompartmentItemRolePlayerChangeRule.RolePlayerChanged(e, true /* repaint only */);
 }