client/src/Iri.Modernisation.Controls/ViewModel/VideoViewer/VideoViewerVM.cs
author Matthieu Totet
Mon, 30 Nov 2009 10:20:35 +0100
changeset 15 3f70aee2432f
parent 0 249d70e7b32d
child 22 69a2910ec6f9
permissions -rw-r--r--
Update VideoViewer
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.BaseMVVM.Commands;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    12
using Iri.Modernisation.BaseMVVM.ViewModel;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    13
namespace Iri.Modernisation.Controls.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    14
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
    public class VideoViewerVM : BaseMVVM.ViewModel.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
        private String _source;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
        public String Source
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    21
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    22
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
                return _source;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    26
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    27
                _source = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    28
               
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
                OnPropertyChanged(null);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    30
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    31
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    32
        public Uri USource
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    33
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    34
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    35
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    36
                if (Source != null)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
                    return new Uri(Source, UriKind.RelativeOrAbsolute);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
                else
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
                    return null;
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
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
        }
15
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    47
        
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
        public String Info
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
                return position + ":" + Source;
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
        }
15
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    56
        
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
        private TimeSpan position = new TimeSpan(0,0,0);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
        public TimeSpan Position
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
                return position;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
                position = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
                //OnPropertyChanged("Position");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
               OnPropertyChanged("Info");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
            
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
        }
15
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    72
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    73
        private bool _playControl;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    74
        public bool PlayControl
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    75
        {
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    76
            get
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    77
            {
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    78
                return _playControl;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    79
            }
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    80
            set
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    81
            {
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    82
                _playControl = value;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    83
                OnPropertyChanged("PlayControl");
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    84
            }
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    85
        }
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    86
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    87
        private bool _recordControl;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    88
        public bool RecordControl
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    89
        {
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    90
            get
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    91
            {
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    92
                return _recordControl;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    93
            }
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    94
            set
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    95
            {
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    96
                _recordControl = value;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    97
                OnPropertyChanged("RecordControl");
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    98
            }
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
    99
        }
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   100
        public VideoViewerVM(bool playControl,bool recordControl )
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   101
        {
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   102
            _playControl = playControl;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   103
            _recordControl = recordControl;
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   104
            InitializeCommands();
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   105
        }
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   106
        private void InitializeCommands()
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   107
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   108
            Commands.VideoViewer.SendPosition.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SendPosition_Executed);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   109
            //Commands.GoToTime.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(GoToTime_Executed);
15
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   110
        
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   111
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   112
        void SendPosition_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   113
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   114
            //Position = (TimeSpan)(e.Parameter);
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
       
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   118
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   119
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   120
}