Class Node
A base class to represent items that appear in a hierarchical navigation control.
Inherited Members
Namespace: Algenta.Colectica.Navigator.NodeTypes
Assembly: Algenta.Colectica.ViewModel.dll
Syntax
public abstract class Node : NotificationObject
Properties
AreChildrenEditable
Determines whether children of this item should be able to be edited. Generally, things should not be edited unless the top level node is a File or a Checkout. Direct repository editing should be disallowed.
Declaration
public bool AreChildrenEditable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
AreChildrenRemote
Determines whether population of children may have high latency. User interfaces requiring responsiveness should thread population calls when this is true.
Declaration
public bool AreChildrenRemote { get; protected set; }
Property Value
Type | Description |
---|---|
System.Boolean |
AutoExpandChildren
Gets or sets a value indicating whether children are automatically expanded when this node is displayed.
Declaration
public bool AutoExpandChildren { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Children
Gets a list of this node's child nodes.
Declaration
public ObservableCollection<Node> Children { get; }
Property Value
Type | Description |
---|---|
ObservableCollection<Node> |
ExternalLink
Gets or sets an external URL associated with the node. For nodes that do not have a built-in view, Colectica Designer will show this link when the item is selected in the navigator.
Declaration
public Uri ExternalLink { get; set; }
Property Value
Type | Description |
---|---|
Uri |
Header
Gets or sets the text displayed for the node.
Declaration
public string Header { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Identifier
Gets a unique identifier for the node.
Declaration
public string Identifier { get; protected set; }
Property Value
Type | Description |
---|---|
System.String |
IsChildOfLockedItem
Gets a value indicating whether any parent of the item represented by this node is in a read-only state.
Declaration
public bool IsChildOfLockedItem { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsDeprecated
Gets or sets a value indicating whether the item represented by this node is deprecated.
Declaration
public bool IsDeprecated { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsExpanded
Gets or sets a value indicating whether the children of this node are currently displayed.
Declaration
public bool IsExpanded { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsLocallyModified
Gets a value indicating whether the item represented by this node has modifications that have not been published to the authoritative remote repository.
Declaration
public bool IsLocallyModified { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsLocalUpdateAvailable
Gets a value indicating whether a newer version of the item represented by this node is available in the local database.
Declaration
public bool IsLocalUpdateAvailable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsRare
Gets or sets a value indicating whether this node is commonly used. This controls whether the node is displayed in the main area of the navigation control, or in a collapsed expander that the user must expand to see this node.
Declaration
public bool IsRare { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsReadOnly
Gets a value indicating whether the item represented by this node can be edited.
Declaration
public bool IsReadOnly { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsRemoteUpdateAvailable
Gets a value indicating whether a newer version of the item represented by this node is available from a remote repository.
Declaration
public bool IsRemoteUpdateAvailable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsSelected
Gets or sets a value indicating whether this node is currently selected.
Declaration
public bool IsSelected { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsStatic
If true, the node itself must add children to its Children
property, and not by the current navigation mode.
Declaration
public bool IsStatic { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsUnderEditableParent
Gets a value indicating whether the node has any parents that may be edited.
Declaration
public bool IsUnderEditableParent { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsUpdateAvailable
Gets a value indicating whether a newer version of the item represented by this node is available from either the local or remote repository.
Declaration
public bool IsUpdateAvailable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ItemType
Gets or sets the type of the navigation node, which is used to determine the image to be displayed for the node.
Declaration
public Guid ItemType { get; set; }
Property Value
Type | Description |
---|---|
Guid |
Parent
Gets the parent node.
Declaration
public Node Parent { get; set; }
Property Value
Type | Description |
---|---|
Node |
Path
Gets the full path to the node, which consists of the identifiers of all parent nodes with this node, joined together with the "/" character.
Declaration
public string Path { get; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
The path includes identifiers for items that are not version-specific.
ToolTip
Gets or sets the tooltip for the node.
Declaration
public string ToolTip { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Methods
CopyPropertiesIfNodeIsMatch(Node)
Copies the state information from the specified node to this node.
Declaration
public virtual void CopyPropertiesIfNodeIsMatch(Node node)
Parameters
Type | Name | Description |
---|---|---|
Node | node | The node from which properties should be copied. |
GetClient()
Gets a repository client for the node, either from the node itself or from the first parent node that implements the IHaveClient interface.
Declaration
public RepositoryClientBase GetClient()
Returns
Type | Description |
---|---|
RepositoryClientBase | A repository client if one is available; otherwise |
GetFlattenedChildren(Collection<Node>)
Gets all the child nodes beneath this one.
Declaration
public void GetFlattenedChildren(Collection<Node> nodes)
Parameters
Type | Name | Description |
---|---|---|
Collection<Node> | nodes |
GetParentNodeWithVersionable()
Starting with the current node, returns the first node that implements IVersionableProvider, searching upwards among the node's parents.
Declaration
public Node GetParentNodeWithVersionable()
Returns
Type | Description |
---|---|
Node | The first node that implements IVersionableProvider if one exists; otherwise |
GetParentOfType<T>()
Gets the first parent of this node which is of the specified type.
Declaration
public T GetParentOfType<T>()where T : Node
Returns
Type | Description |
---|---|
T | The parent node of the specified type if one is found; otherwise |
Type Parameters
Name | Description |
---|---|
T | The type of parent node for which to search. |
IsItemUnderType<T>()
Determines whether this node has a parent node of the specified type.
Declaration
public bool IsItemUnderType<T>()where T : Node
Returns
Type | Description |
---|---|
System.Boolean |
|
Type Parameters
Name | Description |
---|---|
T | The type of parent node for which to search. |