client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/CustomableVideoElementVM.cs
author totetm <>
Wed, 27 Jan 2010 10:37:39 +0100
changeset 36 b6df6fce6e5d
parent 27 f292db96b050
permissions -rw-r--r--
Sync init XML download. ProductionVideo from URI source
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 Iri.Modernisation.Controls.View;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
using System.Collections.Generic;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
namespace Iri.Modernisation.Controls.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
    public class CustomableVideoElementVM : BaseMVVM.ViewModel.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
        public CustomableVideoElementVM(VideoSequence paramSeq)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    21
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    22
            _videoSequence = paramSeq;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
            _runTime = paramSeq.RunTime;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
            _beginTrim = paramSeq.BeginTrim;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
            _endTrim = paramSeq.EndTrim;
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    26
           
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    27
            OnPropertyChanged("Duration");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    28
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    30
        private VideoSequence _videoSequence;
20
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
    31
        public VideoSequence VideoSequence
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
    32
        {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
    33
            get
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
    34
            {
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
    35
                return _videoSequence;
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
    36
            }
c2dd8119a6c1 Update ProductionView
Matthieu Totet
parents: 17
diff changeset
    37
        }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
        private TimeSpan _runTime;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
        public TimeSpan RunTime 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
                return _runTime;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
                _runTime = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
                _videoSequence.RunTime = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
                OnPropertyChanged(String.Empty);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
               
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
        private TimeSpan _beginTrim;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
        public TimeSpan BeginTrim 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
                return _beginTrim;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
                _beginTrim = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
                _videoSequence.BeginTrim = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
                OnPropertyChanged(String.Empty);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
        private TimeSpan _endTrim;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
        public TimeSpan EndTrim 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
        { 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
                return _endTrim;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    76
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    77
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    78
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    79
                _endTrim = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    80
                _videoSequence.EndTrim = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    81
                OnPropertyChanged(String.Empty);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    82
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    83
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    84
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
    85
        
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
    86
        public double Duration
0
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( RunTime.TotalMilliseconds - (BeginTrim.TotalMilliseconds + EndTrim.TotalMilliseconds))*ProductionTimeLine.ScaleTime;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    91
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    92
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    93
        }
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    94
36
b6df6fce6e5d Sync init XML download.
totetm <>
parents: 27
diff changeset
    95
      
17
0e4e63f6f567 Update ProductinoView and Components
Matthieu Totet
parents: 0
diff changeset
    96
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
    97
        private Color _chapterColor;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
    98
        public Color ChapterColor
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
    99
        {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   100
            get
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   101
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   102
                return _chapterColor;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   103
            }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   104
            set
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   105
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   106
                _chapterColor = value;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   107
                OnPropertyChanged("ChapterColor");
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   108
            }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   109
        }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   110
        public SolidColorBrush ChapterSolidColorBrush
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   111
        {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   112
            get
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   113
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   114
                return new SolidColorBrush(this.ChapterColor);
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   115
            }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   116
        }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents: 20
diff changeset
   117
        public TimeSpan DurationTimeSpan
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   118
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   119
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   120
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   121
                return _videoSequence.Duration;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   122
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   123
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   124
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   125
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   126
       
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   127
        
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   128
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   129
}