client/src/Iri.Modernisation.Controls/ViewModel/BookTimeLine/BookTimeLineVM.cs
author Matthieu Totet
Wed, 18 Nov 2009 15:30:31 +0100
changeset 0 249d70e7b32d
child 23 10acb6a11a73
permissions -rw-r--r--
Create Directories & Project
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;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    14
using System.Collections.Generic;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
namespace Iri.Modernisation.Controls.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
    /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
    /// ViewModel du module BookTimeLine
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
    /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
    public class BookTimeLineVM : BaseMVVM.ViewModel.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    21
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    22
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
        /// Livre sélectionné
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
        private VideoBook _selectedBook;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    26
        public VideoBook SelectedBook
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    27
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    28
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    30
                return _selectedBook;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    31
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    32
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    33
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    34
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    35
        /// 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    36
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
        public String AuthorFullname
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
                return Author.FirstName + " " + Author.Name;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
        /// Titre du Livre
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
        private String _title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
        public String Title 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
                return _title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
            private set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
                _title = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
                _selectedBook.Title = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
                OnPropertyChanged("Title");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
        /// Auteur du Livre
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
        private User _author;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
        public User Author
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
                return _author;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
            private set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
                _author = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    76
                _selectedBook.Author = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    77
                OnPropertyChanged("Author");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    78
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    79
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    80
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    81
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    82
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    83
        /// Chapitre du Livre
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    84
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    85
        private VideoChapter[] _chapters;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    86
        public VideoChapter[] Chapters
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    87
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    88
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    89
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    90
                return _chapters;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    91
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    92
            private set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    93
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    94
                _chapters = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    95
                _selectedBook.Chapters = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    96
                OnPropertyChanged("Chapters");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    97
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    98
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    99
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   100
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   101
        /// Liste des Index des Chapitres
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   102
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   103
        private List<SegmentIndex>[] _segmentIndex=new List<SegmentIndex>[4];
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   104
        public List<SegmentIndex>[] SegmentIndex
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   105
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   106
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   107
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   108
                return _segmentIndex;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   109
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   110
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   111
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   112
                _segmentIndex = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   113
                OnPropertyChanged("SegmentIndex");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   114
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   115
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   116
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   117
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   118
        /// Liste des Annotations
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   119
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   120
        private List<Annotation>[] _annotations=new List<Annotation>[4];
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   121
        public List<Annotation>[] Annotations
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   122
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   123
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   124
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   125
                return _annotations;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   126
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   127
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   128
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   129
                _annotations = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   130
                OnPropertyChanged("Annotations");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   131
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   132
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   133
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   134
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   135
        /// Durée totale du Livre
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   136
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   137
        private TimeSpan _totalDuration;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   138
        public double TotalDuration
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   139
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   140
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   141
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   142
                return _totalDuration.TotalMilliseconds;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   143
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   144
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   145
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   146
                _totalDuration = new TimeSpan(0, 0, 0, 0, (int)value);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   147
                _selectedBook.Duration = new TimeSpan(0, 0, 0, 0, (int)value); ;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   148
                OnPropertyChanged("Duration");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   149
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   150
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   151
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   152
        private List<int> _polemicSpectrumData = new List<int>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   153
        public List<int> PolemicSpectrumData
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   154
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   155
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   156
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   157
                return _polemicSpectrumData;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   158
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   159
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   160
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   161
        private List<int> _adhesionSpectrumData = new List<int>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   162
        public List<int> AdhesionSpectrumData
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   163
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   164
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   165
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   166
                return _adhesionSpectrumData;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   167
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   168
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   169
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   170
        private List<int> _referenceSpectrumData = new List<int>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   171
        public List<int> ReferenceSpectrumData
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   172
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   173
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   174
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   175
                return _referenceSpectrumData;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   176
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   177
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   178
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   179
        private List<int> _questionSpectrumData = new List<int>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   180
        public List<int> QuestionSpectrumData
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   181
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   182
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   183
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   184
                return _questionSpectrumData;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   185
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   186
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   187
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   188
        private List<int> _generalSpectrumData = new List<int>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   189
        public List<int> GeneralSpectrumData
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   190
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   191
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   192
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   193
                return _generalSpectrumData;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   194
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   195
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   196
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   197
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   198
        /// Position du curseur de lecture
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   199
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   200
        private double _position;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   201
        public double Position
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   202
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   203
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   204
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   205
                return _position;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   206
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   207
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   208
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   209
                _position = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   210
                OnPropertyChanged("Position");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   211
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   212
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   213
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   214
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   215
        /// Chargement des données et annalyse
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   216
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   217
        private void LoadData()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   218
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   219
            if (_selectedBook.Duration != TimeSpan.Zero)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   220
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   221
            
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   222
            for (double i = 0; i <= _selectedBook.Duration.TotalMilliseconds; i = (i + _selectedBook.Duration.TotalMilliseconds / 150))
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   223
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   224
                int[] Tem = new int[4]{0,0,0,0};
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   225
                foreach (VideoChapter Ch in _selectedBook.Chapters)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   226
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   227
                    foreach (Annotation An in Ch.Annotations)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   228
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   229
                        if (An.TimerIn.TotalMilliseconds <= i && An.TimerOut.TotalMilliseconds >= i)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   230
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   231
                            switch (An.Type)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   232
                            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   233
                                case PolemicElementType.Polemic:
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   234
                                    Tem[0]++;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   235
                                    break;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   236
                                case PolemicElementType.Adhesion:
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   237
                                    Tem[1]++;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   238
                                    break;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   239
                                case PolemicElementType.Reference:
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   240
                                    Tem[2]++;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   241
                                    break;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   242
                                case PolemicElementType.Question:
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   243
                                    Tem[3]++;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   244
                                    break;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   245
                                default:
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   246
                                    break;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   247
                            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   248
                        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   249
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   250
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   251
                _polemicSpectrumData.Add(Tem[0]);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   252
               _adhesionSpectrumData.Add(Tem[1]);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   253
                _referenceSpectrumData.Add(Tem[2]);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   254
              _questionSpectrumData.Add(Tem[3]);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   255
               _generalSpectrumData.Add((Tem[0]+Tem[1]+Tem[2]+Tem[3]));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   256
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   257
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   258
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   259
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   260
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   261
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   262
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   263
        /// Constructeur    
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   264
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   265
        /// <param name="bookParam">VideoLivre à étudier</param>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   266
        public BookTimeLineVM(VideoBook bookParam)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   267
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   268
            _selectedBook = bookParam;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   269
            _title = bookParam.Title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   270
            _author = bookParam.Author;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   271
            _chapters = bookParam.Chapters;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   272
            _totalDuration = bookParam.Duration;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   273
            LoadData();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   274
            LoadElements();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   275
            Commands.TimeChange.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(TimeChange_Executed);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   276
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   277
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   278
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   279
        void TimeChange_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   280
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   281
          //  Position = ((Slider)e.Parameter).Value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   282
            //Commands.VideoViewer.Pause.Execute();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   283
            Commands.GoToTime.Execute(((Slider)e.Parameter).Value);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   284
            //Commands.VideoViewer.Play.Execute();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   285
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   286
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   287
      
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   288
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   289
        /// Chargement des éléments du livre (Index et Annotations)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   290
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   291
        private void LoadElements()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   292
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   293
            for(int key=0;key< _selectedBook.Chapters.Length;key++)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   294
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   295
              _segmentIndex[key] = _selectedBook.Chapters[key].Index;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   296
               _annotations[key] = _selectedBook.Chapters[key].Annotations;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   297
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   298
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   299
      
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   300
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   301
}