middleware/src/Debug/DebugParameters.xaml.cs
changeset 5 d40f84d77db4
child 6 93dfb08dcc97
equal deleted inserted replaced
4:f4e52a4c34b3 5:d40f84d77db4
       
     1 /*
       
     2  * Projet : TraKERS
       
     3  * Module : MIDDLEWARE
       
     4  * Sous-Module : Debug
       
     5  * Classe : DebugParameters
       
     6  * 
       
     7  * Auteur : alexandre.bastien@iri.centrepompidou.fr
       
     8  * 
       
     9  * Fonctionnalités : Code source attaché à la fenêtre de paramétrage du Middleware.
       
    10  * Celui-ci permet de charger/sauvegarder les paramètres stockés dans KinectMain.
       
    11  */
       
    12 
       
    13 using System;
       
    14 using System.Collections.Generic;
       
    15 using System.Linq;
       
    16 using System.Text;
       
    17 using System.Windows;
       
    18 using System.Windows.Controls;
       
    19 using System.Windows.Data;
       
    20 using System.Windows.Documents;
       
    21 using System.Windows.Input;
       
    22 using System.Windows.Media;
       
    23 using System.Windows.Media.Imaging;
       
    24 using System.Windows.Shapes;
       
    25 using Trakers.Tracking;
       
    26 using System.Reflection;
       
    27 using System.Resources;
       
    28 
       
    29 namespace Trakers.Debug
       
    30 {
       
    31     /// <summary>
       
    32     /// Interaction logic for DebugParameters.xaml
       
    33     /// </summary>
       
    34     public partial class DebugParameters : Window
       
    35     {
       
    36         //Membre d'accès à KinectMain.
       
    37         private KinectMain kinectMain;
       
    38         private ResourceManager rm;
       
    39 
       
    40         /*
       
    41          * Constructeur : On ouvre la fenêtre et on charge les paramètres.
       
    42          */
       
    43         public DebugParameters(KinectMain _kinectMain)
       
    44         {
       
    45             rm = new ResourceManager("Trakers.Properties.resources", Assembly.GetExecutingAssembly());
       
    46             kinectMain = _kinectMain;
       
    47             InitializeComponent();
       
    48             getParameters();
       
    49         }
       
    50 
       
    51         /*
       
    52          * Permet de charger les paramètres depuis KinectMain et les affiche dans la fenêtre de paramétrage.
       
    53          */
       
    54         public void getParameters()
       
    55         {
       
    56             searchMinDistanceTB.Text = kinectMain.getMinDistHands().ToString();
       
    57             searchMaxDistanceTB.Text = kinectMain.getMaxDistHands().ToString();
       
    58             connexionHostTB.Text = kinectMain.getConnexionHost();
       
    59             connexionPortTB.Text = kinectMain.getConnexionPort().ToString();
       
    60             timerElapsingTB.Text = kinectMain.getTimerElapsing().ToString();
       
    61         }
       
    62 
       
    63         /*
       
    64          * Permet de sauvegarder les paramètres de la fenêtre de paramétrage vers KinectMain.
       
    65          */
       
    66         public void setParameters()
       
    67         {
       
    68             try
       
    69             {
       
    70                 ExceptionInParametersLbl.Content = "";
       
    71 
       
    72                 float minDistHands = float.Parse(searchMinDistanceTB.Text);
       
    73                 float maxDistHands = float.Parse(searchMaxDistanceTB.Text);
       
    74                 int connexionPort = int.Parse(connexionPortTB.Text);
       
    75                 int timerElapsing = int.Parse(timerElapsingTB.Text);
       
    76 
       
    77                 if (maxDistHands <= 0 || minDistHands <= 0 || maxDistHands > 4 || minDistHands > 4 || minDistHands >= maxDistHands || connexionPort < 0 || timerElapsing < 0)
       
    78                 {
       
    79                     ExceptionInParametersLbl.Content = rm.GetString("loadParametersIncorrect");
       
    80                 }
       
    81                 else
       
    82                 {
       
    83                     kinectMain.setMinDistHands(minDistHands);
       
    84                     kinectMain.setMaxDistHands(maxDistHands);
       
    85                     kinectMain.setConnexionHost(connexionHostTB.Text);
       
    86                     kinectMain.setConnexionPort(connexionPort);
       
    87                     kinectMain.setTimerElapsing(timerElapsing);
       
    88 
       
    89                     kinectMain.updateParameters();
       
    90                 }
       
    91             }
       
    92             catch (Exception)
       
    93             {
       
    94                 //S'il y a eu un problème de parsing (i.e si l'utilisateur a entré une mauvaise valeur),
       
    95                 //Alors on affiche l'erreur, puis on recharge les paramètres précédents.
       
    96                 ExceptionInParametersLbl.Content = rm.GetString("loadParametersFail");
       
    97                 getParameters();
       
    98             }
       
    99         }
       
   100 
       
   101         /*
       
   102          * Méthode attachée à l'événement click sur le bouton de validation de la fenêtre de paramétrage.
       
   103          * Les données sont sauvegardées vers KinectMain, puis rechargées dans la fenêtre.
       
   104          */
       
   105         private void Button_Click(object sender, RoutedEventArgs e)
       
   106         {
       
   107             setParameters();
       
   108         }
       
   109 
       
   110         /*
       
   111          * Méthode appelée à la fermeture de la fenêtre de paramétrage.
       
   112          */
       
   113         private void Window_Closed(object sender, EventArgs e)
       
   114         {
       
   115             
       
   116         }
       
   117     }
       
   118 }