internal override void GenerateSubCommands() { PSMAttribute attribute = Project.TranslateComponent <PSMAttribute>(AttributeGuid); PSMClass oldclass = attribute.PSMClass; PSMClass newclass = Project.TranslateComponent <PSMClass>(PSMClassGuid); List <PSMGeneralization> path = oldclass.GetGeneralizationPathTo(newclass); for (int i = 0; i < path.Count; i++) { Commands.Add(new acmdGeneralizePSMAttribute(Controller, attribute) { Propagate = Propagate }); } }
internal override void GenerateSubCommands() { PSMAssociation association = Project.TranslateComponent <PSMAssociation>(AssociationGuid); PSMClass oldclass = association.Parent as PSMClass; PSMClass newclass = Project.TranslateComponent <PSMClass>(PSMClassGuid); List <PSMGeneralization> path = oldclass.GetGeneralizationPathTo(newclass); for (int i = 0; i < path.Count; i++) { Commands.Add(new acmdGeneralizePSMAssociation(Controller, association) { Propagate = Propagate }); } }