|
![]() |
Occurs when the SelectionSets contained in this object has changed
Namespace: Autodesk.Navisworks.Api.DocumentParts
Assembly: Autodesk.Navisworks.Api (in Autodesk.Navisworks.Api.dll)
Syntax
Visual Basic |
---|
Public Event Changed As EventHandler(Of SavedItemChangedEventArgs) |
C# |
---|
public event EventHandler<SavedItemChangedEventArgs> Changed |
Visual C++ |
---|
public: event EventHandler<SavedItemChangedEventArgs^>^ Changed { void add (EventHandler<SavedItemChangedEventArgs^>^ value); void remove (EventHandler<SavedItemChangedEventArgs^>^ value); } |
Remarks
Use Document.SelectionSets to get the current selection set about to be changed.
The value of the SavedItemChangedEventArgs property Action will determine which of the other SavedItemChangedEventArgs properties are applicable.
The following table summarises which properties of SavedItemChangedEventArgs should be used for each value of Action
Action | OldItem | OldIndex | OldParent | NewItem | NewIndex | NewParent | Notes |
---|---|---|---|---|---|---|---|
Add | Y | Y | Y | This is a new node so only the New properties are valid | |||
Remove | Y | Y | Y | The Node is being removed so the Old details are valid | |||
Replace | Y | Y | Y | Y | Y | The SavedItem is being replaced so the parent remains the same | |
Move | Y | Y | Y | Y | Y | Y | The Item has new a new parent but may be a new \ different instance also. |
Reset | As this is a general reset of the selection sets there is no old or new item |
Examples

void SelectionSets_Changed(object sender, SavedItemChangedEventArgs e) { SavedItem newItem = e.NewItem; GroupItem newParent = e.NewParent; SavedItem oldItem = e.OldItem; GroupItem oldParent = e.OldParent; //Action property determines what has happened to the SelectionSet switch (e.Action) { case SavedItemChangedAction.Add: AddNode(newParent, newItem); break; case SavedItemChangedAction.Remove: RemoveNode(oldItem, oldParent); break; case SavedItemChangedAction.Replace: ReplaceNode(oldItem, oldParent, newItem); break; case SavedItemChangedAction.Move: RemoveNode(oldItem, oldParent); AddNode(newParent, newItem); break; case SavedItemChangedAction.Reset: default: UpdateSelectionSets(); break; } }