private static void ShowMarkerDialog(int frameUnderMouse) { Document.Current.History.DoTransaction(() => { var marker = Document.Current.Animation.Markers.GetByFrame(frameUnderMouse); var newMarker = marker?.Clone() ?? new Marker { Frame = frameUnderMouse }; var r = new MarkerPropertiesDialog().Show(newMarker, canDelete: marker != null); if (r == MarkerPropertiesDialog.Result.Ok) { Core.Operations.SetMarker.Perform(newMarker, true); } else if (r == MarkerPropertiesDialog.Result.Delete) { Core.Operations.DeleteMarker.Perform(marker, true); } }); }
void RootWidget_DoubleClick(WidgetInput input, Key key) { var timeline = Timeline.Instance; var marker = Document.Current.Container.Markers.FirstOrDefault( i => i.Frame == timeline.CurrentColumn); var newMarker = marker?.Clone() ?? new Marker { Frame = timeline.CurrentColumn }; var r = new MarkerPropertiesDialog().Show(newMarker, canDelete: marker != null); if (r == MarkerPropertiesDialog.Result.Ok) { Core.Operations.SetMarker.Perform(Document.Current.Container.DefaultAnimation.Markers, newMarker); } else if (r == MarkerPropertiesDialog.Result.Delete) { Core.Operations.DeleteMarker.Perform(Document.Current.Container.DefaultAnimation.Markers, marker); } }
void RootWidget_DoubleClick(WidgetInput input, Key key) { Document.Current.History.DoTransaction(() => { var timeline = Timeline.Instance; var marker = Document.Current.Container.Markers.GetByFrame(timeline.CurrentColumn); var newMarker = marker?.Clone() ?? new Marker { Frame = timeline.CurrentColumn }; var r = new MarkerPropertiesDialog().Show(newMarker, canDelete: marker != null); if (r == MarkerPropertiesDialog.Result.Ok) { Core.Operations.SetMarker.Perform(Document.Current.Container, newMarker, true); } else if (r == MarkerPropertiesDialog.Result.Delete) { Core.Operations.DeleteMarker.Perform(Document.Current.Container, marker, true); } }); // To prevent RulerbarMouseScroll. RootWidget.Input.ConsumeKey(Key.Mouse0); }