19 /// <summary> |
19 /// <summary> |
20 /// ViewModel de ConsultationView |
20 /// ViewModel de ConsultationView |
21 /// </summary> |
21 /// </summary> |
22 public class ConsultationViewVM : BaseMVVM.ViewModel.ViewModel |
22 public class ConsultationViewVM : BaseMVVM.ViewModel.ViewModel |
23 { |
23 { |
|
24 |
24 private PolemicElement _selectedElement; |
25 private PolemicElement _selectedElement; |
25 /// <summary> |
26 /// <summary> |
26 /// PolemicElement sélectionné |
27 /// PolemicElement sélectionné |
27 /// </summary> |
28 /// </summary> |
28 public PolemicElement SelectedElement |
29 public PolemicElement SelectedElement |
91 { |
90 { |
92 _consultationBookViewContextMenu = value; |
91 _consultationBookViewContextMenu = value; |
93 OnPropertyChanged(null); |
92 OnPropertyChanged(null); |
94 } |
93 } |
95 } |
94 } |
|
95 /// <summary> |
|
96 /// Loader pour chargement à la volée des VideoLivres selectionnés |
|
97 /// </summary> |
|
98 private Loader<VideoBook> _loaderVideoBook { get; set; } |
96 |
99 |
97 private void InitializeCommands() |
|
98 { |
|
99 Commands.ConsultMenu.ClickBook.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickBook_Executed); |
|
100 Commands.PolemicElement.SelectPolemicElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SelectPolemicElement_Executed); |
|
101 |
|
102 Commands.ClickMenu.CreateNewTextualAnnotation.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(CreateNewTextualAnnotation_Executed); |
|
103 } |
|
104 |
|
105 private void ClickBook_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
106 { |
|
107 BookTimeLineVM temp = new BookTimeLineVM((VideoBook)e.Parameter); |
|
108 temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM; |
|
109 bool CanAdd = true; |
|
110 foreach(BookTimeLineVM BookTLVM in SelectedVideoBooks) |
|
111 { |
|
112 if (BookTLVM.SelectedBook == (VideoBook)e.Parameter) |
|
113 { |
|
114 CanAdd = false; |
|
115 } |
|
116 } |
|
117 if(CanAdd) |
|
118 { |
|
119 SelectedVideoBooks.Add(temp); |
|
120 } |
|
121 |
|
122 } |
|
123 |
|
124 |
|
125 private AnnotationMakerVM _annotationMakerVM; |
100 private AnnotationMakerVM _annotationMakerVM; |
126 /// <summary> |
101 /// <summary> |
127 /// ViewModel de AnnotationMaker |
102 /// ViewModel de AnnotationMaker |
128 /// </summary> |
103 /// </summary> |
129 public AnnotationMakerVM ViewModelAnnotationMaker |
104 public AnnotationMakerVM ViewModelAnnotationMaker |
136 { |
111 { |
137 _annotationMakerVM = value; |
112 _annotationMakerVM = value; |
138 OnPropertyChanged("ViewModelAnnotationMaker"); |
113 OnPropertyChanged("ViewModelAnnotationMaker"); |
139 } |
114 } |
140 } |
115 } |
|
116 |
|
117 private void InitializeCommands() |
|
118 { |
|
119 Commands.ConsultMenu.ClickBook.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickBook_Executed); |
|
120 Commands.PolemicElement.SelectPolemicElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SelectPolemicElement_Executed); |
|
121 Commands.ClickMenu.CreateNewTextualAnnotation.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(CreateNewTextualAnnotation_Executed); |
|
122 } |
|
123 |
|
124 /// <summary> |
|
125 /// Evenement lors d'un click sur un livre de la liste |
|
126 /// </summary> |
|
127 /// <param name="sender"></param> |
|
128 /// <param name="e"></param> |
|
129 private void ClickBook_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
130 { |
|
131 |
|
132 bool CanAdd = true; |
|
133 //On regarde si le VideoLivre qu'on à choisis n'est pas déjà dans la liste des VideoLivres sélectionné |
|
134 foreach (BookTimeLineVM BookTLVM in SelectedVideoBooks) |
|
135 { |
|
136 if (BookTLVM.SelectedBook.LdtPath == ((VideoBook)e.Parameter).LdtPath) |
|
137 { |
|
138 CanAdd = false; |
|
139 } |
|
140 } |
|
141 if (CanAdd) |
|
142 { |
|
143 //Préparation du loader |
|
144 _loaderVideoBook = new Loader<VideoBook>(LDTFileReader.ConvertToVideoBook); |
|
145 _loaderVideoBook.LoaderFinished += new EventHandler<LoaderEventArgs<VideoBook>>(LoaderVideoBook_LoaderFinished); |
|
146 _loaderVideoBook.Load(((VideoBook)e.Parameter).LdtPath); |
|
147 } |
|
148 |
|
149 |
|
150 } |
|
151 |
|
152 /// <summary> |
|
153 /// Fonction une fois que le fichier .ldt à été chargé |
|
154 /// </summary> |
|
155 /// <param name="sender"></param> |
|
156 /// <param name="e"></param> |
|
157 private void LoaderVideoBook_LoaderFinished(object sender, LoaderEventArgs<VideoBook> e) |
|
158 { |
|
159 VideoBook addedVideoBook = e.CreatedObject; |
|
160 ///------- /// |
|
161 addedVideoBook.LdtPath = _loaderVideoBook.Path; |
|
162 ///-----------------/// |
|
163 BookTimeLineVM temp = new BookTimeLineVM(addedVideoBook); |
|
164 temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM; |
|
165 SelectedVideoBooks.Add(temp); |
|
166 |
|
167 } |
|
168 |
|
169 |
141 private void CreateNewTextualAnnotation_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
170 private void CreateNewTextualAnnotation_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
142 { |
171 { |
143 ViewModelAnnotationMaker.RefElement=SelectedElement; |
172 ViewModelAnnotationMaker.RefElement=SelectedElement; |
144 } |
173 } |
145 public ConsultationViewVM() |
174 public ConsultationViewVM() |