diff -r 7d044e7562ea -r c2dd8119a6c1 client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs --- a/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs Tue Dec 08 11:39:27 2009 +0100 +++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs Fri Dec 11 10:48:58 2009 +0100 @@ -13,7 +13,8 @@ using Iri.Modernisation.BaseMVVM.ViewModel; using Iri.Modernisation.Controls.View; using System.Collections.Generic; -using SLExtensions.Collections.ObjectModel; +using System.Collections.ObjectModel; + namespace Iri.Modernisation.Controls.ViewModel { public class ProductionTimeLineVM : BaseMVVM.ViewModel.ViewModel @@ -95,10 +96,17 @@ } } - - - private List[] _listSegmentIndex = new List[4]; - public List SelectedIndex + + + private ObservableCollection[] _listSegmentIndex; + public ObservableCollection[] ListIndex + { + get + { + return _listSegmentIndex; + } + } + public ObservableCollection SelectedIndex { get { @@ -107,7 +115,7 @@ set { _listSegmentIndex[SelectedChapter] = value; - _newBook.Chapters[SelectedChapter].Index = value; + //_newBook.Chapters[SelectedChapter].Index = value; OnPropertyChanged("SelectedIndex"); } } @@ -139,13 +147,55 @@ }; // PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ProductionTimeLineVM_PropertyChanged); // SelectedVideoSequences = new ObservableCollection(); + Commands.ProductionView.DelVideoSequence.Executed += new EventHandler(DelVideoSequence_Executed); Commands.ProductionTimeLine.EditorPartSelected.Executed += new EventHandler(EditorPartSelected_Executed); Commands.ProductionTimeLine.EditorPartFinished.Executed += new EventHandler(EditorPartFinished_Executed); + Commands.ProductionView.ClickAddIndex.Executed += new EventHandler(ClickAddIndex_Executed); _listVideoSequences[0].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); _listVideoSequences[1].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); _listVideoSequences[2].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); _listVideoSequences[3].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); - + + _listSegmentIndex = new ObservableCollection[4] + { + new ObservableCollection(), + new ObservableCollection(), + new ObservableCollection(), + new ObservableCollection() + }; + _listSegmentIndex[0].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); + _listSegmentIndex[1].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); + _listSegmentIndex[2].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); + _listSegmentIndex[3].CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged); + } + + void ClickAddIndex_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) + { + if(IsIndexing) + { + TimeSpan dur = TimeSpan.Zero; + // Permet de créer un Index avec une durée calé sur les videos. + foreach (VideoSequence Vs in SelectedVideoSequences) + { + dur += Vs.Duration; + } + foreach (SegmentIndex Si in SelectedIndex) + { + dur -= Si.Duration; + } + SelectedIndex.Add(new SegmentIndex(SelectedBookChapter) + { + TimerIn = TimeSpan.Zero, + TimerOut = dur, + Chapter = SelectedBookChapter + }); + } + + } + + void DelVideoSequence_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) + { + SelectedVideoSequences.Remove(((CustomableVideoElementVM)e.Parameter).VideoSequence); } void SelectedVideoSequences_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) @@ -155,7 +205,7 @@ void ProductionTimeLineVM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { - Commands.ProductionView.VideoRecordUpdated.Execute(); + //Commands.ProductionView.VideoRecordUpdated.Execute(); } void EditorPartFinished_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)