src/FingersDance.Control.Screen/UserControlScreen.xaml.cs
changeset 182 25b49d4f1635
parent 156 e16c8c913c65
child 186 83615722dbab
--- a/src/FingersDance.Control.Screen/UserControlScreen.xaml.cs	Wed Oct 28 13:46:38 2009 +0100
+++ b/src/FingersDance.Control.Screen/UserControlScreen.xaml.cs	Wed Oct 28 17:07:27 2009 +0100
@@ -19,10 +19,10 @@
 	{
         public String contexteGrid;
         public int id = 0;
-        public event EventHandler UC_Screen_NewSession;
+        public event EventHandler UC_Screen_NewCutting;
         public MainViewModel MainViewModel;
-        public ProjectViewModel Project = new ProjectViewModel();
-        List<Session> sessions = new List<Session>();
+        public CuttingViewModel Cutting;
+        private List<Project> existingProjects = new List<Project>();
         User User = new User();
 
         public UserControlScreen(int id, MainViewModel mvmodel)
@@ -32,7 +32,7 @@
                 this.InitializeComponent();
                 this.id = id;
                 MainViewModel = mvmodel;
-                if (MainViewModel.Session.VideoPath.Equals(""))
+                if (MainViewModel.Project.VideoPath.Equals(""))
                 {
                     //1-Creation de la ListVideo
                     UserControlListVideo ListVideo = new UserControlListVideo();
@@ -47,9 +47,9 @@
             }
             catch (Exception)
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 
@@ -67,69 +67,70 @@
         {
             try
             {
-                //1 rensegner la video choisie au screen
-                MainViewModel.CreateSession(((UserControlListVideo)sender).VideoName, ((UserControlListVideo)sender).path);
+                //1 renseigner la video choisie au screen et créer un nouveau projet à partir de ce chemin vidéo
+                MainViewModel.CreateProject(((UserControlListVideo)sender).VideoName, ((UserControlListVideo)sender).path);
                 //2-Supression du UC List Video
                 LayoutRoot.Children.Remove((UserControlListVideo)sender);
-                OpenSession();
+                OpenProjectList();
             }
             catch (Exception ex)
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 
-        private void OpenSession()
+        private void OpenProjectList()
         {
             try
             {
-                sessions = LoadSessions(MainViewModel.Session.VideoPath);
-                UserControlListSession listSession = new UserControlListSession(sessions);
-                listSession.Name = "ListSession";
-                LayoutRoot.Children.Add(listSession);
-                listSession.EH_List_ContactDown += new EventHandler(listSession_EH_List_ContactDown);
+                existingProjects = LoadProjects(MainViewModel.Project.VideoPath);
+                UserControlListSession listProject = new UserControlListSession(existingProjects);
+                listProject.Name = "ListProject";
+                LayoutRoot.Children.Add(listProject);
+                listProject.EH_List_ContactDown += new EventHandler(listProject_EH_List_ContactDown);
             }
             catch (Exception)
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 
-        private List<Session> LoadSessions(string name)
+        private List<Project> LoadProjects(string name)
         {
+            // Does nothing because for the moment we do not load sessions when we know the video path, we just create a new session
             try
             {
-                return new List<Session>();
+                return new List<Project>();
             }
             catch (Exception) 
             {
-                return new List<Session>();
+                return new List<Project>();
             }
         }
 
-        void listSession_EH_List_ContactDown(object sender, EventArgs e)
+        void listProject_EH_List_ContactDown(object sender, EventArgs e)
         {
             try
             {
                 LayoutRoot.Children.Remove((UserControlListSession)sender);
-                if (((UserControlListSession)sender).SelectedItem.Equals("New Session"))
+                if (((UserControlListSession)sender).SelectedItem.Equals("New Project"))
                 {
-                    UserControlSessionInput SessionInput = new UserControlSessionInput();
-                    SessionInput.Name = "SessionInput";
-                    LayoutRoot.Children.Add(SessionInput);
-                    SessionInput.EH_SurfaceButtonSubmit_ContactDown += new System.EventHandler(this.SessionInput_EH_SurfaceButtonSubmit_ContactDown);
+                    UserControlSessionInput ProjectInput = new UserControlSessionInput();
+                    ProjectInput.Name = "ProjectInput";
+                    LayoutRoot.Children.Add(ProjectInput);
+                    ProjectInput.EH_SurfaceButtonSubmit_ContactDown += new System.EventHandler(this.ProjectInput_EH_SurfaceButtonSubmit_ContactDown);
                 }
                 else
                 {
-                    foreach (Session elt in sessions)
+                    foreach (Project elt in existingProjects)
                     {
                         if (elt.Name.Equals(((UserControlListSession)sender).SelectedItem))
                         {
-                            MainViewModel.Session.Projects = elt.Projects;
+                            MainViewModel.Project.Project = elt;
                             OpenProject();
                             return;
                         }
@@ -138,20 +139,20 @@
             }
             catch (Exception)
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 
-        private void SessionInput_EH_SurfaceButtonSubmit_ContactDown(object sender, EventArgs e)
+        private void ProjectInput_EH_SurfaceButtonSubmit_ContactDown(object sender, EventArgs e)
         {
             try
             {
-                MainViewModel.Session.Alias = ((UserControlSessionInput)sender).Alias;
-                MainViewModel.Session.Email = ((UserControlSessionInput)sender).Email;
-                MainViewModel.Session.Description = ((UserControlSessionInput)sender).Description;
-                MainViewModel.Session.Name = ((UserControlSessionInput)sender).SessionName;
+                //MainViewModel.Project.Alias = ((UserControlSessionInput)sender).Alias;
+                //MainViewModel.Project.Email = ((UserControlSessionInput)sender).Email;
+                MainViewModel.Project.Description = ((UserControlSessionInput)sender).Description;
+                MainViewModel.Project.Name = ((UserControlSessionInput)sender).SessionName;
                 
                 //2-Suppression UCSession Input
                 LayoutRoot.Children.Remove((UserControlSessionInput)sender);
@@ -159,9 +160,9 @@
             }
             catch (Exception ex) 
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 
@@ -169,66 +170,67 @@
         {
             try
             {
-                UserControlListProject listProjects = new UserControlListProject(MainViewModel.Session.Projects);
-                listProjects.Name = "ListProjects";
-                LayoutRoot.Children.Add(listProjects);
-                listProjects.EH_Item_ContactDown += new EventHandler(listProjects_EH_Item_ContactDown);
+                UserControlListProject listCuttings = new UserControlListProject(MainViewModel.Project.CuttingsDict);
+                listCuttings.Name = "listCuttings";
+                LayoutRoot.Children.Add(listCuttings);
+                listCuttings.EH_Item_ContactDown += new EventHandler(listCuttings_EH_Item_ContactDown);
             }
             catch (Exception) 
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 
-        void listProjects_EH_Item_ContactDown(object sender, EventArgs e)
+        void listCuttings_EH_Item_ContactDown(object sender, EventArgs e)
         {
             try
             {
                 LayoutRoot.Children.Remove((UserControlListProject)sender);
-                if (((UserControlListProject)sender).SelectedItem.Equals("New Project"))
+                if (((UserControlListProject)sender).SelectedItem.Equals("New Cutting"))
                 {
-                    UserControlNewProject newProject = new UserControlNewProject(User);
-                    newProject.Name = "newProject";
-                    LayoutRoot.Children.Add(newProject);
-                    newProject.EH_NewProject_ContactDown += new EventHandler(newProject_EH_NewProject_ContactDown);
-                } 
+                    UserControlNewProject newCutting = new UserControlNewProject(User);
+                    newCutting.Name = "newCutting";
+                    LayoutRoot.Children.Add(newCutting);
+                    newCutting.EH_NewCutting_ContactDown += new EventHandler(newCutting_EH_NewProject_ContactDown);
+                }
                 else
                 {
-                    foreach(KeyValuePair<string, Project> elt in MainViewModel.Session.Projects)
+                    foreach(KeyValuePair<string, Cutting> elt in MainViewModel.Project.CuttingsDict)
                         if (elt.Key.Equals(((UserControlListProject)sender).SelectedItem))
                         {
-                            Project = new ProjectViewModel(elt.Value);
-                            if (UC_Screen_NewSession != null)
-                                UC_Screen_NewSession(this, new EventArgs());
+                            Cutting = new CuttingViewModel(elt.Value, 815);
+                            if (UC_Screen_NewCutting != null)
+                                UC_Screen_NewCutting(this, new EventArgs());
                             return;
                         }
                 }
             }
             catch (Exception)
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 
-        void newProject_EH_NewProject_ContactDown(object sender, EventArgs e)
+        void newCutting_EH_NewProject_ContactDown(object sender, EventArgs e)
         {
             try
             {
+                Console.WriteLine("newCutting_EH_NewProject_ContactDown");
                 LayoutRoot.Children.Remove((UserControlNewProject)sender);
-                Project = new ProjectViewModel(((UserControlNewProject)sender).Project);
-                MainViewModel.Session.Projects.Add(Project.Name, Project.Project);
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = new CuttingViewModel(((UserControlNewProject)sender).Cutting, 850);
+                MainViewModel.Project.CuttingsDict.Add(Cutting.Title, ((UserControlNewProject)sender).Cutting);
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
-            catch (Exception) 
+            catch (Exception)
             {
-                Project = null;
-                if (UC_Screen_NewSession != null)
-                    UC_Screen_NewSession(this, new EventArgs());
+                Cutting = null;
+                if (UC_Screen_NewCutting != null)
+                    UC_Screen_NewCutting(this, new EventArgs());
             }
         }
 	}