Class NavigationModeGroupBase
Provides a base class from which implementations of INavigationModeGroup can be derived.
Inheritance
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
Name
The name of the Task Mode.
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Implements
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
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
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 |