public void GenerateContextMenu() { CutContextMenu = new ContextMenu(); if (EventDefinitionManager.CanActionCopyFromViewport(Cut.ParentActor.Name, Cut.Name)) { MenuItem CopyItem = new MenuItem() { Header = "Copy Camera from Viewport" }; CopyItem.Click += (x, y) => { CopyCameraFromViewportEventArgs NewArgs = new CopyCameraFromViewportEventArgs(); NewArgs.RequestingCut = this; Cut.ParentActor.ParentEvent.OnCutRequestCopyFromViewport(NewArgs); }; CutContextMenu.Items.Add(CopyItem); CutContextMenu.Items.Add(new Separator()); } if (EventDefinitionManager.CanActionCopyStartFromViewport(Cut.ParentActor.Name, Cut.Name)) { MenuItem CopyItem = new MenuItem() { Header = "Copy Start Camera from Viewport" }; CopyItem.Click += (x, y) => { CopyCameraFromViewportEventArgs NewArgs = new CopyCameraFromViewportEventArgs(); NewArgs.RequestingCut = this; NewArgs.IsStart = true; Cut.ParentActor.ParentEvent.OnCutRequestCopyFromViewport(NewArgs); }; CutContextMenu.Items.Add(CopyItem); CutContextMenu.Items.Add(new Separator()); } Dictionary <string, string> properties = EventDefinitionManager.GetPropertiesForAction(Cut.ParentActor.Name, Cut.Name); foreach (KeyValuePair <string, string> prop_str in properties) { string SubDefault = ""; SubstanceType SubType = EventDefinitionManager.GetPropertyTypeAndDefaultValue(Cut.ParentActor.Name, Cut.Name, prop_str.Key, out SubDefault); CutContextMenu.Items.Add(new MenuItem() { Header = prop_str.Key, Command = CreatePropertyCommand, CommandParameter = new Tuple <string, string, SubstanceType>(prop_str.Value, SubDefault, SubType) }); } }
public void OnCutRequestCopyFromViewport(CopyCameraFromViewportEventArgs e) { CopyFromViewportRequested?.Invoke(this, e); }