Show / Hide Table of Contents

Class NavigationModeGroupBase

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

Inheritance
System.Object
NavigationModeGroupBase
Namespace: Algenta.Colectica.ViewModel.Navigator.Modes
Assembly: Algenta.Colectica.ViewModel.dll
Syntax
public class NavigationModeGroupBase : object, INavigationModeGroup

Constructors

NavigationModeGroupBase(String, Int32, INavigationMode[])

Initializes a new instance of the NavigationModeGroupBase class.

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

The name of the Task Mode.

System.Int32 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>
Implements
INavigationModeGroup.Modes

Name

The name of the Task Mode.

Declaration
public string Name { get; set; }
Property Value
Type Description
System.String
Implements
INavigationModeGroup.Name

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
System.Int32
Implements
INavigationModeGroup.Weight
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.

Implements
INavigationModeGroup.PropagateVersionChange(Node, IVersionable, MultilingualString)
Remarks

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

changedItem.Version++;
changedItem.VersionRationale.Copy(logMessage);
resultsToReturn.Add(changedItem);

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<System.String> tags

The tags assigned to the item being opened.

Returns
Type Description
System.Boolean
Implements
INavigationModeGroup.ShouldViewBeReadOnly(RepositoryItemNode, ObservableCollection<String>)

Extension Methods

Extensions.Yield<T>(T)
Back to top Copyright © 2009-2018 Colectica