15 namespace Iri.Modernisation.Controls.ViewModel |
15 namespace Iri.Modernisation.Controls.ViewModel |
16 { |
16 { |
17 public class HeaderProductionVM : BaseMVVM.ViewModel.ViewModel |
17 public class HeaderProductionVM : BaseMVVM.ViewModel.ViewModel |
18 { |
18 { |
19 |
19 |
20 private List<HeaderProductionChapter> _productionChapters; |
20 private List<HeaderProductionChapterVM> _productionChapters; |
21 |
21 public List<HeaderProductionChapterVM> ProductionChapters |
22 #region Avancement |
|
23 |
|
24 |
|
25 private bool _isChap01EditingComplete = false; |
|
26 public bool IsChap01EditingComplete |
|
27 { |
22 { |
28 get |
23 get |
29 { |
24 { |
30 return _isChap01EditingComplete; |
25 return _productionChapters; |
31 } |
26 } |
32 set |
27 set |
33 { |
28 { |
34 _isChap01EditingComplete = value; |
29 _productionChapters = value; |
35 OnPropertyChanged("IsChap01EditingComplete"); |
30 OnPropertyChanged("ProductionChapters"); |
36 |
|
37 GeneralRefresh(); |
|
38 |
|
39 } |
31 } |
40 } |
32 } |
41 |
33 |
42 private bool _isChap01IndexingComplete = false; |
34 private HeaderProductionChapterVM _selectedChapter; |
43 public bool IsChap01IndexingComplete |
35 public HeaderProductionChapterVM SelectedChapter |
44 { |
36 { |
45 get |
37 get |
46 { |
38 { |
47 return _isChap01IndexingComplete; |
39 return _selectedChapter; |
48 } |
40 } |
49 set |
41 set |
50 { |
42 { |
51 _isChap01IndexingComplete = value; |
43 if (_selectedChapter != null) |
52 OnPropertyChanged("IsChap01IndexingComplete"); |
44 { |
53 GeneralRefresh(); |
45 _selectedChapter.HighLight = false; |
|
46 } |
|
47 |
|
48 _selectedChapter = value; |
|
49 |
|
50 value.HighLight = true; |
|
51 if (Change != null) |
|
52 Change(this, new HeaderProductionVMArgs(SelectedChapter)); |
|
53 |
|
54 |
|
55 OnPropertyChanged("SelectedChapter"); |
54 } |
56 } |
|
57 |
55 } |
58 } |
56 |
59 |
57 private bool _isChap02EditingComplete = false; |
|
58 public bool IsChap02EditingComplete |
|
59 { |
|
60 get |
|
61 { |
|
62 return _isChap02EditingComplete; |
|
63 } |
|
64 set |
|
65 { |
|
66 _isChap02EditingComplete = value; |
|
67 OnPropertyChanged("IsChap02EditingComplete"); |
|
68 GeneralRefresh(); |
|
69 } |
|
70 } |
|
71 |
|
72 private bool _isChap02IndexingComplete = false; |
|
73 public bool IsChap02IndexingComplete |
|
74 { |
|
75 get |
|
76 { |
|
77 return _isChap02IndexingComplete; |
|
78 } |
|
79 set |
|
80 { |
|
81 _isChap02IndexingComplete = value; |
|
82 OnPropertyChanged("IsChap02IndexingComplete"); |
|
83 GeneralRefresh(); |
|
84 } |
|
85 } |
|
86 |
|
87 private bool _isChap03EditingComplete= false; |
|
88 public bool IsChap03EditingComplete |
|
89 { |
|
90 get |
|
91 { |
|
92 return _isChap03EditingComplete; |
|
93 } |
|
94 set |
|
95 { |
|
96 _isChap03EditingComplete = value; |
|
97 OnPropertyChanged("IsChap03EditingComplete"); |
|
98 GeneralRefresh(); |
|
99 } |
|
100 } |
|
101 |
|
102 private bool _isChap03IndexingComplete= false; |
|
103 public bool IsChap03IndexingComplete |
|
104 { |
|
105 get |
|
106 { |
|
107 return _isChap03IndexingComplete; |
|
108 } |
|
109 set |
|
110 { |
|
111 _isChap03IndexingComplete = value; |
|
112 OnPropertyChanged("IsChap03IndexingComplete"); |
|
113 GeneralRefresh(); |
|
114 } |
|
115 } |
|
116 |
|
117 private bool _isChap04EditingComplete= false; |
|
118 public bool IsChap04EditingComplete |
|
119 { |
|
120 get |
|
121 { |
|
122 return _isChap04EditingComplete; |
|
123 } |
|
124 set |
|
125 { |
|
126 _isChap04EditingComplete = value; |
|
127 OnPropertyChanged("IsChap04EditingComplete"); |
|
128 GeneralRefresh(); |
|
129 } |
|
130 } |
|
131 |
|
132 private bool _isChap04IndexingComplete= false; |
|
133 public bool IsChap04IndexingComplete |
|
134 { |
|
135 get |
|
136 { |
|
137 return _isChap04IndexingComplete; |
|
138 } |
|
139 set |
|
140 { |
|
141 _isChap04IndexingComplete = value; |
|
142 OnPropertyChanged("IsChap04IndexingComplete"); |
|
143 GeneralRefresh(); |
|
144 } |
|
145 } |
|
146 #endregion |
|
147 |
|
148 #region Etat des Boutton |
|
149 private void GeneralRefresh() |
|
150 { |
|
151 OnPropertyChanged(String.Empty); |
|
152 |
|
153 } |
|
154 public bool IsChap01EditingEnable |
|
155 { |
|
156 get |
|
157 { |
|
158 return !IsChap01EditingComplete; |
|
159 } |
|
160 } |
|
161 public bool IsChap01IndexingEnable |
|
162 { |
|
163 get |
|
164 { |
|
165 return IsChap01EditingComplete^IsChap01IndexingComplete; |
|
166 } |
|
167 } |
|
168 public bool IsChap02EditingEnable |
|
169 { |
|
170 get |
|
171 { |
|
172 return IsChap01EditingComplete ^ IsChap02EditingComplete; |
|
173 } |
|
174 } |
|
175 public bool IsChap02IndexingEnable |
|
176 { |
|
177 get |
|
178 { |
|
179 return IsChap02EditingComplete ^ IsChap02IndexingComplete; |
|
180 } |
|
181 } |
|
182 public bool IsChap03EditingEnable |
|
183 { |
|
184 get |
|
185 { |
|
186 return IsChap02EditingComplete ^ IsChap03EditingComplete; |
|
187 } |
|
188 } |
|
189 public bool IsChap03IndexingEnable |
|
190 { |
|
191 get |
|
192 { |
|
193 return IsChap03EditingComplete ^ IsChap03IndexingComplete; |
|
194 } |
|
195 } |
|
196 public bool IsChap04EditingEnable |
|
197 { |
|
198 get |
|
199 { |
|
200 return IsChap03EditingComplete ^ IsChap04EditingComplete; |
|
201 } |
|
202 } |
|
203 public bool IsChap04IndexingEnable |
|
204 { |
|
205 get |
|
206 { |
|
207 return IsChap04EditingComplete^IsChap04IndexingComplete; |
|
208 } |
|
209 } |
|
210 #endregion |
|
211 public bool IsVideoBookComplete |
60 public bool IsVideoBookComplete |
212 { |
61 { |
213 get |
62 get |
214 { |
63 { |
215 return _isChap01EditingComplete && _isChap01IndexingComplete |
64 bool test = true; |
216 && _isChap02EditingComplete && _isChap02IndexingComplete |
65 foreach(HeaderProductionChapterVM Hpcvm in ProductionChapters ) |
217 && _isChap03EditingComplete && _isChap03IndexingComplete |
66 { |
218 && _isChap04EditingComplete && _isChap04IndexingComplete; |
67 test = Hpcvm.Indexing && test; |
|
68 } |
|
69 return test; |
219 } |
70 } |
220 } |
71 } |
221 private String _instruction; |
72 private String _instruction; |
222 /// <summary> |
73 /// <summary> |
223 /// Instruction |
74 /// Instruction |
234 OnPropertyChanged("Instruction"); |
85 OnPropertyChanged("Instruction"); |
235 } |
86 } |
236 } |
87 } |
237 public HeaderProductionVM() |
88 public HeaderProductionVM() |
238 { |
89 { |
|
90 _productionChapters = new List<HeaderProductionChapterVM>(); |
|
91 HeaderProductionChapterVM temp = null; |
|
92 foreach (VideoChapterDescription Vcd in FactoryVideoLivre.VideoChapterDescriptions) |
|
93 { |
|
94 temp = new HeaderProductionChapterVM(Vcd); |
|
95 temp.Ended +=new HeaderProductionChapterVM.EndedDelegate(temp_Ended); |
|
96 temp.EditEnded += new HeaderProductionChapterVM.EditEndedDelegate(temp_EditEnded); |
|
97 temp.HighLight = false; |
|
98 _productionChapters.Add(temp); |
|
99 if(_productionChapters.Count > 1) |
|
100 { |
|
101 _productionChapters[_productionChapters.Count - 2].EditEnded+=new HeaderProductionChapterVM.EditEndedDelegate(temp.Enable); |
|
102 |
|
103 } |
|
104 |
|
105 |
|
106 } |
|
107 _instruction = Iri.Modernisation.Controls.Resources.HeaderProduction.InstructionTextRessource.Introduction; |
|
108 |
|
109 InitializeCommands(); |
|
110 ProductionChapters[0].Enable(); |
239 |
111 |
240 _instruction = Iri.Modernisation.Controls.Resources.HeaderProduction.InstructionTextRessource.Introduction; |
112 |
|
113 } |
241 |
114 |
242 InitializeCommands(); |
115 void temp_EditEnded() |
|
116 { |
|
117 if(Change!=null) |
|
118 Change(this,new HeaderProductionVMArgs(SelectedChapter)); |
|
119 } |
|
120 |
|
121 |
|
122 |
|
123 void temp_Ended() |
|
124 { |
|
125 OnPropertyChanged("IsVideoBookComplete"); |
|
126 if (Change != null) |
|
127 Change(this, new HeaderProductionVMArgs(SelectedChapter)); |
243 } |
128 } |
244 private void InitializeCommands() |
129 private void InitializeCommands() |
245 { |
130 { |
246 Commands.HeaderProduction.Chap01EditingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap01EditingOkClick_Executed); |
131 } |
247 Commands.HeaderProduction.Chap02EditingOkClick.Executed+=new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap02EditingOkClick_Executed); |
132 public event EventHandler<HeaderProductionVMArgs> Change; |
248 Commands.HeaderProduction.Chap03EditingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap03EditingOkClick_Executed); |
133 |
249 Commands.HeaderProduction.Chap04EditingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap04EditingOkClick_Executed); |
134 |
|
135 } |
|
136 public class HeaderProductionVMArgs : EventArgs |
|
137 { |
|
138 |
|
139 public HeaderProductionChapterVM ChapterHeader { get; private set; } |
250 |
140 |
251 Commands.HeaderProduction.Chap01IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap01IndexingOkClick_Executed); |
141 public HeaderProductionVMArgs( HeaderProductionChapterVM chapterHeader) |
252 Commands.HeaderProduction.Chap02IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap02IndexingOkClick_Executed); |
142 { |
253 Commands.HeaderProduction.Chap03IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap03IndexingOkClick_Executed); |
143 ChapterHeader = chapterHeader; |
254 Commands.HeaderProduction.Chap04IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap04IndexingOkClick_Executed); |
144 |
|
145 |
|
146 |
255 } |
147 } |
256 #region OkClick |
|
257 #region Index |
|
258 private void Chap04IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
259 { |
|
260 IsChap04IndexingComplete = true; |
|
261 } |
|
262 |
|
263 private void Chap03IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
264 { |
|
265 IsChap03IndexingComplete = true; |
|
266 } |
|
267 |
|
268 private void Chap02IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
269 { |
|
270 IsChap02IndexingComplete = true; |
|
271 } |
|
272 |
|
273 private void Chap01IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
274 { |
|
275 IsChap01IndexingComplete = true; |
|
276 } |
|
277 #endregion |
|
278 #region Edit |
|
279 private void Chap04EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
280 { |
|
281 IsChap04EditingComplete = true; |
|
282 } |
|
283 |
|
284 private void Chap03EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
285 { |
|
286 IsChap03EditingComplete = true; |
|
287 } |
|
288 |
|
289 private void Chap02EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
290 { |
|
291 IsChap02EditingComplete = true; |
|
292 } |
|
293 private void Chap01EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e) |
|
294 { |
|
295 this.IsChap01EditingComplete = true; |
|
296 GeneralRefresh(); |
|
297 } |
|
298 #endregion |
|
299 #endregion |
|
300 } |
148 } |
301 } |
149 } |