CustomPropertyDescriptor Class

Definition

DomainRelationship CustomPropertyDescriptor Relates a type descriptor to a property path, thereby defining a custom property descriptor.

public ref class CustomPropertyDescriptor sealed : Microsoft::VisualStudio::Modeling::ElementLink
[Microsoft.VisualStudio.Modeling.Design.DescriptionResource("Microsoft.VisualStudio.Modeling.DslDefinition.CustomPropertyDescriptor.Description", typeof(Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")]
[Microsoft.VisualStudio.Modeling.Design.DisplayNameResource("Microsoft.VisualStudio.Modeling.DslDefinition.CustomPropertyDescriptor.DisplayName", typeof(Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")]
[Microsoft.VisualStudio.Modeling.DomainModelOwner(typeof(Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDomainModel))]
[Microsoft.VisualStudio.Modeling.DomainObjectId("7ca5645c-dca6-4128-8864-b70deacb107d")]
[Microsoft.VisualStudio.Modeling.DomainRelationship(IsEmbedding=true)]
[System.CLSCompliant(true)]
public sealed class CustomPropertyDescriptor : Microsoft.VisualStudio.Modeling.ElementLink
[<Microsoft.VisualStudio.Modeling.Design.DescriptionResource("Microsoft.VisualStudio.Modeling.DslDefinition.CustomPropertyDescriptor.Description", typeof(Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")>]
[<Microsoft.VisualStudio.Modeling.Design.DisplayNameResource("Microsoft.VisualStudio.Modeling.DslDefinition.CustomPropertyDescriptor.DisplayName", typeof(Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDomainModel), "Microsoft.VisualStudio.Modeling.DslDefinition.GeneratedCode.DomainModelResx")>]
[<Microsoft.VisualStudio.Modeling.DomainModelOwner(typeof(Microsoft.VisualStudio.Modeling.DslDefinition.DslDefinitionModelDomainModel))>]
[<Microsoft.VisualStudio.Modeling.DomainObjectId("7ca5645c-dca6-4128-8864-b70deacb107d")>]
[<Microsoft.VisualStudio.Modeling.DomainRelationship(IsEmbedding=true)>]
[<System.CLSCompliant(true)>]
type CustomPropertyDescriptor = class
    inherit ElementLink
Public NotInheritable Class CustomPropertyDescriptor
Inherits ElementLink
Inheritance
CustomPropertyDescriptor
Attributes

Constructors

CustomPropertyDescriptor(DomainTypeDescriptor, PropertyPath)

Constructor Creates a CustomPropertyDescriptor link in the same Partition as the given DomainTypeDescriptor

CustomPropertyDescriptor(Partition, RoleAssignment[])

Constructor

CustomPropertyDescriptor(Partition, RoleAssignment[], PropertyAssignment[])

Constructor

CustomPropertyDescriptor(Store, RoleAssignment[])

Constructor

CustomPropertyDescriptor(Store, RoleAssignment[], PropertyAssignment[])

Constructor

Fields

CategoryDomainPropertyId

Category domain property Id.

DisplayNameDomainPropertyId

DisplayName domain property Id.

DistantPropertyPathDomainRoleId

DistantPropertyPath domain role Id.

DomainClassId

CustomPropertyDescriptor domain class Id.

GeneratesCustomPropertyDescriptorDomainPropertyId

GeneratesCustomPropertyDescriptor domain property Id.

IsUIReadOnlyDomainPropertyId

IsUIReadOnly domain property Id.

TypeDescriptorDomainRoleId

TypeDescriptor domain role Id.

Properties

Category

Gets or sets the value of Category domain property. Category under which the property appears in the properties window.

DisplayName

Gets or sets the value of DisplayName domain property. The name that will be displayed in the generated designer for the property.

DistantPropertyPath

DomainRole DistantPropertyPath

GeneratesCustomPropertyDescriptor

Gets or sets the value of GeneratesCustomPropertyDescriptor domain property. If True, a custom property descriptor is generated.

Id

Unique identifier of this element.

(Inherited from ModelElement)
IsActive

Returns true if the Element is currently active within the model, false if the element has been deleted or is in the process of being deleted.

(Inherited from ModelElement)
IsDeleted

Has the element been deleted from the model. (Deleted elements are not immediately destroyed so that the undo command may undo deleting the element.)

(Inherited from ModelElement)
IsDeleting

Has the element been deleted from the model. (Deleted elements are not immediately destroyed so that the undo command may undo deleting the element.)

(Inherited from ModelElement)
IsUIReadOnly

Gets or sets the value of IsUIReadOnly domain property. If True, the property can not be edited through the UI when browsed.

LinkedElements

Gets a read-only collection of elements connected by this element link.

(Inherited from ElementLink)
Partition

Gets or sets the Partition instance that contains this element.

(Inherited from ModelElement)
Store

Get the Store instance that contains this element.

(Inherited from ModelElement)
TypeDescriptor

DomainRole TypeDescriptor Paths identifying properties to be included in the type descriptor.

Methods

CanMerge(ProtoElementBase, ElementGroupPrototype)

Returns a value indicating whether the source element represented by the specified root ProtoElement can be added to this element.

(Inherited from ModelElement)
ChooseMergeTarget(ElementGroup)

Gets the ModelElement to be used as the target for the ElementGroup merge process.
This is called by the merge process when this element is the target of the merge.
This provides this element with the opportunity to change the target to something other than itself.

(Inherited from ModelElement)
ChooseMergeTarget(ElementGroupPrototype)

Gets the ModelElement to be used as the target for the ElementGroupPrototype merge process.
This is called by the merge process when this element is the target of the merge.
This provides this element with the opportunity to change the target to something other than itself.

(Inherited from ModelElement)
Copy()

Creates a copy of the element in the model.

(Inherited from ModelElement)
Copy(IEnumerable<Guid>)

Creates a copy of the element in the model.

(Inherited from ModelElement)
Delete()

Deletes the element from the model.

(Inherited from ModelElement)
Delete(Guid[])

Deletes the element from the model.

(Inherited from ModelElement)
GetDomainClass()

Gets the most-derived domain class for this element.

(Inherited from ModelElement)
GetDomainRelationship()

Gets domain relationship this ElementLink instantiates.

(Inherited from ElementLink)
GetLink(DomainTypeDescriptor, PropertyPath)

Get the one CustomPropertyDescriptor link between a given DomainTypeDescriptorand a PropertyPath.

GetLinks(DomainTypeDescriptor, PropertyPath)

Get any CustomPropertyDescriptor links between a given DomainTypeDescriptor and a PropertyPath.

GetLinksToPathsOfCustomPropertyDescriptors(DomainTypeDescriptor)

Get the list of CustomPropertyDescriptor links to a DomainTypeDescriptor.

GetLinkToTypeDescriptor(PropertyPath)

Get the CustomPropertyDescriptor link to a PropertyPath.

GetPathsOfCustomPropertyDescriptors(DomainTypeDescriptor)

Gets a list of PathsOfCustomPropertyDescriptors.

GetRoleCollection<TCollection,TElement>(Guid)

Gets or creates the linked element collection

(Inherited from ModelElement)
GetTypeDescriptor(PropertyPath)

Gets TypeDescriptor.

MergeConfigure(ElementGroup)

Called by the Merge process to allow this model element to configure itself immediately after the Merge process has related it to the target element.

(Inherited from ModelElement)
MergeDisconnect(ModelElement)

Performs operation opposite to MergeRelate - i.e. disconnects a given element from the current one (removes links created by MergeRelate).

(Inherited from ModelElement)
MergeRelate(ModelElement, ElementGroup)

Called by the Merge process to create a relationship between this target element and the specified source element. Typically, a parent-child relationship is established between the target element (the parent) and the source element (the child), but any relationship can be established.

(Inherited from ModelElement)
MoveBefore(DomainRoleInfo, ElementLink)

Move this link in the list of relationships contained by the element playing a particular role before a particular link in that relationship list.

(Inherited from ElementLink)
MoveToIndex(DomainRoleInfo, Int32)

Move this link in the list of relationships contained by the element playing a particular role to a specified index in that relationship list.

(Inherited from ElementLink)
OnCopy(ModelElement)

Called when a copy of the element has been created. The method is called on the duplicate element.

(Inherited from ModelElement)
OnDeleted()

Called by the model after the element has been deleted.

(Inherited from ModelElement)
OnDeleting()

Called by the model before the element is deleted.

(Inherited from ModelElement)
OnResurrected()

Called by the model after the element has been resurrected (placed back into the store).

(Inherited from ModelElement)
OnRolePlayerChanged(DomainRoleInfo, ModelElement, ModelElement, Int32)

Called when the role player has be changed

(Inherited from ElementLink)
OnRolePlayerChanging(DomainRoleInfo, ModelElement, ModelElement, Int32)

Called when the role player will be changing

(Inherited from ElementLink)
OnRolePlayerPositionChanged(DomainRoleInfo, ElementLink, Int32, Int32)

Virtual method for notifying when role player position has changed.

(Inherited from ModelElement)
OnRolePlayerPositionChanging(DomainRoleInfo, ElementLink, Int32, Int32)

Virtual method for notifying when role player position will be changing.

(Inherited from ModelElement)
SetTypeDescriptor(PropertyPath, DomainTypeDescriptor)

Sets TypeDescriptor.

Explicit Interface Implementations

IMergeElements.CanMerge(ProtoElementBase, ElementGroupPrototype) (Inherited from ModelElement)
IMergeElements.ChooseMergeTarget(ElementGroup) (Inherited from ModelElement)
IMergeElements.ChooseMergeTarget(ElementGroupPrototype) (Inherited from ModelElement)
IMergeElements.MergeConfigure(ElementGroup) (Inherited from ModelElement)
IMergeElements.MergeDisconnect(ModelElement) (Inherited from ModelElement)
IMergeElements.MergeRelate(ModelElement, ElementGroup) (Inherited from ModelElement)

Extension Methods

AddExtension(ModelElement, DomainClassInfo)

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.

AddExtension(ModelElement, ExtensionElement)

Extend this ModelElement with a specific extension. An InvalidOperationException will be thrown if the element already has an extension of the same type.

AddExtension(ModelElement, Guid)

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.

AddExtension(ModelElement, Type)

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.

AddExtension<T>(ModelElement)

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.

GetAllExtensions(ModelElement)

Return an enumerable that performs a breadth first traversal across the tree of extension elements embedded in this ModelElement.

GetBaseElement(ModelElement)

Returns the root of the virtual MEL in which the specified ModelElement is participating.

GetExtension(ModelElement, DomainClassInfo)
GetExtension(ModelElement, Guid)
GetExtension(ModelElement, Type)

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.

GetExtension<T>(ModelElement)

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.

IsExtendedBy(ModelElement, DomainClassInfo)

Query whether this ModelElement is currently extended by an ExtensionElement of a particular type.

IsExtendedBy(ModelElement, Guid)

Query whether this ModelElement is currently extended by an ExtensionElement of a particular type.

IsExtendedBy(ModelElement, Type)

Query whether this ModelElement is currently extended by an ExtensionElement of a particular type.

RemoveExtension(ModelElement, DomainClassInfo)

Remove any extension of the specified ModelElement that is of a particular type.

RemoveExtension(ModelElement, ExtensionElement)

Remove a specified ExtensionElement from the extensions of this ModelElement.

RemoveExtension(ModelElement, Guid)

Remove any extension of the specified ModelElement that is of a particular type.

RemoveExtension(ModelElement, Type)

Remove any extension of this ModelElement that is of a particular type.

TryGetExtension(ModelElement, DomainClassInfo)
TryGetExtension(ModelElement, Guid)
TryGetExtension(ModelElement, Type)
TryGetExtension<T>(ModelElement)

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.

CanDelete(ModelElement, Guid[])

Deletes the element from the model.

GetLocks(ModelElement)

Get the lock flags for this element. This will include any locks enabled on the Partition containing the element.

IsLocked(ModelElement, Locks)

Test whether this element has any of a specified set of locks

SetLocks(ModelElement, Locks)

Set the lock flags of this element

Applies to