/// <summary> /// Called when the children of the actor types changes. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="PlatformGameCreator.Editor.Common.ObservableListChangedEventArgs<ActorType>"/> instance containing the event data.</param> private void Children_ListChanged(object sender, ObservableListChangedEventArgs <ActorType> e) { switch (e.ListChangedType) { case ObservableListChangedType.ItemAdded: ShowItem(e.Item); break; case ObservableListChangedType.ItemDeleted: ActorTypeTreeNode deletedItem = FindItem(e.Item); if (deletedItem != null) { deletedItem.Remove(); } break; case ObservableListChangedType.ItemChanged: Debug.Assert(true, "Not supported operation."); break; case ObservableListChangedType.Reset: ClearChildren(); foreach (ActorType child in actorType.Children) { ShowItem(child); } break; } }
/// <summary> /// Handles the Click event of the addToolStripMenuItem control. /// Creates new actor type to the children of the selected item. /// </summary> private void addToolStripMenuItem_Click(object sender, EventArgs e) { if (treeView.SelectedNode != null) { ActorType selectedActorType = (ActorType)treeView.SelectedNode.Tag; ActorType newActorType = new ActorType(selectedActorType.ActorTypes) { Name = "New Actor Type" }; selectedActorType.Children.Add(newActorType); treeView.ExpandAll(); ActorTypeTreeNode newTreeNode = ((ActorTypeTreeNode)treeView.SelectedNode).FindItem(newActorType); treeView.SelectedNode = newTreeNode; newTreeNode.BeginEdit(); } }