src/FingersDance/MainSurfaceWindow.xaml.cs
author cavaliet
Fri, 16 Oct 2009 15:56:09 +0200
changeset 160 e940ca798fe3
parent 156 e16c8c913c65
child 162 0b9f989bcb37
permissions -rw-r--r--
Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     1
using System;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     2
using System.Collections.Generic;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     3
using System.Linq;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     4
using System.Text;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     5
using System.Windows;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     6
using System.Windows.Controls;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     7
using System.Windows.Data;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     8
using System.Windows.Documents;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
     9
using System.Windows.Input;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    10
using System.Windows.Media;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    11
using System.Windows.Media.Imaging;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    12
using System.Windows.Shapes;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    13
using System.Windows.Threading;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    14
using Microsoft.Surface;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    15
using Microsoft.Surface.Presentation;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    16
using Microsoft.Surface.Presentation.Controls;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    17
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    18
using FingersDance.Control.UserPanel;
82
c37122b567fa Work ControlScreen
sarias
parents: 77
diff changeset
    19
using FingersDance.Control.Screen;
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    20
using FingersDance.Control.Close;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    21
using FingersDance.ViewModels;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    22
using FingersDance.Data;
156
e16c8c913c65 Color Factory et application des couleurs au pivot
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 152
diff changeset
    23
using FingersDance.Factory;
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    24
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    25
namespace FingersDance
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    26
{
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    27
    /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    28
    /// Interaction logic for SurfaceWindow1.xaml
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    29
    /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    30
    public partial class SurfaceWindow1 : SurfaceWindow
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    31
    {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    32
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    33
        /// Default constructor.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    34
        /// </summary>
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 45
diff changeset
    35
        /// 
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    36
        #region Variables
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    37
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
    38
        private UserControlUserPanel Panel1 = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
    39
        private UserControlUserPanel Panel2 = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
    40
        private UserControlUserPanel Panel3 = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
    41
        private UserControlUserPanel Panel4 = null;
156
e16c8c913c65 Color Factory et application des couleurs au pivot
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 152
diff changeset
    42
        ActionGenerator _Factory = (new ActionFactory()).GetGenerator();
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    43
        private MainViewModel _mainviewmodel = new MainViewModel();      
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    44
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    45
        #endregion
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 45
diff changeset
    46
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 45
diff changeset
    47
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    48
        #region Constructor
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    49
        public SurfaceWindow1()
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    50
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    51
            InitializeComponent();
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    52
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    53
            //Permet d'initialiser l'inertie du Pivot une fois relach�.
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    54
            InitPivotInertia();
58
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    55
            //Permet d'initialiser les quand Grid � la position initiale du pivot
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    56
            InitGridPositions();
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    57
            // Add handlers for Application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    58
            AddActivationHandlers();
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    59
        }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    60
        #endregion
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    61
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    62
        #region Initialization
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    63
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    64
        private void InitPivotInertia()
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    65
        {
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    66
            try
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    67
            {
77
e95e916eb018 Travail sur le Pivot et le control Session Input
sarias
parents: 73
diff changeset
    68
                ScatterViewItem item = (ScatterViewItem)scaterview.Items.GetItemAt(0);
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    69
                item.DecelerationRate = double.NaN;
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    70
            }
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    71
            catch (Exception ex) { }
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    72
        }
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
    73
58
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    74
        private void InitGridPositions()
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    75
        {
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    76
            //Initialise les 4 Grids � la positions initiale du Pivot.   
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    77
            try
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    78
            {
77
e95e916eb018 Travail sur le Pivot et le control Session Input
sarias
parents: 73
diff changeset
    79
                ScatterViewItem item = (ScatterViewItem)scaterview.Items.GetItemAt(0);
58
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    80
                Grid1.Width =item.Center.X;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    81
                Grid1.Height = item.Center.Y;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    82
                
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    83
                Grid2.Width = item.Center.X;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    84
                Grid2.Height = 768 - item.Center.Y;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    85
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    86
                Grid3.Width = 1024 - item.Center.X;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    87
                Grid3.Height = 768 - item.Center.Y;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    88
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    89
                Grid4.Width = 1024 - item.Center.X;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    90
                Grid4.Height = item.Center.Y;
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    91
            }
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    92
            catch (Exception ex) { }
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    93
        }
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    94
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
    95
        #endregion
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    96
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    97
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    98
        /// Occurs when the window is about to close. 
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    99
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   100
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   101
        protected override void OnClosed(EventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   102
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   103
            base.OnClosed(e);
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   104
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   105
            // Remove handlers for Application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   106
            RemoveActivationHandlers();
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   107
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   108
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   109
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   110
        /// Adds handlers for Application activation events.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   111
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   112
        private void AddActivationHandlers()
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   113
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   114
            // Subscribe to surface application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   115
            ApplicationLauncher.ApplicationActivated += OnApplicationActivated;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   116
            ApplicationLauncher.ApplicationPreviewed += OnApplicationPreviewed;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   117
            ApplicationLauncher.ApplicationDeactivated += OnApplicationDeactivated;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   118
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   119
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   120
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   121
        /// Removes handlers for Application activation events.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   122
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   123
        private void RemoveActivationHandlers()
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   124
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   125
            // Unsubscribe from surface application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   126
            ApplicationLauncher.ApplicationActivated -= OnApplicationActivated;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   127
            ApplicationLauncher.ApplicationPreviewed -= OnApplicationPreviewed;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   128
            ApplicationLauncher.ApplicationDeactivated -= OnApplicationDeactivated;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   129
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   130
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   131
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   132
        /// This is called when application has been activated.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   133
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   134
        /// <param name="sender"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   135
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   136
        private void OnApplicationActivated(object sender, EventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   137
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   138
            //TODO: enable audio, animations here
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   139
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   140
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   141
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   142
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   143
        /// This is called when application is in preview mode.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   144
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   145
        /// <param name="sender"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   146
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   147
        private void OnApplicationPreviewed(object sender, EventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   148
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   149
            //TODO: Disable audio here if it is enabled
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   150
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   151
            //TODO: optionally enable animations here
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   152
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   153
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   154
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   155
        ///  This is called when application has been deactivated.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   156
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   157
        /// <param name="sender"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   158
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   159
        private void OnApplicationDeactivated(object sender, EventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   160
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   161
            //TODO: disable audio, animations here
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   162
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   163
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   164
        /// <summary>
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   165
        ///  This is called when application has been loaded, we change the orientation
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   166
        ///  of the application
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   167
        /// </summary>
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   168
        /// <param name="sender"></param>
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   169
        /// <param name="e"></param>
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   170
        private void mainSurfaceWindow_Loaded(object sender, RoutedEventArgs e)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   171
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   172
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   173
            if (ApplicationLauncher.InitialOrientation == UserOrientation.Top)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   174
            {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   175
                // Rotate the main canvas by 180 degrees.
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   176
                this.MainGrid.LayoutTransform = new RotateTransform(180.0);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   177
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   178
            else
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   179
            {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   180
                // Remove the rotate transform on the main canvas.
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   181
                this.MainGrid.LayoutTransform = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   182
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   183
            // Dismiss the loading screen.
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   184
            ApplicationLauncher.SignalApplicationLoadComplete();
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   185
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   186
77
e95e916eb018 Travail sur le Pivot et le control Session Input
sarias
parents: 73
diff changeset
   187
        private void scaterview_ContactChanged(object sender, ContactEventArgs e)
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   188
        {  }
77
e95e916eb018 Travail sur le Pivot et le control Session Input
sarias
parents: 73
diff changeset
   189
e95e916eb018 Travail sur le Pivot et le control Session Input
sarias
parents: 73
diff changeset
   190
        private void ScatterViewItemPivot_ContactChanged(object sender, ContactEventArgs e)
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   191
        {
58
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
   192
            //Permet la MAJ des 4 Grids � la position du pivot
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   193
            try
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   194
            {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   195
                Grid1.Width = e.GetPosition(mainSurfaceWindow).X;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   196
                Grid1.Height = e.GetPosition(mainSurfaceWindow).Y;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   197
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   198
                Grid3.Width = e.GetPosition(mainSurfaceWindow).X;
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   199
                Grid3.Height = 768 - e.GetPosition(mainSurfaceWindow).Y;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   200
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   201
                Grid4.Width = 1024 - e.GetPosition(mainSurfaceWindow).X;
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   202
                Grid4.Height = 768 - e.GetPosition(mainSurfaceWindow).Y;
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   203
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   204
                Grid2.Width = 1024 - e.GetPosition(mainSurfaceWindow).X;
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   205
                Grid2.Height = e.GetPosition(mainSurfaceWindow).Y;
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   206
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   207
                //GRISAGE
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   208
                //Grid1
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   209
                if (Grid1.Width < (1024 / 4) || Grid2.Height < (768 / 4))
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   210
                {
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   211
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   212
                    {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   213
                        if (Panel1 != null)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   214
                            Panel1.PlayerPause();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   215
                        Grid1.Children[1].Visibility = Visibility.Hidden;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   216
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   217
                    catch (Exception) { }
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   218
                }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   219
                else
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   220
                {
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   221
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   222
                    { 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   223
                        Grid1.Children[1].Visibility = Visibility.Visible; 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   224
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   225
                    catch (Exception) { }
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   226
                }
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   227
                //Grid2
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   228
                if (Grid2.Width < (1024 / 4) || Grid2.Height < (768 / 4))
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   229
                {
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   230
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   231
                    {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   232
                        if (Panel2 != null)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   233
                            Panel2.PlayerPause();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   234
                        Grid2.Children[1].Visibility = Visibility.Hidden; 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   235
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   236
                    catch (Exception) { }
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   237
                }
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   238
                else
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   239
                {
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   240
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   241
                    {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   242
                        Grid2.Children[1].Visibility = Visibility.Visible; 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   243
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   244
                    catch (Exception) { }
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   245
                }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   246
                //Grid3
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   247
                if (Grid3.Width < (1024 / 4) || Grid3.Height < (768 / 4))
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   248
                {
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   249
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   250
                    {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   251
                        if (Panel3 != null)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   252
                            Panel3.PlayerPause();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   253
                        Grid3.Children[1].Visibility = Visibility.Hidden;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   254
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   255
                    catch (Exception) { }
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   256
                }
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   257
                else
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   258
                {
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   259
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   260
                    {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   261
                        Grid3.Children[1].Visibility = Visibility.Visible; 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   262
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   263
                    catch (Exception) { }
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   264
                }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   265
                //Grid4
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   266
                if (Grid4.Width < (1024 / 4) || Grid4.Height < (768 / 4))
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   267
                {
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   268
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   269
                    {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   270
                        if (Panel4 != null)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   271
                            Panel4.PlayerPause();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   272
                        Grid4.Children[1].Visibility = Visibility.Hidden;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   273
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   274
                    catch (Exception) { }
89
f9a931434910 Grisage lors du resize.
sarias
parents: 82
diff changeset
   275
                }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   276
                else
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   277
                {
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   278
                    try
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   279
                    { 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   280
                        Grid4.Children[1].Visibility = Visibility.Visible;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   281
                    }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   282
                    catch (Exception) { }
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   283
                }
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   284
            }
91
0f29e2660bb7 grisage sur le les controls
sarias
parents: 89
diff changeset
   285
            catch (Exception) { }
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   286
        }
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   287
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   288
        private void UserControlPivot_EH_SurfaceButtonPlayer_ContactDown(object sender, EventArgs e)
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   289
        {
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   290
            //  Si aucune video n'a �t� s�lectionn�e et qu'une grid contient un �l�ment (listvideo), on ne fait rien
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   291
            if (_mainviewmodel.Session.Name.Equals("") && (Grid1.Children.Count == 2 || Grid2.Children.Count == 2 || Grid3.Children.Count == 2 || Grid4.Children.Count == 2))
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   292
                return;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   293
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   294
            //  Traitement du contact down sur le pivot (Cr�ation d'un screen ou suppression d'un panel
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   295
            switch ((int)sender)
60
b4008a356f90 Resolution Inertie du Pivot.
sarias
parents: 58
diff changeset
   296
            {
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   297
                case 1:
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   298
                    if (Panel1 == null && Grid1.Children.Count == 1)
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   299
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   300
                        //1-Creation du control Screen
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   301
                        UserControlScreen Screen = new UserControlScreen(1, _mainviewmodel);
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   302
                        Screen.Name = "Screen1";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   303
                        Screen.contexteGrid = Grid1.Name.ToString();
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   304
                        //2-Rajout du screen dans la grid correspondante
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   305
                        Grid1.Children.Add(Screen);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   306
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   307
                        Screen.UC_Screen_NewSession += new System.EventHandler(this.SessionInput_EH_SurfaceButtonSubmit_ContactDown);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   308
                    }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   309
                    else //Affichage du message de confirmation
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   310
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   311
                        if (Panel1 != null && Grid1.Children.Count == 2)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   312
                        {
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   313
                            UserControlClose UCclose = new UserControlClose(1, "�tes-vous s�r de vouloir quitter ?");
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   314
                            UCclose.Name = "CloseAlert1";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   315
                            Grid1.Children.Add(UCclose);
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   316
                            UCclose.ConfirmYesOrNo += new EventHandler<ConfirmEventArgs>(CloseAlert_EH_SurfaceButton_ContactDown);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   317
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   318
                    }
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   319
                    break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   320
                case 2:
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   321
                    if (Panel2 == null && Grid2.Children.Count == 1)
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   322
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   323
                        //1-Creation du control Screen
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   324
                        UserControlScreen Screen = new UserControlScreen(2, _mainviewmodel);
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   325
                        Screen.Name = "Screen2";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   326
                        Screen.contexteGrid = Grid2.Name.ToString();
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   327
                        //2-Rajout du screen dans la grid correspondante
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   328
                        Grid2.Children.Add(Screen);
72
f1ca0958c992 Travail sur le control List Video et comunication entre ListVideo et FingersDance
sarias
parents: 60
diff changeset
   329
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   330
                        Screen.UC_Screen_NewSession += new System.EventHandler(this.SessionInput_EH_SurfaceButtonSubmit_ContactDown);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   331
                    }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   332
                    else //Affichage du message de confirmation
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   333
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   334
                        if (Panel2 != null && Grid2.Children.Count == 2)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   335
                        {
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   336
                            UserControlClose UCclose = new UserControlClose(2, "�tes-vous s�r de vouloir quitter ?");
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   337
                            UCclose.Name = "CloseAlert2";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   338
                            Grid2.Children.Add(UCclose);
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   339
                            UCclose.ConfirmYesOrNo += new EventHandler<ConfirmEventArgs>(CloseAlert_EH_SurfaceButton_ContactDown);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   340
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   341
                    }
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   342
                    break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   343
                case 3:
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   344
                    if (Panel3 == null && Grid3.Children.Count == 1)
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   345
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   346
                        //1-Creation du control Screen
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   347
                        UserControlScreen Screen = new UserControlScreen(3, _mainviewmodel);
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   348
                        Screen.Name = "Screen3";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   349
                        Screen.contexteGrid = Grid3.Name.ToString();
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   350
                        //2-Rajout du screen dans la grid correspondante
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   351
                        Grid3.Children.Add(Screen);
72
f1ca0958c992 Travail sur le control List Video et comunication entre ListVideo et FingersDance
sarias
parents: 60
diff changeset
   352
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   353
                        Screen.UC_Screen_NewSession += new System.EventHandler(this.SessionInput_EH_SurfaceButtonSubmit_ContactDown);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   354
                    }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   355
                    else //Affichage du message de confirmation
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   356
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   357
                        if (Panel3 != null && Grid3.Children.Count == 2)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   358
                        {
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   359
                            UserControlClose UCclose = new UserControlClose(3, "�tes-vous s�r de vouloir quitter ?");
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   360
                            UCclose.Name = "CloseAlert3";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   361
                            Grid3.Children.Add(UCclose);
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   362
                            UCclose.ConfirmYesOrNo += new EventHandler<ConfirmEventArgs>(CloseAlert_EH_SurfaceButton_ContactDown);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   363
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   364
                    }
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   365
                    break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   366
                case 4:
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   367
                    if (Panel4 == null && Grid4.Children.Count == 1)
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   368
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   369
                        //1-Creation du control Screen
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   370
                        UserControlScreen Screen = new UserControlScreen(4, _mainviewmodel);
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   371
                        Screen.Name = "Screen4";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   372
                        Screen.contexteGrid = Grid4.Name.ToString();
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   373
                        //2-Rajout du screen dans la grid correspondante
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   374
                        Grid4.Children.Add(Screen);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   375
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   376
                        Screen.UC_Screen_NewSession += new System.EventHandler(this.SessionInput_EH_SurfaceButtonSubmit_ContactDown);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   377
                    }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   378
                    else //Affichage du message de confirmation
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   379
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   380
                        if (Panel4 != null && Grid4.Children.Count == 2)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   381
                        {
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   382
                            UserControlClose UCclose = new UserControlClose(4, "�tes-vous s�r de vouloir quitter ?");
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   383
                            UCclose.Name = "CloseAlert4";
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   384
                            Grid4.Children.Add(UCclose);
140
fc7c12f9da30 Add a confirm dialog box before deleting an annotation by drag and drop. Now the UserControlClose is a generic confirm dialog box sending a ConfirmYesOrNo Event.
cavaliet
parents: 139
diff changeset
   385
                            UCclose.ConfirmYesOrNo += new EventHandler<ConfirmEventArgs>(CloseAlert_EH_SurfaceButton_ContactDown);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   386
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   387
                    }
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   388
                    break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   389
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   390
                        
73
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   391
        }
72
f1ca0958c992 Travail sur le control List Video et comunication entre ListVideo et FingersDance
sarias
parents: 60
diff changeset
   392
73
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   393
        //Button Submit du control SessionInput
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   394
        private void SessionInput_EH_SurfaceButtonSubmit_ContactDown(object sender, EventArgs e)
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   395
        {
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   396
            try
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   397
            {
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   398
                //1-Suppression du UC Screen
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 97
diff changeset
   399
                Grid root = (Grid)(((UserControlScreen)sender).Parent);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 97
diff changeset
   400
                root.Children.Remove(((UserControlScreen)sender));
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   401
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   402
                if (((UserControlScreen)sender).Project != null)
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   403
                {
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   404
                    //2-Creation du User Panel
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   405
                    Project newProject = ((UserControlScreen)sender).Project.Project;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   406
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   407
                    if ((Panel1 != null && Panel1.Project.Equals(newProject)) || (Panel2 != null && Panel2.Project.Equals(newProject)) || (Panel3 != null && Panel3.Project.Equals(newProject)) || (Panel4 != null && Panel4.Project.Equals(newProject)))
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   408
                        return;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   409
156
e16c8c913c65 Color Factory et application des couleurs au pivot
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 152
diff changeset
   410
                    Random c = new Random();
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   411
                    uint color = (uint)c.Next(12) + 1; // for the number to be >0
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   412
                    switch (((UserControlScreen)sender).id)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   413
                    {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   414
                        case 1:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   415
                            UserControlPivot.ApplyColor(1, color);
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   416
                            Panel1 = new UserControlUserPanel(1, (new ColorFactory()).Colors[color], newProject, _mainviewmodel.Session.VideoPath);
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   417
                            Panel1.Name = "UserPanel1";
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   418
                            //3-Rajout sur la Grid Root
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   419
                            root.Children.Add(Panel1);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   420
                            break;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   421
                        case 2:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   422
                            UserControlPivot.ApplyColor(2, color);
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   423
                            Panel2 = new UserControlUserPanel(2, (new ColorFactory()).Colors[color], newProject, _mainviewmodel.Session.VideoPath);
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   424
                            Panel2.Name = "UserPanel2";
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   425
                            //3-Rajout sur la Grid Root
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   426
                            root.Children.Add(Panel2);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   427
                            break;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   428
                        case 3:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   429
                            UserControlPivot.ApplyColor(3, color);
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   430
                            Panel3 = new UserControlUserPanel(3, (new ColorFactory()).Colors[color], newProject, _mainviewmodel.Session.VideoPath);
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   431
                            Panel3.Name = "UserPanel3";
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   432
                            //3-Rajout sur la Grid Root
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   433
                            root.Children.Add(Panel3);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   434
                            break;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   435
                        case 4:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   436
                            UserControlPivot.ApplyColor(4, color);
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   437
                            Panel4 = new UserControlUserPanel(4, (new ColorFactory()).Colors[color], newProject, _mainviewmodel.Session.VideoPath);
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   438
                            Panel4.Name = "UserPanel4";
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   439
                            //3-Rajout sur la Grid Root
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   440
                            root.Children.Add(Panel4);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   441
                            break;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 150
diff changeset
   442
                    }
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
   443
                }
73
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   444
            }
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   445
            catch (Exception ex) { }
72
f1ca0958c992 Travail sur le control List Video et comunication entre ListVideo et FingersDance
sarias
parents: 60
diff changeset
   446
        }
73
bda95242e600 Travail sur Enchainement New Session --> UserPanel.
sarias
parents: 72
diff changeset
   447
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   448
        //Actions du boutton Alert selon l'action close OK ou NON
141
923687896770 UserControlClose more readable and MainSurfaceWindow now uses the ConfirmYesOrNo event.
cavaliet
parents: 140
diff changeset
   449
        private void CloseAlert_EH_SurfaceButton_ContactDown(object sender, ConfirmEventArgs e)
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   450
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   451
            Grid root = (Grid)(((UserControlClose)sender).Parent);
141
923687896770 UserControlClose more readable and MainSurfaceWindow now uses the ConfirmYesOrNo event.
cavaliet
parents: 140
diff changeset
   452
            if(e.Confirmed==true)
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   453
            {
141
923687896770 UserControlClose more readable and MainSurfaceWindow now uses the ConfirmYesOrNo event.
cavaliet
parents: 140
diff changeset
   454
                switch(e.PanelNumber)
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   455
                {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   456
                    case 1:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   457
                        UserControlPivot.ApplyColor(1, 0);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   458
                        root.Children.Remove(Panel1);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   459
                        Panel1 = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   460
                        break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   461
                    case 2:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   462
                        UserControlPivot.ApplyColor(2, 0);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   463
                        root.Children.Remove(Panel2);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   464
                        Panel2 = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   465
                        break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   466
                    case 3:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   467
                        UserControlPivot.ApplyColor(3, 0);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   468
                        root.Children.Remove(Panel3);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   469
                        Panel3 = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   470
                        break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   471
                    case 4:
160
e940ca798fe3 Enhance color factory and send the current project (data) to the timeline instance in order to build the project's cutting's annotation list.
cavaliet
parents: 156
diff changeset
   472
                        UserControlPivot.ApplyColor(4, 0);
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   473
                        root.Children.Remove(Panel4);
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   474
                        Panel4 = null;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   475
                        break;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   476
                }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   477
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   478
            root.Children.Remove(((UserControlClose)sender));
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 119
diff changeset
   479
        }
77
e95e916eb018 Travail sur le Pivot et le control Session Input
sarias
parents: 73
diff changeset
   480
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   481
    }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   482
}