VideoOS.Platform.Admin.ItemNode Class Reference

An ItemNode contains all relevant information for a configuring and maintaining a specific kind of item.
It has ItemKind, name and a reference to an ItemManager.
The ItemManager assist in managing individual items and the UI controls to be used for this task. This class is constructed and used in all Environments, either to manage Items, or to get lists of them via GetItems(...) or GetItem(...) methods. More...

Public Member Functions

 ItemNode ()
 Initialization with no fields set. Can be used for complete override of all functions, in case one class can represent multiple ItemNode types.
 
 ItemNode (Guid id, Guid parentId, String nodeText, Image image, String nodeTextMultiple, Image imageMultiple, Category category, bool selectable, ItemsAllowed itemsAllowed, ItemManager itemManager, List< ItemNode > itemNodes)
 Construction with various set of field initialized.
 
 ItemNode (Guid id, Guid parentId, String nodeText, Image image, String nodeTextMultiple, Image imageMultiple, Category category, bool selectable, ItemsAllowed itemsAllowed, ItemManager itemManager, List< ItemNode > itemNodes, List< SecurityAction > securityActions)
 Construction with various set of field initialized.
 
 ItemNode (Guid id, Guid parentId, String nodeText, Image image, String nodeTextMultiple, Image imageMultiple, Category category, bool selectable, ItemsAllowed itemsAllowed, ItemManager itemManager, List< ItemNode > itemNodes, List< SecurityAction > securityActions, Collection< MapAlarmContextMenu > contextMenu)
 Construction with various set of field initialized.
 
 ItemNode (Guid id, Guid parentId, String nodeText, Image image, String nodeTextMultiple, Image imageMultiple, Category category, bool selectable, ItemsAllowed itemsAllowed, ItemManager itemManager, List< ItemNode > itemNodes, List< SecurityAction > securityActions, Collection< MapAlarmContextMenu > contextMenu, object customData)
 Construction with various set of field initialized.
 
 ItemNode (Guid id, Guid parentId, String nodeText, Image image, String nodeTextMultiple, Image imageMultiple, Category category, bool selectable, ItemsAllowed itemsAllowed, ItemManager itemManager, List< ItemNode > itemNodes, List< SecurityAction > securityActions, Collection< MapAlarmContextMenu > contextMenu, object customData, PlacementHint placementHint)
 Construction with various set of field initialized.
 
 ItemNode (Guid kind, Guid parentId, String nodeText, Image image, String nodeTextMultiple, Image imageMultiple, ItemsAllowed itemsAllowed, Category category, bool selectable)
 Construction with various set of field initialized.
 
override string ToString ()
 Use the name as ToString.
 

Properties

virtual Category Category [get]
 Identifies what Category the items created via this ItemNode belongs to.
 
virtual Collection< MapAlarmContextMenuContextMenu [get, set]
 Defines a list of ContextMenu items relevant for this Kind. It is displayed when a user right click on a Map containing this Kind of Item.
 
virtual object CustomData [get, set]
 You can add any class or field as appropriate for your plug-in.
 
virtual bool GisMapEnabled [get, set]
 Set this to false if GIS Map support is not desired. Default is true.
Please note that this only affects GIS Map support and not support for the old Map plugin, and also that only setting this to true will not enable the support - it is still also required to set or override the Icon property.
 
virtual Image Icon [get]
 The Icon representing this Kind.
 
virtual Image IconMultiple [get]
 Icon used when plural NameMultiple is used.
 
Guid ItemKind [get]
 The ItemKind of this ItemNode. This becomes the Item.Kind for the Items created by this ItemNode.
One ItemNode ONLY defines and is part of administration ONE Kind.
 
virtual ItemManager ItemManager [get]
 The Manager that manages access to configuration of this Kind of Item.
Access to this class is done very often, and the the class should be created only once.
 
virtual List< ItemNodeItemNodes [get]
 Any children ItemNodes of this ItemNode.
Usually the children ItemNodes will point to this one as parentKind.
 
virtual ItemsAllowed ItemsAllowed [get]
 Defines how many Items can be created on this ItemNode.
If set to None, then UI will be modified to avoid display of empty TreeView's.
 
virtual Icon MapIcon [get, set]
 An Icon to be used for items of this kind by the Smart Client Map ViewItem.
This icon must contain exactly 6 images of size 8x8, 16x16, 24x24, 32x32, 48x48, and 64x64 in that order.
 
virtual Dictionary< Guid, IconMapIconDictionary [get, set]
 A dictionary used when the map need to change icons dynamically.
This Dictionary is using a Guid as an identification, where the item's Kind will by default use the MapIcon, and this table can be used for any additional Icons to be displayed.
When an Item needs to show another Icon, the MapIconKey on the Item is set to one of the Guid's in this dictionary to show a specific Icon or the item's Kind to get back to the default Icon.
The Icon must contain all 6 different sizes, from 8x8, 16x16, 24x24, 32x32, 48x48, and 64x64 in that order.
 
virtual String Name [get]
 Name of this node / kind.
 
virtual String NameMultiple [get]
 Name in plural. If not supplied, the Name property is used.
 
Guid ParentKind [get]
 The ParentKind of the ItemNode points to the parent ItemNode's ItemKind.
If an ItemNode has a ParentKind equal to Guid.Empty it will be considered as a top level node from a configuration stand point.
Items created on this ItemNode uses the ServerId as its identification and all Items created on sub-nodes to this ItemNode should have their ServerId set to the same as the top level Item they are children of.
Regardless of the ParentKind value, the ItemNodes are populated in the administrators TreeView in the order they are defined.
If a ParentKind is set to Guid.Empty and the ItemsAllowed is None, the TreeNode can function as a informational node to display status overview or help information. The UserControl will get all available space on the form, besides the left hand TreeView.
 
virtual PlacementHint PlacementHint [get, set]
 Defines where the item wants to be rendered. Default is under the plug-in's own root node.

 
virtual String PropertyHeading [get, set]
 An optional string to define what the heading text should be above the right hand side containing the property configuration.
 
virtual List< SecurityActionSecurityActions [get, set]
 Specifies the list of actions the administrator can manage. If the list is null, no authorization is done for this kind of item.
 
bool Selectable [get]
 Defines if the Items created by this ItemNode should appear in ItemPickers, when showing all types of items.
 
virtual int SortKey [get, set]
 Defines the order in which the ItemNode names appear in the administrator UI.
Default value is 1000.
For ItemNodes with same SortKey they will be sorted alphabetically.
 

Detailed Description

An ItemNode contains all relevant information for a configuring and maintaining a specific kind of item.
It has ItemKind, name and a reference to an ItemManager.
The ItemManager assist in managing individual items and the UI controls to be used for this task. This class is constructed and used in all Environments, either to manage Items, or to get lists of them via GetItems(...) or GetItem(...) methods.

Constructor & Destructor Documentation

◆ ItemNode() [1/7]

VideoOS.Platform.Admin.ItemNode.ItemNode ( )
inline

Initialization with no fields set. Can be used for complete override of all functions, in case one class can represent multiple ItemNode types.

◆ ItemNode() [2/7]

VideoOS.Platform.Admin.ItemNode.ItemNode ( Guid kind,
Guid parentId,
String nodeText,
Image image,
String nodeTextMultiple,
Image imageMultiple,
ItemsAllowed itemsAllowed,
Category category,
bool selectable )
inline

Construction with various set of field initialized.

Parameters
kind
parentId
nodeText
image
nodeTextMultiple
imageMultiple
itemsAllowed
category
selectable

◆ ItemNode() [3/7]

VideoOS.Platform.Admin.ItemNode.ItemNode ( Guid id,
Guid parentId,
String nodeText,
Image image,
String nodeTextMultiple,
Image imageMultiple,
Category category,
bool selectable,
ItemsAllowed itemsAllowed,
ItemManager itemManager,
List< ItemNode > itemNodes )
inline

Construction with various set of field initialized.

Parameters
id
parentId
nodeText
image
nodeTextMultiple
imageMultiple
category
selectable
itemsAllowed
itemManager
itemNodes

◆ ItemNode() [4/7]

VideoOS.Platform.Admin.ItemNode.ItemNode ( Guid id,
Guid parentId,
String nodeText,
Image image,
String nodeTextMultiple,
Image imageMultiple,
Category category,
bool selectable,
ItemsAllowed itemsAllowed,
ItemManager itemManager,
List< ItemNode > itemNodes,
List< SecurityAction > securityActions )
inline

Construction with various set of field initialized.

Parameters
id
parentId
nodeText
image
nodeTextMultiple
imageMultiple
category
selectable
itemsAllowed
itemManager
itemNodes
securityActions

◆ ItemNode() [5/7]

VideoOS.Platform.Admin.ItemNode.ItemNode ( Guid id,
Guid parentId,
String nodeText,
Image image,
String nodeTextMultiple,
Image imageMultiple,
Category category,
bool selectable,
ItemsAllowed itemsAllowed,
ItemManager itemManager,
List< ItemNode > itemNodes,
List< SecurityAction > securityActions,
Collection< MapAlarmContextMenu > contextMenu )
inline

Construction with various set of field initialized.

Parameters
id
parentId
nodeText
image
nodeTextMultiple
imageMultiple
category
selectable
itemsAllowed
itemManager
itemNodes
securityActions
contextMenu

◆ ItemNode() [6/7]

VideoOS.Platform.Admin.ItemNode.ItemNode ( Guid id,
Guid parentId,
String nodeText,
Image image,
String nodeTextMultiple,
Image imageMultiple,
Category category,
bool selectable,
ItemsAllowed itemsAllowed,
ItemManager itemManager,
List< ItemNode > itemNodes,
List< SecurityAction > securityActions,
Collection< MapAlarmContextMenu > contextMenu,
object customData )
inline

Construction with various set of field initialized.

Parameters
id
parentId
nodeText
image
nodeTextMultiple
imageMultiple
category
selectable
itemsAllowed
itemManager
itemNodes
securityActions
contextMenu
customData

◆ ItemNode() [7/7]

VideoOS.Platform.Admin.ItemNode.ItemNode ( Guid id,
Guid parentId,
String nodeText,
Image image,
String nodeTextMultiple,
Image imageMultiple,
Category category,
bool selectable,
ItemsAllowed itemsAllowed,
ItemManager itemManager,
List< ItemNode > itemNodes,
List< SecurityAction > securityActions,
Collection< MapAlarmContextMenu > contextMenu,
object customData,
PlacementHint placementHint )
inline

Construction with various set of field initialized.

Parameters
id
parentId
nodeText
image
nodeTextMultiple
imageMultiple
category
selectable
itemsAllowed
itemManager
itemNodes
securityActions
contextMenu
customData
placementHint

Member Function Documentation

◆ ToString()

override string VideoOS.Platform.Admin.ItemNode.ToString ( )
inline

Use the name as ToString.

Returns

Property Documentation

◆ Category

virtual Category VideoOS.Platform.Admin.ItemNode.Category
get

Identifies what Category the items created via this ItemNode belongs to.

◆ ContextMenu

virtual Collection<MapAlarmContextMenu> VideoOS.Platform.Admin.ItemNode.ContextMenu
getset

Defines a list of ContextMenu items relevant for this Kind. It is displayed when a user right click on a Map containing this Kind of Item.

◆ CustomData

virtual object VideoOS.Platform.Admin.ItemNode.CustomData
getset

You can add any class or field as appropriate for your plug-in.

◆ GisMapEnabled

virtual bool VideoOS.Platform.Admin.ItemNode.GisMapEnabled
getset

Set this to false if GIS Map support is not desired. Default is true.
Please note that this only affects GIS Map support and not support for the old Map plugin, and also that only setting this to true will not enable the support - it is still also required to set or override the Icon property.

◆ Icon

virtual Image VideoOS.Platform.Admin.ItemNode.Icon
get

The Icon representing this Kind.

◆ IconMultiple

virtual Image VideoOS.Platform.Admin.ItemNode.IconMultiple
get

Icon used when plural NameMultiple is used.

◆ ItemKind

Guid VideoOS.Platform.Admin.ItemNode.ItemKind
get

The ItemKind of this ItemNode. This becomes the Item.Kind for the Items created by this ItemNode.
One ItemNode ONLY defines and is part of administration ONE Kind.

◆ ItemManager

virtual ItemManager VideoOS.Platform.Admin.ItemNode.ItemManager
get

The Manager that manages access to configuration of this Kind of Item.
Access to this class is done very often, and the the class should be created only once.

◆ ItemNodes

virtual List<ItemNode> VideoOS.Platform.Admin.ItemNode.ItemNodes
get

Any children ItemNodes of this ItemNode.
Usually the children ItemNodes will point to this one as parentKind.

◆ ItemsAllowed

virtual ItemsAllowed VideoOS.Platform.Admin.ItemNode.ItemsAllowed
get

Defines how many Items can be created on this ItemNode.
If set to None, then UI will be modified to avoid display of empty TreeView's.

◆ MapIcon

virtual Icon VideoOS.Platform.Admin.ItemNode.MapIcon
getset

An Icon to be used for items of this kind by the Smart Client Map ViewItem.
This icon must contain exactly 6 images of size 8x8, 16x16, 24x24, 32x32, 48x48, and 64x64 in that order.

Please note that MIP items on Map supports dynamic change but MIP Items on Smart Map do not.

◆ MapIconDictionary

virtual Dictionary<Guid, Icon> VideoOS.Platform.Admin.ItemNode.MapIconDictionary
getset

A dictionary used when the map need to change icons dynamically.
This Dictionary is using a Guid as an identification, where the item's Kind will by default use the MapIcon, and this table can be used for any additional Icons to be displayed.
When an Item needs to show another Icon, the MapIconKey on the Item is set to one of the Guid's in this dictionary to show a specific Icon or the item's Kind to get back to the default Icon.
The Icon must contain all 6 different sizes, from 8x8, 16x16, 24x24, 32x32, 48x48, and 64x64 in that order.

Please note that MIP items on Map supports dynamic change but MIP Items on Smart Map do not.

◆ Name

virtual String VideoOS.Platform.Admin.ItemNode.Name
get

Name of this node / kind.

◆ NameMultiple

virtual String VideoOS.Platform.Admin.ItemNode.NameMultiple
get

Name in plural. If not supplied, the Name property is used.

◆ ParentKind

Guid VideoOS.Platform.Admin.ItemNode.ParentKind
get

The ParentKind of the ItemNode points to the parent ItemNode's ItemKind.
If an ItemNode has a ParentKind equal to Guid.Empty it will be considered as a top level node from a configuration stand point.
Items created on this ItemNode uses the ServerId as its identification and all Items created on sub-nodes to this ItemNode should have their ServerId set to the same as the top level Item they are children of.
Regardless of the ParentKind value, the ItemNodes are populated in the administrators TreeView in the order they are defined.
If a ParentKind is set to Guid.Empty and the ItemsAllowed is None, the TreeNode can function as a informational node to display status overview or help information. The UserControl will get all available space on the form, besides the left hand TreeView.

◆ PlacementHint

virtual PlacementHint VideoOS.Platform.Admin.ItemNode.PlacementHint
getset

Defines where the item wants to be rendered. Default is under the plug-in's own root node.

◆ PropertyHeading

virtual String VideoOS.Platform.Admin.ItemNode.PropertyHeading
getset

An optional string to define what the heading text should be above the right hand side containing the property configuration.

◆ SecurityActions

virtual List<SecurityAction> VideoOS.Platform.Admin.ItemNode.SecurityActions
getset

Specifies the list of actions the administrator can manage. If the list is null, no authorization is done for this kind of item.

◆ Selectable

bool VideoOS.Platform.Admin.ItemNode.Selectable
get

Defines if the Items created by this ItemNode should appear in ItemPickers, when showing all types of items.

◆ SortKey

virtual int VideoOS.Platform.Admin.ItemNode.SortKey
getset

Defines the order in which the ItemNode names appear in the administrator UI.
Default value is 1000.
For ItemNodes with same SortKey they will be sorted alphabetically.