client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs
changeset 19 7d044e7562ea
parent 18 66911d0f0eb6
child 20 c2dd8119a6c1
--- a/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs	Mon Dec 07 10:36:55 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs	Tue Dec 08 11:39:27 2009 +0100
@@ -13,6 +13,7 @@
 using Iri.Modernisation.BaseMVVM.ViewModel;
 using Iri.Modernisation.Controls.View;
 using System.Collections.Generic;
+using SLExtensions.Collections.ObjectModel;
 namespace Iri.Modernisation.Controls.ViewModel
 {
     public class ProductionTimeLineVM : BaseMVVM.ViewModel.ViewModel
@@ -34,17 +35,31 @@
         }
 
         private VideoBook _newBook;
-        private List<VideoSequence>[] _listVideoSequences = new List<VideoSequence>[4];
-        public List<VideoSequence> SelectedVideoSequences
+        private ObservableCollection<VideoSequence>[] _listVideoSequences = new ObservableCollection<VideoSequence>[4];
+        public ObservableCollection<VideoSequence>[] ListVideoSequences
         {
             get
             {
+                return _listVideoSequences;
+            }
+            set
+            {
+                _listVideoSequences = value;
+                OnPropertyChanged("ListVideoSequences");
+            }
+        }
+        
+        public ObservableCollection<VideoSequence> SelectedVideoSequences
+        {
+            get
+            {
+                
                 return _listVideoSequences[SelectedChapter];
             }
             set
             {
                 _listVideoSequences[SelectedChapter] = value;
-                _newBook.Chapters[SelectedChapter].VideoSequences = value;
+                //_newBook.Chapters[SelectedChapter].VideoSequences = value;
                 OnPropertyChanged("SelectedVideoSequences");
             }
         }
@@ -115,16 +130,37 @@
         public ProductionTimeLineVM()
         {
             _newBook = new VideoBook();
-            
-            
+            _listVideoSequences = new ObservableCollection<VideoSequence>[4]
+            {
+                new ObservableCollection<VideoSequence>(),
+                new ObservableCollection<VideoSequence>(),
+                new ObservableCollection<VideoSequence>(),
+                new ObservableCollection<VideoSequence>()
+            };
+           // PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ProductionTimeLineVM_PropertyChanged);
+           // SelectedVideoSequences = new ObservableCollection<VideoSequence>();
             Commands.ProductionTimeLine.EditorPartSelected.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(EditorPartSelected_Executed);
             Commands.ProductionTimeLine.EditorPartFinished.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(EditorPartFinished_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);
+      
+        }
+
+        void SelectedVideoSequences_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
+        {
+            Commands.ProductionView.VideoRecordUpdated.Execute();
+        }
+
+        void ProductionTimeLineVM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
+        {
+            Commands.ProductionView.VideoRecordUpdated.Execute();
+        }
 
         void EditorPartFinished_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
         {
             SelectedChapter = -1;
-     
         }
 
         void EditorPartSelected_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)