client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs
author Matthieu Totet
Mon, 04 Jan 2010 10:29:39 +0100
changeset 27 f292db96b050
parent 25 a9c815025a1b
child 35 43bb1b8ed555
permissions -rw-r--r--
Generalization of Book Structure
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     1
using System;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     2
using System.Net;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     3
using System.Windows;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     4
using System.Windows.Controls;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     5
using System.Windows.Documents;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     6
using System.Windows.Ink;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     7
using System.Windows.Input;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     8
using System.Windows.Media;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     9
using System.Windows.Media.Animation;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    10
using System.Windows.Shapes;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    11
using Iri.Modernisation.Data.Models;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    12
using Iri.Modernisation.BaseMVVM.Commands;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    13
using Iri.Modernisation.BaseMVVM.ViewModel;
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    14
using Iri.Modernisation.Controls.View;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
using System.Collections.Generic;
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
    16
using System.Collections.ObjectModel;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
    17
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
namespace Iri.Modernisation.Controls.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
{
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    20
    /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    21
    /// ViewModel de la ProductionTimeLine
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    22
    /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
    public class ProductionTimeLineVM : BaseMVVM.ViewModel.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    26
        private bool _isIndexing;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    27
       
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    28
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    29
        /// Mode Indexation
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    30
        /// </summary>
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    31
        public bool IsIndexing
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    32
        {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    33
            get
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    34
            {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    35
                return _isIndexing;
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    36
            }
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    37
            set
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    38
            {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    39
                _isIndexing = value;
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    40
                OnPropertyChanged("IsIndexing");
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    41
            }
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    42
        }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
        private VideoBook _newBook;
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
    45
        private ObservableCollection<VideoSequence>[] _listVideoSequences;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    46
       
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    47
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    48
        /// Ensembles des VideoSequences par Chapitre
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    49
        /// </summary>
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    50
        public ObservableCollection<VideoSequence>[] ListVideoSequences
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
            {
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    54
                return _listVideoSequences;
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    55
            }
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    56
            set
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    57
            {
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    58
                _listVideoSequences = value;
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    59
                OnPropertyChanged("ListVideoSequences");
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    60
            }
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    61
        }
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    62
        
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    63
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    64
        /// VideoSequences du Chapitre en cours
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    65
        /// </summary>
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    66
        public ObservableCollection<VideoSequence> SelectedVideoSequences
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    67
        {
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    68
            get
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    69
            {
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    70
                
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
                return _listVideoSequences[SelectedChapter];
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
                _listVideoSequences[SelectedChapter] = value;
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
    76
                //_newBook.Chapters[SelectedChapter].VideoSequences = value;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    77
                OnPropertyChanged("SelectedVideoSequences");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    78
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    79
        }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    80
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    81
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    82
        /// Durée Total du livre
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    83
        /// </summary>
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    84
        public TimeSpan TotalBookDuration
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    85
        {
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    86
            get
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    87
            {
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    88
                TimeSpan temp = TimeSpan.Zero;
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    89
                foreach (ObservableCollection<VideoSequence> Ocvs in _listVideoSequences)
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    90
                {
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    91
                    foreach (VideoSequence Vs in Ocvs)
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    92
                    {
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    93
                        temp += Vs.Duration;
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    94
                    }
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    95
                }
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    96
                return temp;
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    97
            }
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
    98
        }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
    99
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   100
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   101
        /// Chapitres
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   102
        /// </summary>
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   103
        public VideoChapter[] Chapters
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   104
        {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   105
            get
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   106
            {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   107
                return _newBook.Chapters;
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   108
            }
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   109
          
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   110
        
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   111
        }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   112
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   113
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   114
        /// Chapites Courant
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   115
        /// </summary>
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   116
        public VideoChapter SelectedBookChapter
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   117
        {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   118
            get
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   119
            {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   120
                return _newBook.Chapters[SelectedChapter];
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   121
            }
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   122
        }
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   123
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   124
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   125
        private VideoSequence _actualVideoSequence;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   126
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   127
        /// VideoSequence en lecture sur le Master
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   128
        /// </summary>
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   129
        public VideoSequence ActualVideoSequence
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   130
        {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   131
            get
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   132
            {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   133
                return _actualVideoSequence;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   134
            }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   135
            set
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   136
            {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   137
                _actualVideoSequence = value;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   138
                OnPropertyChanged("ActualVideoSequence");
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   139
            }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   140
        }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   141
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   142
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   143
        /// Ensemble des VideoSequences 
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   144
        /// </summary>
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   145
        public List<VideoSequence> TimeLine
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   146
        {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   147
            get
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   148
            {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   149
                List<VideoSequence> _tmp = new List<VideoSequence>();
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   150
                TimeSpan temp = TimeSpan.Zero;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   151
                foreach (ObservableCollection<VideoSequence> Ocvs in ListVideoSequences)
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   152
                {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   153
                    foreach (VideoSequence Vs in Ocvs)
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   154
                    {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   155
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   156
                        Vs.TimerIn = temp;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   157
                        _tmp.Add(Vs);
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   158
                        temp += Vs.Duration;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   159
                    
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   160
                    }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   161
                }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   162
                return _tmp;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   163
            }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   164
        }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   165
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   166
        private int _selectedChapter=0;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   167
        public int SelectedChapter
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   168
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   169
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   170
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   171
                return _selectedChapter;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   172
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   173
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   174
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   175
                _selectedChapter = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   176
                OnPropertyChanged("SelectedChapter");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   177
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   178
        }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   179
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   180
        private VideoViewerVM _videoViewerVM;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   181
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   182
        /// ViewModel du Master
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   183
        /// </summary>
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   184
        public VideoViewerVM ViewModelVideoViewer
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   185
        {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   186
            get
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   187
            {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   188
                return _videoViewerVM;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   189
            }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   190
            set
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   191
            {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   192
                _videoViewerVM = value;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   193
                OnPropertyChanged("ViewModelVideoViewer");
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   194
            }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   195
        }
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   196
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   197
        private double _position;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   198
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   199
        /// Position Actuelle de lecture
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   200
        /// </summary>
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   201
        public double Position
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   202
        {
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   203
            get
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   204
            {
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   205
                return _position;
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   206
            }
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   207
            set
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   208
            {
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   209
                _position = value;
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   210
             
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   211
                OnPropertyChanged("Position");
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   212
            }
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   213
        }
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   214
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   215
        private ObservableCollection<SegmentIndex>[] _listSegmentIndex;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   216
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   217
        /// Ensemble des Index par Chapitre
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   218
        /// </summary>
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   219
        public ObservableCollection<SegmentIndex>[] ListIndex
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   220
        {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   221
            get
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   222
            {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   223
                return _listSegmentIndex;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   224
            }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   225
        }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   226
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   227
        /// Index du Chapitre en cours
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   228
        /// </summary>
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   229
        public ObservableCollection<SegmentIndex> SelectedIndex
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   230
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   231
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   232
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   233
                return _listSegmentIndex[SelectedChapter];
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   234
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   235
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   236
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   237
                _listSegmentIndex[SelectedChapter] = value;
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   238
                //_newBook.Chapters[SelectedChapter].Index = value;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   239
                OnPropertyChanged("SelectedIndex");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   240
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   241
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   242
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   243
        private VideoChapterType _selectedChapterType;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   244
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   245
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   246
        /// Chapitre en cours
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   247
        /// </summary>
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   248
        public VideoChapterType SelectedChapterType
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   249
        {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   250
            get
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   251
            {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   252
                return _selectedChapterType;
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   253
            }
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   254
            set
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   255
            {
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   256
                _selectedChapterType = value;
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   257
                OnPropertyChanged("SelectedChapterType");
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   258
            }
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   259
        }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   260
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   261
        private void InitializeCommands()
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   262
        {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   263
            #region Commands
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   264
            Commands.ProductionView.DelVideoSequence.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(DelVideoSequence_Executed);
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   265
            Commands.ProductionTimeLine.EditorPartSelected.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(EditorPartSelected_Executed);
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   266
            Commands.ProductionTimeLine.EditorPartFinished.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(EditorPartFinished_Executed);
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   267
            Commands.ProductionView.ClickAddIndex.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickAddIndex_Executed);
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   268
            Commands.TimeChange.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(TimeChange_Executed);
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   269
            #endregion
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   270
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   271
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   272
            #region VideoSequences CollectionChanged
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   273
            foreach (ObservableCollection<VideoSequence> Ocvs in _listVideoSequences)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   274
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   275
                Ocvs.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged);
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   276
            }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   277
            #endregion
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   278
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   279
            #region SegmentIndex CollectionChanged
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   280
            foreach (ObservableCollection<SegmentIndex> Ocsi in _listSegmentIndex)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   281
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   282
                Ocsi.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(SelectedVideoSequences_CollectionChanged);
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   283
            }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   284
            #endregion
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   285
        }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   286
        public ProductionTimeLineVM()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   287
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   288
            _newBook = new VideoBook();
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   289
 
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   290
            _listVideoSequences = new ObservableCollection<VideoSequence>[FactoryVideoLivre.NumberOfChapters];
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   291
            _listSegmentIndex = new ObservableCollection<SegmentIndex>[FactoryVideoLivre.NumberOfChapters];
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   292
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   293
            for (int i = 0; i<FactoryVideoLivre.NumberOfChapters;i++ )
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
   294
            {
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   295
                _listVideoSequences[i] = new ObservableCollection<VideoSequence>();
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   296
                _listSegmentIndex[i] = new ObservableCollection<SegmentIndex>();
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   297
            }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   298
      
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 25
diff changeset
   299
            
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   300
           // PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ProductionTimeLineVM_PropertyChanged);
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   301
           // SelectedVideoSequences = new ObservableCollection<VideoSequence>();
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   302
           InitializeCommands();
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   303
        }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   304
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   305
    
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   306
        private void TimeChange_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   307
        {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   308
            double newValue = ((double)e.Parameter);
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   309
            if(e.Source == this)
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   310
            {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   311
                if (ActualVideoSequence.TimerIn.TotalMilliseconds > newValue || ActualVideoSequence.TimerOut.TotalMilliseconds < newValue)
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   312
                {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   313
                    foreach (VideoSequence Vs in TimeLine)
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   314
                    {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   315
                        if (Vs.TimerIn.TotalMilliseconds <= newValue && Vs.TimerOut.TotalMilliseconds > newValue)
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   316
                        {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   317
                            ActualVideoSequence = Vs;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   318
                            ViewModelVideoViewer.Source = ActualVideoSequence.Path;
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   319
                            ViewModelVideoViewer.GoTo(TimeSpan.FromMilliseconds(newValue) - Vs.TimerIn +Vs.BeginTrim);
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   320
                        }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   321
                    }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   322
                }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   323
                else
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   324
                {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   325
                    ViewModelVideoViewer.GoTo(TimeSpan.FromMilliseconds(newValue) - ActualVideoSequence.TimerIn);
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   326
                }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   327
                
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   328
               
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   329
            }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   330
        }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   331
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   332
        private void ClickAddIndex_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   333
        {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   334
            if(IsIndexing)
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   335
            {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   336
                TimeSpan dur = TimeSpan.Zero;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   337
                // Permet de créer un Index avec une durée calé sur les videos.
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   338
                foreach (VideoSequence Vs in SelectedVideoSequences)
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   339
                {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   340
                    dur += Vs.Duration;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   341
                }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   342
                foreach (SegmentIndex Si in SelectedIndex)
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   343
                {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   344
                    dur -= Si.Duration;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   345
                }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   346
                SelectedIndex.Add(new SegmentIndex(SelectedBookChapter) 
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   347
                { 
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   348
                    TimerIn = TimeSpan.Zero, 
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   349
                    TimerOut = dur,
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   350
                    Chapter = SelectedBookChapter
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   351
                });
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   352
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   353
            }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   354
 
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   355
        }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   356
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   357
        private void DelVideoSequence_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   358
        {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 19
diff changeset
   359
            SelectedVideoSequences.Remove(((CustomableVideoElementVM)e.Parameter).VideoSequence);
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   360
            OnPropertyChanged("TotalBookDuration");
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
   361
        }
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
   362
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   363
        private void SelectedVideoSequences_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
   364
        {
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   365
            
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   366
            OnPropertyChanged("TotalBookDuration");
19
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
   367
            Commands.ProductionView.VideoRecordUpdated.Execute();
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
   368
        }
7d044e7562ea Update ProductionView
Matthieu Totet
parents: 18
diff changeset
   369
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   370
        private void EditorPartFinished_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
18
66911d0f0eb6 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
   371
        {
66911d0f0eb6 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
   372
            SelectedChapter = -1;
66911d0f0eb6 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
   373
        }
66911d0f0eb6 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
   374
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 24
diff changeset
   375
        private void EditorPartSelected_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   376
        {
18
66911d0f0eb6 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
   377
           
66911d0f0eb6 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
   378
            SelectedChapter = (int)((HeaderProductionEventArgs)e.Source).ChapterType;
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   379
            SelectedChapterType = ((HeaderProductionEventArgs)e.Source).ChapterType ;
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
   380
            IsIndexing = ((HeaderProductionEventArgs)e.Source).IsIndexPart;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   381
        }
23
10acb6a11a73 Update VideoViewer ( Allow Multi-VideoViewer)
Matthieu Totet
parents: 20
diff changeset
   382
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   383
        public event EventHandler<ProductionTimeLineVMEventArgs> SwitchVideo;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   384
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   385
    }
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   386
    public class ProductionTimeLineVMEventArgs : EventArgs
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   387
    {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   388
        public VideoSequence VideoSequence{get;set;}
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   389
        public TimeSpan BeginAt{get;set;}
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   390
        public ProductionTimeLineVMEventArgs(VideoSequence videoSequence,TimeSpan beginAt)
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   391
        {
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   392
            VideoSequence = videoSequence;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   393
            BeginAt = beginAt;
c031f1132dde Update ProductionView
Matthieu Totet
parents: 23
diff changeset
   394
        }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   395
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   396
}