public void InsertItemForMoveOrResizeUndoRedo(IDescribableInterval item, double originalStartInVideo, double originalEndInVideo, double newStartInVideo, double newEndInVideo) { var cmd = new MoveOrResizeHistoryItem(item, originalStartInVideo, originalEndInVideo, newStartInVideo, newEndInVideo); Push(_undoStack, cmd); _redoStack.Clear(); }
public CanvasMouseSelection(IntervalMouseAction action, IDescribableInterval item, double mouseClickTimeDifference) : this(action) { Item = item; MouseClickTimeDifference = mouseClickTimeDifference; OriginalStartInVideo = item.StartInVideo; OriginalEndInVideo = item.EndInVideo; }
public MoveOrResizeHistoryItem(IDescribableInterval itemInterval, double originalStartInVideo, double originalEndInVideo, double newStartInVideo, double newEndInVideo) { _itemInterval = itemInterval; _originalStartInVideo = originalStartInVideo; _originalEndInVideo = originalEndInVideo; _newStartInVideo = newStartInVideo; _newEndInVideo = newEndInVideo; }
public IntervalInfoListViewModel(ProjectManager projectManager, DescriptionRecordingViewModel descriptionRecordingViewModel) { _projectManager = projectManager; DescriptionRecordingViewModel = descriptionRecordingViewModel; InitCommands(); SelectedRegularDescription = null; SelectedExtendedDescription = null; SelectedSpace = null; _selectedItem = null; }
public DescriptionInfoTabViewModel(ProjectManager projectManager, DescriptionRecordingControlViewModel descriptionRecordingControlViewModel) { _projectManager = projectManager; DescriptionRecordingControlViewModel = descriptionRecordingControlViewModel; InitCommands(); SelectedRegularDescription = null; SelectedExtendedDescription = null; SelectedSpace = null; _selectedItem = null; }
/// <summary> /// Tests whether the interval would be visible on the current canvas or not. It will be /// visible IFF the interval either starts or ends in the visible area, or covers the /// entire visible area. /// </summary> /// <param name="interval">The interval to test.</param> /// <param name="visibleBeginMsec">The beginning of the window in milliseconds.</param> /// <param name="visibleEndMsec">The end of the window in milliseconds.</param> /// <returns>Whether the interval is visible or not.</returns> protected bool IsIntervalVisible(IDescribableInterval interval, double visibleBeginMsec, double visibleEndMsec) { return (visibleBeginMsec <= interval.StartInVideo && interval.StartInVideo <= visibleEndMsec) || (visibleBeginMsec <= interval.EndInVideo && interval.EndInVideo <= visibleEndMsec) || (interval.StartInVideo <= visibleBeginMsec && visibleEndMsec <= interval.EndInVideo); }
private void SetSelected(IDescribableInterval value) { UnselectAll(); if (value != null) { if (value is Description) { var d = (Description)value; Select(ref d); } else if (value is Space) { var space = (Space)value; Select(ref space); } else throw new NotImplementedException("Value type not implemented"); } UpdateProperties(); }
private void DrawDescribableInterval(IDescribableInterval interval) { interval.X = (_audioCanvas.Width / _videoDuration) * interval.StartInVideo; interval.Y = 0; interval.Height = _audioCanvas.ActualHeight; interval.Width = (_audioCanvas.Width / _videoDuration) * (interval.EndInVideo - interval.StartInVideo); }
private void SetIntervalLocation(IDescribableInterval interval, Canvas containingCanvas) { interval.X = (containingCanvas.Width / _videoDurationMsec) * interval.StartInVideo; interval.Y = 0; interval.Height = containingCanvas.ActualHeight; /* Set interval to a minimum width so that all descriptions, even those with 0 duration * (ie extended descriptions) are still visible. */ interval.Width = Math.Max(MinIntervalWidth, (containingCanvas.Width / _videoDurationMsec) * (interval.EndInVideo - interval.StartInVideo)); }