client/src/Iri.Modernisation.Controls/ViewModel/ProductionEditor/ProductionEditorVM.cs
changeset 21 253f142174ac
child 22 69a2910ec6f9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionEditor/ProductionEditorVM.cs	Mon Dec 14 09:56:55 2009 +0100
@@ -0,0 +1,135 @@
+using System;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+using Iri.Modernisation.BaseMVVM;
+using Iri.Modernisation.Data.Models;
+using System.Collections.Generic;
+using System.Linq;
+using Iri.Modernisation.BaseMVVM.Commands;
+namespace Iri.Modernisation.Controls.ViewModel
+{
+    public class ProductionEditorVM: BaseMVVM.ViewModel.ViewModel
+    {
+        private VideoViewerVM _videoViewerVM;
+        public VideoViewerVM ViewModelVideoViewer
+        {
+            get
+            {
+                return _videoViewerVM;
+            }
+            set
+            {
+                _videoViewerVM = value;
+                OnPropertyChanged("ViewModelVideoViewer");
+            }
+        }
+
+        private PolemicElement _selectedSegmentIndex;
+
+        private String _selectedIndexTitle;
+        public String SelectedIndexTitle
+        {
+            get
+            {
+                return _selectedIndexTitle;
+            }
+            set
+            {
+                _selectedIndexTitle = value;
+                _selectedSegmentIndex.Title = value;
+                OnPropertyChanged("SelectedIndexTitle");
+            }
+        }
+
+        private String _selectedIndexDescription;
+        public String SelectedIndexDescription
+        {
+            get
+            {
+                return _selectedIndexDescription;
+            }
+            set
+            {
+                _selectedIndexDescription = value;
+                _selectedSegmentIndex.Description = value;
+                OnPropertyChanged("SelectedIndexDescription");
+            }
+        }
+
+        private List<String> _selectedIndexTags = new List<String>();
+        public String SelectedIndexTags
+        {
+            get
+            {
+                try
+                {
+                    return String.Join(",", _selectedIndexTags.ToArray());
+                }
+                catch
+                {
+                    return String.Empty;
+                }
+            }
+            set
+            {
+                String val = (String)value;
+                _selectedIndexTags = val.Split(',').ToList();
+                _selectedSegmentIndex.Tags = val.Split(',').ToList();
+                OnPropertyChanged("Tags");
+
+
+            }
+        }
+
+        private bool _isRecordMode;
+        public bool IsRecordMode
+        {
+            get
+            {
+                return _isRecordMode;
+            }
+            set
+            {
+                _isRecordMode = value;
+                OnPropertyChanged("IsRecordMode");
+            }
+        }
+
+        private bool _isEditableIndex;
+        public bool IsEditableIndex
+        {
+            get
+            {
+                return _isEditableIndex;
+            }
+            set
+            {
+                _isEditableIndex = value;
+                OnPropertyChanged("IsEditableIndex");
+            }
+        }
+
+        public ProductionEditorVM()
+        {
+            Commands.ProductionTimeLine.IndexSelected.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(IndexSelected_Executed);
+
+        }
+
+        void IndexSelected_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
+        {
+            IsEditableIndex = (bool)e.Parameter;
+            _selectedSegmentIndex = (SegmentIndex)e.Source;
+            _selectedIndexTitle = _selectedSegmentIndex.Title;
+            _selectedIndexTags = _selectedSegmentIndex.Tags;
+            _selectedIndexDescription = _selectedSegmentIndex.Description;
+            OnPropertyChanged(String.Empty);
+        }
+    }
+}