src/FingersDance/MainSurfaceWindow.xaml.cs
author sarias
Tue, 15 Sep 2009 15:40:40 +0200
changeset 58 d7313fb1806c
parent 54 c724ac229181
child 60 b4008a356f90
permissions -rw-r--r--
Initialisation de la position du Pivot au centre et des positions des 4 Grids
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
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    18
namespace FingersDance
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    19
{
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    20
    /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    21
    /// Interaction logic for SurfaceWindow1.xaml
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    22
    /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    23
    public partial class SurfaceWindow1 : SurfaceWindow
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    24
    {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    25
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    26
        /// Default constructor.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    27
        /// </summary>
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 45
diff changeset
    28
        /// 
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 45
diff changeset
    29
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 45
diff changeset
    30
        ActionFactory.ActionGenerator _Factory = new FingersDance.ActionFactory.ActionFactory().GetGenerator();
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 45
diff changeset
    31
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    32
        public SurfaceWindow1()
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    33
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    34
            InitializeComponent();
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    35
58
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    36
            //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
    37
            InitGridPositions();
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    38
            // Add handlers for Application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    39
            AddActivationHandlers();
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    40
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    41
58
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    42
        private void InitGridPositions()
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    43
        {
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    44
            //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
    45
            try
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    46
            {
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    47
                ScatterViewItem item = (ScatterViewItem)ScaterView.Items.GetItemAt(0);
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    48
                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
    49
                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
    50
                
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    51
                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
    52
                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
    53
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    54
                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
    55
                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
    56
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    57
                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
    58
                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
    59
            }
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    60
            catch (Exception ex) { }
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    61
        }
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
    62
45
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    63
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    64
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    65
        /// Occurs when the window is about to close. 
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    66
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    67
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    68
        protected override void OnClosed(EventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    69
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    70
            base.OnClosed(e);
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    71
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    72
            // Remove handlers for Application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    73
            RemoveActivationHandlers();
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    74
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    75
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    76
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    77
        /// Adds handlers for Application activation events.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    78
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    79
        private void AddActivationHandlers()
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    80
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    81
            // Subscribe to surface application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    82
            ApplicationLauncher.ApplicationActivated += OnApplicationActivated;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    83
            ApplicationLauncher.ApplicationPreviewed += OnApplicationPreviewed;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    84
            ApplicationLauncher.ApplicationDeactivated += OnApplicationDeactivated;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    85
        }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    86
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    87
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    88
        /// Removes handlers for Application activation events.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    89
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    90
        private void RemoveActivationHandlers()
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    91
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    92
            // Unsubscribe from surface application activation events
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    93
            ApplicationLauncher.ApplicationActivated -= OnApplicationActivated;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    94
            ApplicationLauncher.ApplicationPreviewed -= OnApplicationPreviewed;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    95
            ApplicationLauncher.ApplicationDeactivated -= OnApplicationDeactivated;
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
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    98
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
    99
        /// This is called when application has been activated.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   100
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   101
        /// <param name="sender"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   102
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   103
        private void OnApplicationActivated(object sender, EventArgs 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
            //TODO: enable audio, animations here
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   106
        }
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
        /// <summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   109
        /// This is called when application is in preview mode.
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   110
        /// </summary>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   111
        /// <param name="sender"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   112
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   113
        private void OnApplicationPreviewed(object sender, EventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   114
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   115
            //TODO: Disable audio here if it is enabled
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   116
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   117
            //TODO: optionally enable animations here
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
        ///  This is called when application has been deactivated.
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
        /// <param name="sender"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   124
        /// <param name="e"></param>
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   125
        private void OnApplicationDeactivated(object sender, EventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   126
        {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   127
            //TODO: disable audio, animations here
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   128
        }
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
        private void ScaterView_ContactChanged(object sender, ContactEventArgs e)
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   131
        {
58
d7313fb1806c Initialisation de la position du Pivot au centre et des positions des 4 Grids
sarias
parents: 54
diff changeset
   132
            //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
   133
            try
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   134
            {
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   135
                Grid1.Width = e.GetPosition(mainSurfaceWindow).X;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   136
                Grid1.Height = e.GetPosition(mainSurfaceWindow).Y;
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
                Grid2.Width = e.GetPosition(mainSurfaceWindow).X;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   139
                Grid2.Height = 768 - e.GetPosition(mainSurfaceWindow).Y;
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
                Grid3.Width = 1024 - e.GetPosition(mainSurfaceWindow).X;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   142
                Grid3.Height = 768 - e.GetPosition(mainSurfaceWindow).Y;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   143
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   144
                Grid4.Width = 1024 - e.GetPosition(mainSurfaceWindow).X;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   145
                Grid4.Height = e.GetPosition(mainSurfaceWindow).Y;
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   146
            }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   147
            catch (Exception ex) { }
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
    }
f003ae353cd7 Dev des 4 User Panels Resizables avec un pivot basique.
sarias
parents:
diff changeset
   150
}