Show / Hide Table of Contents

Class NavigationModeGroupBase

Provides a base class from which implementations of INavigationModeGroup can be derived.

Inheritance
object
NavigationModeGroupBase
Implements
INavigationModeGroup
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: Algenta.Colectica.ViewModel.Navigator.Modes
Assembly: Algenta.Colectica.ViewModel.dll
Syntax
public class NavigationModeGroupBase : INavigationModeGroup

Constructors

NavigationModeGroupBase(string, int, INavigationMode[])

Initializes a new instance of the NavigationModeGroupBase class.

Declaration
public NavigationModeGroupBase(string name, int weight, INavigationMode[] modes)
Parameters
Type Name Description
string name

The name of the Task Mode.

int weight

The order in which the interface should be listed on the Task Mode's main screen.

INavigationMode[] modes

The modes that form this mode group.

Properties

Modes

Gets a list of navigation modes available as part of the Task Mode defined by the implementing class.

Declaration
public List<INavigationMode> Modes { get; }
Property Value
Type Description
List<INavigationMode>

Name

The name of the Task Mode.

Declaration
public string Name { get; set; }
Property Value
Type Description
string

Weight

The order in which the interface should be listed on the Task Mode's main screen

Declaration
public int Weight { get; set; }
Property Value
Type Description
int
Remarks

The Task Mode's main screen is currently hard-coded, so this property is not yet used.

Methods

PropagateVersionChange(Node, IVersionable, MultilingualString)

Propagates the version change to other items. The default behavior of this method is to propagate the version change to all items found by following the editedNode.Parent property upward, for as long as additional RepositoryItemNodes are available.

The method may be overridden if different version propagation behavior is desired.

Declaration
public virtual Collection<IVersionable> PropagateVersionChange(Node editedNode, IVersionable editedItem, MultilingualString logMessage)
Parameters
Type Name Description
Node editedNode

The node that was changed.

IVersionable editedItem

The IVersionable item that was changed

MultilingualString logMessage

The log message, which should be assigned to each relevant item's VersionRationale property.

Returns
Type Description
Collection<IVersionable>

A collection of items, including the changed item, which have had their version changed as a result of the change to the editedItem.

Remarks

For each item that is changed, at least the following actions should take place:

changedItem.Version++;
changedItem.VersionRationale.Copy(logMessage);
resultsToReturn.Add(changedItem);
Exceptions
Type Condition
NotImplementedException

ShouldViewBeReadOnly(RepositoryItemNode, ObservableCollection<string>)

Allows a TaskMode to determine whether the item being opened should be presented to the user with a read-only view.

Declaration
public virtual bool ShouldViewBeReadOnly(RepositoryItemNode node, ObservableCollection<string> tags)
Parameters
Type Name Description
RepositoryItemNode node

A navigation node representing the item being opened.

ObservableCollection<string> tags

The tags assigned to the item being opened.

Returns
Type Description
bool
Exceptions
Type Condition
NotImplementedException

Implements

INavigationModeGroup
In this article
Back to top Generated by DocFX