static void FinalizeInsertItemsUsingCurrentEditMode(WindowState state, IList <ItemsPerTrack> itemsGroups, double candidateTime) { EditMode.FinalizeInsertItemsAtTime(itemsGroups, candidateTime); SelectionManager.Clear(); foreach (var itemsGroup in itemsGroups) { var track = itemsGroup.targetTrack; var items = itemsGroup.items; EditModeUtils.SetParentTrack(items, track); track.SortClips(); TrackExtensions.ComputeBlendsFromOverlaps(track.clips); track.CalculateExtrapolationTimes(); foreach (var item in items) { if (item.gui != null) { item.gui.Select(); } } } var allItems = itemsGroups.SelectMany(x => x.items).ToList(); foreach (var item in allItems) { SelectionManager.Add(item); } FrameItems(state, allItems); }
public void BeginMove(IEnumerable <ItemsPerTrack> itemsGroups) { foreach (var itemsGroup in itemsGroups) { EditModeUtils.SetParentTrack(itemsGroup.items, null); } }
void StartDetachMode(IEnumerable <ItemsPerTrack> itemsGroups) { m_Detached = true; foreach (var itemsGroup in itemsGroups) { EditModeUtils.SetParentTrack(itemsGroup.items, null); } }
public void HandleTrackSwitch(IEnumerable <ItemsPerTrack> itemsGroups) { foreach (var itemsGroup in itemsGroups) { var targetTrack = itemsGroup.targetTrack; if (targetTrack != null && itemsGroup.items.Any()) { var compatible = itemsGroup.items.First().IsCompatibleWithTrack(targetTrack) && !EditModeUtils.IsInfiniteTrack(targetTrack); var track = compatible ? targetTrack : null; UndoExtensions.RegisterTrack(track, L10n.Tr("Move Items")); EditModeUtils.SetParentTrack(itemsGroup.items, track); } else { EditModeUtils.SetParentTrack(itemsGroup.items, null); } } }
public void HandleTrackSwitch(IEnumerable <ItemsPerTrack> itemsGroups) { foreach (var itemsGroup in itemsGroups) { var targetTrack = itemsGroup.targetTrack; if (targetTrack != null && itemsGroup.items.Any()) { var compatible = itemsGroup.items.First().IsCompatibleWithTrack(targetTrack) && !EditModeUtils.IsInfiniteTrack(targetTrack); var track = compatible ? targetTrack : null; if (track != null) { TimelineUndo.PushUndo(track, "Move Items"); } EditModeUtils.SetParentTrack(itemsGroup.items, track); } else { EditModeUtils.SetParentTrack(itemsGroup.items, null); } } }