src/FingersDance.Control.Screen/UserControlScreen.xaml.cs
author cavaliet
Wed, 04 Nov 2009 16:28:01 +0100
changeset 186 83615722dbab
parent 182 25b49d4f1635
child 187 b266af50744c
permissions -rw-r--r--
Debug data management for others panels to redisplay.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     1
using System;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     2
using System.IO;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     3
using System.Net;
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
     4
using System.Collections.Generic;
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     5
using System.Windows;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     6
using System.Windows.Controls;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     7
using System.Windows.Data;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     8
using System.Windows.Media;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     9
using System.Windows.Media.Animation;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    10
using System.Windows.Navigation;
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    11
using FingersDance.Control.ListVideo;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    12
using FingersDance.Control.SessionInput;
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    13
using FingersDance.ViewModels;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    14
using FingersDance.Data;
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    15
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    16
namespace FingersDance.Control.Screen
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    17
{
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    18
	public partial class UserControlScreen
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    19
	{
82
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    20
        public String contexteGrid;
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
    21
        public int id = 0;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    22
        public event EventHandler UC_Screen_NewCutting;
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    23
        public MainViewModel MainViewModel;
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
    24
        public CuttingViewModel CuttingVM;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    25
        private List<Project> existingProjects = new List<Project>();
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    26
        User User = new User();
95
07972aa3f2e0 ListVideo
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 82
diff changeset
    27
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    28
        public UserControlScreen(int id, MainViewModel mvmodel)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    29
        {
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    30
            try
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    31
            {
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    32
                this.InitializeComponent();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    33
                this.id = id;
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
    34
                User.Name = "User " + id;
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    35
                MainViewModel = mvmodel;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    36
                if (MainViewModel.Project.VideoPath.Equals(""))
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    37
                {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    38
                    //1-Creation de la ListVideo
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    39
                    UserControlListVideo ListVideo = new UserControlListVideo();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    40
                    ListVideo.Name = "ListVideo1";
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    41
                    //2-Ajout de la ListVideo au ControlScreen
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    42
                    this.AddToGrid(ListVideo);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    43
                    //3-Creation des Events pour chaque item de la video
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    44
                    ListVideo.EH_ItemVideo1_ContactDown += new System.EventHandler(this.ListVideo_EH_ItemVideo_ContactDown);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    45
                }
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    46
                else
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    47
                    OpenProject();
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    48
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    49
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    50
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
    51
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    52
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    53
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    54
            }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    55
        }
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    56
82
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    57
        //Rajout un UIElement vers la grid du screen.
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    58
        public void AddToGrid(UIElement uie)
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    59
        {
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    60
            if (uie != null)
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    61
            {
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    62
                try { LayoutRoot.Children.Add(uie); }
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    63
                catch(Exception){}
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    64
            }          
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    65
        }
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    66
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    67
        private void ListVideo_EH_ItemVideo_ContactDown(object sender, EventArgs e)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    68
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    69
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    70
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    71
                //1 renseigner la video choisie au screen et créer un nouveau projet à partir de ce chemin vidéo
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    72
                MainViewModel.CreateProject(((UserControlListVideo)sender).VideoName, ((UserControlListVideo)sender).path);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    73
                //2-Supression du UC List Video
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    74
                LayoutRoot.Children.Remove((UserControlListVideo)sender);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    75
                OpenProjectList();
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    76
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    77
            catch (Exception ex)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    78
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
    79
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    80
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    81
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    82
            }
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    83
        }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    84
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    85
        private void OpenProjectList()
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    86
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    87
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    88
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    89
                existingProjects = LoadProjects(MainViewModel.Project.VideoPath);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    90
                UserControlListSession listProject = new UserControlListSession(existingProjects);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    91
                listProject.Name = "ListProject";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    92
                LayoutRoot.Children.Add(listProject);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    93
                listProject.EH_List_ContactDown += new EventHandler(listProject_EH_List_ContactDown);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    94
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    95
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    96
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
    97
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    98
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    99
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   100
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   101
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   102
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   103
        private List<Project> LoadProjects(string name)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   104
        {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   105
            // Does nothing because for the moment we do not load sessions when we know the video path, we just create a new session
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   106
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   107
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   108
                return new List<Project>();
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   109
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   110
            catch (Exception) 
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   111
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   112
                return new List<Project>();
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   113
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   114
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   115
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   116
        void listProject_EH_List_ContactDown(object sender, EventArgs e)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   117
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   118
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   119
            {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   120
                LayoutRoot.Children.Remove((UserControlListSession)sender);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   121
                if (((UserControlListSession)sender).SelectedItem.Equals("New Project"))
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   122
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   123
                    UserControlSessionInput ProjectInput = new UserControlSessionInput();
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   124
                    ProjectInput.Name = "ProjectInput";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   125
                    LayoutRoot.Children.Add(ProjectInput);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   126
                    ProjectInput.EH_SurfaceButtonSubmit_ContactDown += new System.EventHandler(this.ProjectInput_EH_SurfaceButtonSubmit_ContactDown);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   127
                }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   128
                else
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   129
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   130
                    foreach (Project elt in existingProjects)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   131
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   132
                        if (elt.Name.Equals(((UserControlListSession)sender).SelectedItem))
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   133
                        {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   134
                            MainViewModel.Project.Project = elt;
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   135
                            OpenProject();
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   136
                            return;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   137
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   138
                    }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   139
                }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   140
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   141
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   142
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   143
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   144
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   145
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   146
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   147
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   148
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   149
        private void ProjectInput_EH_SurfaceButtonSubmit_ContactDown(object sender, EventArgs e)
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   150
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   151
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   152
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   153
                //MainViewModel.Project.Alias = ((UserControlSessionInput)sender).Alias;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   154
                //MainViewModel.Project.Email = ((UserControlSessionInput)sender).Email;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   155
                MainViewModel.Project.Description = ((UserControlSessionInput)sender).Description;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   156
                MainViewModel.Project.Name = ((UserControlSessionInput)sender).SessionName;
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   157
                
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   158
                
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   159
                //2-Suppression UCSession Input
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   160
                LayoutRoot.Children.Remove((UserControlSessionInput)sender);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   161
                OpenProject();
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   162
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   163
            catch (Exception ex) 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   164
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   165
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   166
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   167
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   168
            }
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   169
        }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   170
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   171
        private void OpenProject()
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   172
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   173
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   174
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   175
                UserControlListProject listCuttings = new UserControlListProject(MainViewModel.Project.CuttingsDict);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   176
                listCuttings.Name = "listCuttings";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   177
                LayoutRoot.Children.Add(listCuttings);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   178
                listCuttings.EH_Item_ContactDown += new EventHandler(listCuttings_EH_Item_ContactDown);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   179
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   180
            catch (Exception) 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   181
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   182
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   183
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   184
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   185
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   186
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   187
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   188
        void listCuttings_EH_Item_ContactDown(object sender, EventArgs e)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   189
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   190
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   191
            {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   192
                LayoutRoot.Children.Remove((UserControlListProject)sender);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   193
                if (((UserControlListProject)sender).SelectedItem.Equals("New Cutting"))
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   194
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   195
                    UserControlNewProject newCutting = new UserControlNewProject(User);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   196
                    newCutting.Name = "newCutting";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   197
                    LayoutRoot.Children.Add(newCutting);
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   198
                    newCutting.EH_NewCutting_ContactDown += new EventHandler(newCutting_EH_ContactDown);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   199
                }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   200
                else
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   201
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   202
                    foreach(KeyValuePair<string, Cutting> elt in MainViewModel.Project.CuttingsDict)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   203
                        if (elt.Key.Equals(((UserControlListProject)sender).SelectedItem))
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   204
                        {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   205
                            CuttingVM = new CuttingViewModel(elt.Value, 815);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   206
                            if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   207
                                UC_Screen_NewCutting(this, new EventArgs());
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   208
                            return;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   209
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   210
                }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   211
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   212
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   213
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   214
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   215
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   216
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   217
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   218
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   219
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   220
        void newCutting_EH_ContactDown(object sender, EventArgs e)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   221
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   222
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   223
            {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   224
                LayoutRoot.Children.Remove((UserControlNewProject)sender);
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   225
                CuttingVM = new CuttingViewModel(((UserControlNewProject)sender).Cutting, 850);
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   226
                MainViewModel.Project.CuttingsDict.Add(CuttingVM.Title, ((UserControlNewProject)sender).Cutting);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   227
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   228
                    UC_Screen_NewCutting(this, new EventArgs());
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   229
            }
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   230
            catch (Exception)
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   231
            {
186
83615722dbab Debug data management for others panels to redisplay.
cavaliet
parents: 182
diff changeset
   232
                CuttingVM = null;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   233
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   234
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   235
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   236
        }
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
   237
	}
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
   238
}