void HandlePropertyChanged(object sender, PropertyChangedEventArgs e) { if (sender is TimeNodeVM) { TimeNodeVM timenode = sender as TimeNodeVM; Time seekTime = null; if (e.PropertyName == nameof(TimeNode.Start)) { seekTime = timenode.Start; } else if (e.PropertyName == nameof(TimeNode.Stop)) { seekTime = timenode.Stop; } if (seekTime != null) { videoPlayerVM.PauseCommand.Execute(false); videoPlayerVM.SeekCommand.Execute(new VideoPlayerSeekOptions(seekTime)); } } if (sender is MediaFileVM) { if (e.PropertyName == nameof(MediaFile.Offset)) { videoPlayerVM.PauseCommand.Execute(false); videoPlayerVM.SeekCommand.Execute(new VideoPlayerSeekOptions(videoPlayerVM.CurrentTime, true)); } } }
/// <summary> /// Removes a node from the timeline. /// </summary> /// <param name="node">Node.</param> protected void RemoveNode(TimeNodeVM node) { TimeNodeView to; to = this.OfType <TimeNodeView> ().FirstOrDefault(n => n.TimeNode == node); if (to != null) { Remove(to); } }
public void TestChangeModel() { int eventCount = 0; TimeNode timeNode = new TimeNode(); TimeNodeVM viewModel = new TimeNodeVM(); viewModel.Model = null; viewModel.Model = timeNode; viewModel.PropertyChanged += (sender, e) => eventCount++; timeNode.EventTime = new Time(0); Assert.AreEqual(1, eventCount); }
void AddTimeNode(TimeNodeVM timeNodeVM, TimerVM timerVM) { TimerTimeNodeView to = new TimerTimeNodeView(); to.ViewModel = timeNodeVM; to.Timer = timerVM; to.OffsetY = OffsetY; to.Height = Height; to.SecondsPerPixel = SecondsPerPixel; to.MaxTime = Duration; to.DraggingMode = DraggingMode; to.ShowName = true; to.LineColor = LineColor; AddNode(to); }
public void TestForwardProperties() { int count = 0; var model = new TimeNode { Name = "Event" }; var viewModel = new TimeNodeVM { Model = model, }; viewModel.PropertyChanged += (sender, e) => count++; viewModel.Name = "Event2"; Assert.AreEqual(2, count); }
public void TestProperties() { var model = new TimeNode { Start = new Time(0), Stop = new Time(10), EventTime = new Time(5), Name = "Event" }; var viewModel = new TimeNodeVM { Model = model, }; Assert.AreEqual("Event", viewModel.Name); Assert.AreEqual(new Time(0), viewModel.Start); Assert.AreEqual(new Time(10), viewModel.Stop); Assert.AreEqual(new Time(5), viewModel.EventTime); }
public void TestForwardProperty() { // Arrange int eventCount = 0; bool senderIsTimeNodeVM = false; TimeNode timeNode = new TimeNode(); TimeNodeVM viewModel = new TimeNodeVM(); viewModel.Model = timeNode; viewModel.PropertyChanged += (sender, e) => { eventCount++; senderIsTimeNodeVM = sender is TimeNodeVM; }; // Action timeNode.EventTime = new Time(0); // Assert Assert.AreEqual(1, eventCount, $"PropertyChanged was called {eventCount} instead of once"); Assert.IsTrue(senderIsTimeNodeVM, "Sender is not a ViewModel"); }
protected override void SelectionMoved(Selection sel) { Time moveTime; CanvasObject co; co = (sel.Drawable as CanvasObject); if (co is CameraView) { TimeNodeVM to = (co as CameraView).TimeNode; if (sel.Position == SelectionPosition.Right) { moveTime = to.Stop; } else { moveTime = to.Start; } Player?.Seek(moveTime, true); } }
void RemoveTimeNode(TimeNodeVM timeNodeVM) { Remove(viewModelToView [timeNodeVM]); viewModelToView.Remove(timeNodeVM); }