PresentationViewsSubject Class

The relationship between domain model elements and their presentation in a user interface, typically a diagram.

Inheritance Hierarchy

System.Object
  Microsoft.VisualStudio.Modeling.ModelElement
    Microsoft.VisualStudio.Modeling.ElementLink
      Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject

Namespace:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.10.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.10.0.dll)

Syntax

'Declaration
<DomainRelationshipAttribute> _
<DomainObjectIdAttribute("12191931-25c5-4008-8410-c1252f0dc7dc")> _
<CLSCompliantAttribute(True)> _
<DisplayNameResourceAttribute("Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.DisplayName",  _
    GetType(CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")> _
<DescriptionResourceAttribute("Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.Description",  _
    GetType(CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")> _
<DomainModelOwnerAttribute(GetType(CoreDesignSurfaceDomainModel))> _
Public Class PresentationViewsSubject _
    Inherits ElementLink
[DomainRelationshipAttribute]
[DomainObjectIdAttribute("12191931-25c5-4008-8410-c1252f0dc7dc")]
[CLSCompliantAttribute(true)]
[DisplayNameResourceAttribute("Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.DisplayName", 
    typeof(CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")]
[DescriptionResourceAttribute("Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.Description", 
    typeof(CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")]
[DomainModelOwnerAttribute(typeof(CoreDesignSurfaceDomainModel))]
public class PresentationViewsSubject : ElementLink
[DomainRelationshipAttribute]
[DomainObjectIdAttribute(L"12191931-25c5-4008-8410-c1252f0dc7dc")]
[CLSCompliantAttribute(true)]
[DisplayNameResourceAttribute(L"Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.DisplayName", 
    typeof(CoreDesignSurfaceDomainModel), L"Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")]
[DescriptionResourceAttribute(L"Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.Description", 
    typeof(CoreDesignSurfaceDomainModel), L"Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")]
[DomainModelOwnerAttribute(typeof(CoreDesignSurfaceDomainModel))]
public ref class PresentationViewsSubject : public ElementLink
[<DomainRelationshipAttribute>]
[<DomainObjectIdAttribute("12191931-25c5-4008-8410-c1252f0dc7dc")>]
[<CLSCompliantAttribute(true)>]
[<DisplayNameResourceAttribute("Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.DisplayName", 
    typeof(CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")>]
[<DescriptionResourceAttribute("Microsoft.VisualStudio.Modeling.Diagrams.PresentationViewsSubject.Description", 
    typeof(CoreDesignSurfaceDomainModel), "Microsoft.VisualStudio.Modeling.Diagrams.GeneratedCode.DomainModelResx")>]
[<DomainModelOwnerAttribute(typeof(CoreDesignSurfaceDomainModel))>]
type PresentationViewsSubject =  
    class
        inherit ElementLink
    end
public class PresentationViewsSubject extends ElementLink

The PresentationViewsSubject type exposes the following members.

Constructors

  Name Description
Public method PresentationViewsSubject(Partition, array<RoleAssignment[]) Construct the relationship in a given partition.
Public method PresentationViewsSubject(PresentationElement, ModelElement) Creates a PresentationViewsSubject link in the same Partition as the given PresentationElement
Public method PresentationViewsSubject(Store, array<RoleAssignment[]) Constructs the relationship in the default partition for this relationship in the given Store.
Public method PresentationViewsSubject(Partition, array<RoleAssignment[], array<PropertyAssignment[]) Construct the relationship with property assignments
Public method PresentationViewsSubject(Store, array<RoleAssignment[], array<PropertyAssignment[]) Constructs the relationship in the default partition for this relationship in the given Store.

Top

Properties

  Name Description
Public property Id Gets the ID of the element. (Inherited from ModelElement.)
Public property IsActive Gets the IsActive flag and verifies to see whether the element is active. (Inherited from ModelElement.)
Public property IsDeleted Gets the IsDeleted flag and checks to see whether the element has been deleted from the model. (Inherited from ModelElement.)
Public property IsDeleting Gets the IsDeleting flag and verifies whether the element is currently being deleted from the model. (Inherited from ModelElement.)
Public property LinkedElements Gets a read-only collection of elements connected by this element link. (Inherited from ElementLink.)
Public property Partition Gets or sets the Partition that contains the element. (Inherited from ModelElement.)
Public property Presentation The PresentationElement that represents the Subject.
Public property Store Gets the Store that contains the element. (Inherited from ModelElement.)
Public property Subject The domain model element that is presented at the user interface by the Presentation.

Top

Methods

  Name Description
Protected method CanMerge Verifies whether a source element can be added to this element. (Inherited from ModelElement.)
Protected method ChooseMergeTarget(ElementGroup) Selects a target element to accept as its child an element that the user wants to copy, drag, or create. (Inherited from ModelElement.)
Protected method ChooseMergeTarget(ElementGroupPrototype) Selects a target element to accept as its child an element that the user wants to copy, drag, or create. (Inherited from ModelElement.)
Public method Copy() Creates a copy of the element in the model. (Inherited from ModelElement.)
Public method Copy(IEnumerable<Guid>) Creates a copy of the element and its child links and elements. (Inherited from ModelElement.)
Public method Delete() Deletes an element from the model. (Inherited from ModelElement.)
Public method Delete(array<Guid[]) Deletes an element from the model. (Inherited from ModelElement.)
Public method Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetDomainClass Gets the most-derived domain class for this element. (Inherited from ModelElement.)
Public method GetDomainRelationship Gets the domain relationship that this link instantiates. (Inherited from ElementLink.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodStatic member GetLink Get the PresentationViewsSubject link between a given PresentationElementand a ModelElement.
Public methodStatic member GetLinks Get any PresentationViewsSubject links between a given PresentationElement and a ModelElement.
Public methodStatic member GetLinksToPresentation Get the list of PresentationViewsSubject links to a ModelElement.
Public methodStatic member GetLinkToSubject Get the PresentationViewsSubject link from a PresentationElement to the domain model element that it displays. You can also use PresentationElement.ModelElement.
Public methodStatic member GetPresentation Gets the PresentationElements that display a given domain model element.
Protected method GetRoleCollection<TCollection, TElement>(Guid) Gets or creates the linked element collection (Inherited from ModelElement.)
Public methodStatic member GetSubject Gets the model element that is displayed by the presentation element.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MergeConfigure Allows the model element to configure itself immediately after the Merge process has related it to the target element. (Inherited from ModelElement.)
Protected method MergeDisconnect Disconnects a source element from a target element. (Inherited from ModelElement.)
Protected method MergeRelate Creates a relationship between this target element and the specified source element. (Inherited from ModelElement.)
Public method MoveBefore Change the order of links connected to an element, moving this link before another. (Inherited from ElementLink.)
Public method MoveToIndex Move this link to a specified index position in the list. (Inherited from ElementLink.)
Protected method OnCopy Called when this element has been created as a copy of another element. (Inherited from ModelElement.)
Protected method OnDeleted Called when this element has been deleted from the model. (Inherited from ModelElement.)
Protected method OnDeleting Called when this element is about to be deleted. (Inherited from ModelElement.)
Protected method OnResurrected Called when this element has been added back to a model. (Inherited from ModelElement.)
Protected method OnRolePlayerChanged Called when the role player has been changed. (Inherited from ElementLink.)
Protected method OnRolePlayerChanging Called when the role player will be changed. (Inherited from ElementLink.)
Protected method OnRolePlayerPositionChanged Called when the position of a role has changed. (Inherited from ModelElement.)
Protected method OnRolePlayerPositionChanging Called when a role player position is about to change. (Inherited from ModelElement.)
Public methodStatic member SetSubject Sets the model element that is displayed by the presentation element.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Extension Methods

  Name Description
Public Extension Method AddExtension(Guid) Overloaded. Extend this ModelElement with newly instantiated extension of the identified domain type. An InvalidOperationException will be thrown if the element already has an extension of that type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension(Type) Overloaded. Extend this ModelElement with a newly instantiated extension of the specified type. An InvalidOperationException will be thrown if the element already has an extension of that type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension(DomainClassInfo) Overloaded. Extend this ModelElement with a newly instantiated extension of the specified domain type. An InvalidOperationException will be thrown if the element already has an extension of that type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension(ExtensionElement) Overloaded. Extend this ModelElement with a specific extension. An InvalidOperationException will be thrown if the element already has an extension of the same type. (Defined by ModelElementExtensionMethods.)
Public Extension Method AddExtension<T>() Overloaded. Extend this ModelElement with a newly instantiated extension of a particular type. An InvalidOperationException will be thrown if the element already has an extension of the same type. (Defined by ModelElementExtensionMethods.)
Public Extension Method CanDelete Deletes the element from the model. (Defined by ImmutabilityExtensionMethods.)
Public Extension Method GetAllExtensions Return an enumerable that performs a breadth first traversal across the tree of extension elements embedded in this ModelElement. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetBaseElement Returns the root of the virtual MEL in which the specified ModelElement is participating. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension(Guid) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension(Type) Overloaded. Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If the element has no such extension then an InvalidOperationException will be raised. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension(DomainClassInfo) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetExtension<T>() Overloaded. Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If the element has no such extension then an InvalidOperationException will be raised. (Defined by ModelElementExtensionMethods.)
Public Extension Method GetLocks Get the lock flags for this element. This will include any locks enabled on the Partition containing the element. (Defined by ImmutabilityExtensionMethods.)
Public Extension Method IsExtendedBy(Guid) Overloaded. Query whether this ModelElement is currently extended by an ExtensionElement of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method IsExtendedBy(Type) Overloaded. Query whether this ModelElement is currently extended by an ExtensionElement of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method IsExtendedBy(DomainClassInfo) Overloaded. Query whether this ModelElement is currently extended by an ExtensionElement of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method IsLocked Test whether this element has any of a specified set of locks (Defined by ImmutabilityExtensionMethods.)
Public Extension Method RemoveExtension(Type) Overloaded. Remove any extension of this ModelElement that is of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method RemoveExtension(Guid) Overloaded. Remove any extension of the specified ModelElement that is of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method RemoveExtension(DomainClassInfo) Overloaded. Remove any extension of the specified ModelElement that is of a particular type. (Defined by ModelElementExtensionMethods.)
Public Extension Method RemoveExtension(ExtensionElement) Overloaded. Remove a specified ExtensionElement from the extensions of this ModelElement. (Defined by ModelElementExtensionMethods.)
Public Extension Method SetLocks Set the lock flags of this element (Defined by ImmutabilityExtensionMethods.)
Public Extension Method TryGetExtension(Guid) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method TryGetExtension(Type) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method TryGetExtension(DomainClassInfo) Overloaded. (Defined by ModelElementExtensionMethods.)
Public Extension Method TryGetExtension<T>() Overloaded. Get the ExtensionElement of the specified type from the available extensions of this ModelElement. If this element has no such extension then the result will be null. (Defined by ModelElementExtensionMethods.)

Top

Fields

  Name Description
Public fieldStatic member DomainClassId PresentationViewsSubject domain class Id.
Public fieldStatic member PresentationDomainRoleId Presentation domain role Id.
Public fieldStatic member SubjectDomainRoleId Subject domain role Id.

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IMergeElements.CanMerge Returns true if this element can merge with the content of the prototype. (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.ChooseMergeTarget(ElementGroup) (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.ChooseMergeTarget(ElementGroupPrototype) (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.MergeConfigure (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.MergeDisconnect (Inherited from ModelElement.)
Explicit interface implemetationPrivate method IMergeElements.MergeRelate (Inherited from ModelElement.)

Top

Remarks

In a DSL, the semantic aspects of a model are separated from their presentation to the user. One class of domain model element could have more than one alternative type of presentation in the user interface, for example as a shape, or as a line of text.

This relationship links domain model elements to presentation elements.

In a DSL Definition file, the Domain Element Mapping between a shape and a domain class determines what subclasses of domain element and presentation element are linked using PresentationViewsSubject.

These are the most common techniques for using this relationship:

  • To navigate from a domain model element to its user interface presentation, use the static method GetPresentation(ModelElement).

  • To navigate from a presentation element to its domain model element, use the ModelElement property on the presentation element.

  • To create a new link, set the ModelElement property of the presentation element. You do not usually have to do this explicitly, because a shape is created automatically when you add a new element to the domain model.

For more information, see [redirect] How to: Navigate and Update a Diagram.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Modeling.Diagrams Namespace

PresentationElement

ModelElement