middleware/Debug/DebugWindow.xaml.cs
changeset 54 eb52a12370a3
parent 50 d969375fbcf7
child 56 7d0ae2f385e7
--- a/middleware/Debug/DebugWindow.xaml.cs	Tue Jul 24 11:14:52 2012 +0200
+++ b/middleware/Debug/DebugWindow.xaml.cs	Tue Jul 24 16:35:10 2012 +0200
@@ -38,6 +38,12 @@
 {
     public partial class DebugWindow : Window
     {
+        //Nom du projet, afin de savoir quel menu charger et quel fichier de configuration utiliser (TraKERS ou BBM).
+        private String projectName = "BBM";
+        //Chemins du fichier de config.
+        private String configPath;
+        //private String projectName = "BBM";
+
         //Gestionnaire de ressources.
         private ResourceManager rm;
 
@@ -65,7 +71,7 @@
         * classe KinectMain.
         * Au départ, la kinect est éteinte.
         */
-        public DebugWindow()//KinectMain main)
+        public DebugWindow()
         {
             InitializeComponent();
 
@@ -75,6 +81,19 @@
 
             //On fait appel au gestionnaire de ressources.
             rm = new ResourceManager("Trakers.Debug.Properties.Resources", Assembly.GetExecutingAssembly());
+
+            //On charge les éléments relatifs au projet.
+            if (projectName.Equals("TraKERS"))
+            {
+                configPath = ".\\TraKERS - config.txt";
+                loadTraKERSMenu();
+            }
+            else if (projectName.Equals("BBM"))
+            {
+                configPath = ".\\BBM - config.txt";
+                loadBBMMenu();
+            }
+
             //On tente de charger les paramètres du fichier params.ini.
             //Si on n'y arrive pas, on affiche une erreur et on charge les paramètres par défaut.
             if (!loadParameters())
@@ -97,47 +116,96 @@
                 config.Add("takenPoints", 10);
                 config.Add("directionChangeTresholdXY", 10);
                 config.Add("directionChangeTresholdZ", 0.01f);
-                //Chemins des readme et doc.
-                config.Add("readmeMiddleware", "..\\readme - Middleware.txt");
-                config.Add("readmeFrontProcessing", "..\\readme - Front Processing.txt");
-                config.Add("docFrontProcessing", "..\\tutorial front processing.html");
-                config.Add("readmeFrontJS", "..\\readme - Front Web.txt");
-                config.Add("docFrontJS", "..\\tutorial front js et wamp.html");
-                //Chemins des exemples processing.
-                config.Add("exPFMPS", "..\\Front Processing\\src\\Fluid_manipulation\\Fluid_manipulation.pde");
-                config.Add("exPFMExe", "..\\Front Processing\\src\\Fluid_manipulation\\application.windows\\Fluid_manipulation.exe");
-                config.Add("exPSMPS", "..\\Front Processing\\src\\Smoke_manipulation\\Smoke_manipulation.pde");
-                config.Add("exPSMExe", "..\\Front Processing\\src\\Smoke_manipulation\\application.windows\\Smoke_manipulation.exe");
-                config.Add("exPTPS", "..\\Front Processing\\src\\Trakers\\Trakers.pde");
-                config.Add("exPTExe", "..\\Front Processing\\src\\Trakers\\application.windows\\Trakers.exe");
-                config.Add("exPTGPS", "..\\Front Processing\\src\\Trakers_gestures\\Trakers_gestures.pde");
-                config.Add("exPTGExe", "..\\Front Processing\\src\\Trakers_gestures\\application.windows\\Trakers_gestures.exe");
-                config.Add("exPIEHand1DPS", "..\\Front Processing\\src\\Interaction_examples\\Hands_1D\\Hands_1D.pde");
-                config.Add("exPIEHand1DExe", "..\\Front Processing\\src\\Interaction_examples\\Hands_1D\\application.windows\\Hands_1D.exe");
-                config.Add("exPIEHand2DPS", "..\\Front Processing\\src\\Interaction_examples\\Hands_2D\\Hands_2D.pde");
-                config.Add("exPIEHand2DExe", "..\\Front Processing\\src\\Interaction_examples\\Hands_2D\\application.windows\\Hands_2D.exe");
-                config.Add("exPIEHandPressPS", "..\\Front Processing\\src\\Interaction_examples\\Hand_press\\Hand_press.pde");
-                config.Add("exPIEHandPressExe", "..\\Front Processing\\src\\Interaction_examples\\Hand_press\\application.windows\\Hand_press.exe");
-                config.Add("exPIEHandSignalPS", "..\\Front Processing\\src\\Interaction_examples\\Hand_signal\\Hand_signal.pde");
-                config.Add("exPIEHandSignalExe", "..\\Front Processing\\src\\Interaction_examples\\Hand_signal\\application.windows\\Hand_signal.exe");
-                //Chemins des exemples web.
-                config.Add("exWPointersPS", "C:\\wamp\\www\\Front JS\\pointers\\");
-                config.Add("exWPointersExe", "http://localhost/Front%20JS/pointers/");
-                config.Add("exWGesturesPS", "C:\\wamp\\www\\Front JS\\pointers\\");
-                config.Add("exWGesturesExe", "http://localhost/Front%20JS/gestures/");
+
+                if (projectName.Equals("TraKERS"))
+                {
+                    //On charge les paramètres relatifs à TraKERS.
+                    //Chemins des readme et doc pour TraKERS.
+                    config.Add("readmeTraKERSMiddleware", "..\\readme - TraKERS Middleware.txt");
+                    config.Add("readmeTraKERSFrontProcessing", "..\\readme - TraKERS Front Processing.txt");
+                    config.Add("docTraKERSFrontProcessing", "..\\tutorial - TraKERS Front Processing.html");
+                    config.Add("readmeTraKERSFrontJS", "..\\readme - TraKERS Front Web.txt");
+                    config.Add("docTraKERSFrontJS", "..\\tutorial - TraKERS Front JS et Wamp.html");
+                    //Chemins des exemples processing.
+                    config.Add("exPFMPS", "..\\Front Processing\\src\\Fluid_manipulation\\Fluid_manipulation.pde");
+                    config.Add("exPFMExe", "..\\Front Processing\\src\\Fluid_manipulation\\application.windows\\Fluid_manipulation.exe");
+                    config.Add("exPSMPS", "..\\Front Processing\\src\\Smoke_manipulation\\Smoke_manipulation.pde");
+                    config.Add("exPSMExe", "..\\Front Processing\\src\\Smoke_manipulation\\application.windows\\Smoke_manipulation.exe");
+                    config.Add("exPTPS", "..\\Front Processing\\src\\Trakers\\Trakers.pde");
+                    config.Add("exPTExe", "..\\Front Processing\\src\\Trakers\\application.windows\\Trakers.exe");
+                    config.Add("exPTGPS", "..\\Front Processing\\src\\Trakers_gestures\\Trakers_gestures.pde");
+                    config.Add("exPTGExe", "..\\Front Processing\\src\\Trakers_gestures\\application.windows\\Trakers_gestures.exe");
+                    config.Add("exPIEHand1DPS", "..\\Front Processing\\src\\Interaction_examples\\Hands_1D\\Hands_1D.pde");
+                    config.Add("exPIEHand1DExe", "..\\Front Processing\\src\\Interaction_examples\\Hands_1D\\application.windows\\Hands_1D.exe");
+                    config.Add("exPIEHand2DPS", "..\\Front Processing\\src\\Interaction_examples\\Hands_2D\\Hands_2D.pde");
+                    config.Add("exPIEHand2DExe", "..\\Front Processing\\src\\Interaction_examples\\Hands_2D\\application.windows\\Hands_2D.exe");
+                    config.Add("exPIEHandPressPS", "..\\Front Processing\\src\\Interaction_examples\\Hand_press\\Hand_press.pde");
+                    config.Add("exPIEHandPressExe", "..\\Front Processing\\src\\Interaction_examples\\Hand_press\\application.windows\\Hand_press.exe");
+                    config.Add("exPIEHandSignalPS", "..\\Front Processing\\src\\Interaction_examples\\Hand_signal\\Hand_signal.pde");
+                    config.Add("exPIEHandSignalExe", "..\\Front Processing\\src\\Interaction_examples\\Hand_signal\\application.windows\\Hand_signal.exe");
+                    //Chemins des exemples web.
+                    config.Add("exWPointersPS", "C:\\wamp\\www\\Front JS\\pointers\\");
+                    config.Add("exWPointersExe", "http://localhost/Front%20JS/pointers/");
+                    config.Add("exWGesturesPS", "C:\\wamp\\www\\Front JS\\pointers\\");
+                    config.Add("exWGesturesExe", "http://localhost/Front%20JS/gestures/");
+                }
+                else if (projectName.Equals("BBM"))
+                {
+                    //On charge les paramètres relatifs à BBM.
+                    //Chemins des readme et doc pour BBM.
+                    config.Add("readmeBBMMiddleware", "..\\readme - BBM Middleware.txt");
+                    config.Add("docBBMFrontIDILL", "..\\Front IDILL\\Documentation - Front IDILL.html");
+                    //Chemins du Front IDILL pour BBM.
+                    config.Add("frontIDILLS", "C:\\wamp\\www\\Front IDILL\\");
+                    config.Add("frontIDILLExe", "http://localhost/Front%20IDILL/");
+                }
             }
 
             //On donne les noms des éléments du menu.
             FileMenu.Header = rm.GetString("menuFile");
             ReadmeMiddlewareMenu.Header = rm.GetString("menuReadmeMiddleware");
+            
+            QuitMenu.Header = rm.GetString("menuQuit");
+            ConfigMenu.Header = rm.GetString("menuConfig");
+            ParamMenu.Header = rm.GetString("menuParam");
+            ParamMenuReboot.Header = rm.GetString("menuParamReboot");
+
+            //kinectMain = main;
+            on = true;
+            closing = false;
+            refreshImage = true;
+            try
+            {
+                //On instancie les timers à N ms.
+                _timer = new System.Timers.Timer((int)config["tuioTimerElapsing"]);
+                //Dès que le timer est expiré, on appelle _timer_Elapsed.
+                _timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
+            }
+            catch (Exception){}
+        }
+
+        /*
+         Charge la partie du menu de TraKERS.
+         */
+        public void loadTraKERSMenu()
+        {
+            //On rend visible la partie du menu des readme et doc de TraKERS.
+            ReadmeFrontProcessingMenu.Visibility = Visibility.Visible;
+            DocumentationFrontProcessingMenu.Visibility = Visibility.Visible;
+            ReadmeFrontJSMenu.Visibility = Visibility.Visible;
+            DocumentationFrontJSMenu.Visibility = Visibility.Visible;
+            //On rend visible la partie du menu des exemples Processing et Web de TraKERS.
+            ExamplesMenu.Visibility = Visibility.Visible;
+
+            //On cache la partie du menu des readme et doc de BBM.
+            DocumentationFrontIDILLMenu.Visibility = Visibility.Collapsed;
+
+            //Readme et doc de TraKERS.
             ReadmeFrontProcessingMenu.Header = rm.GetString("menuReadmeFrontProcessing");
             DocumentationFrontProcessingMenu.Header = rm.GetString("menuDocFrontP");
             ReadmeFrontJSMenu.Header = rm.GetString("menuReadmeFrontJS");
             DocumentationFrontJSMenu.Header = rm.GetString("menuDocFrontJS");
-            QuitMenu.Header = rm.GetString("menuQuit");
-            ConfigMenu.Header = rm.GetString("menuConfig");
-            ParamMenu.Header = rm.GetString("menuParam");
-            ParamMenuReboot.Header = rm.GetString("menuParamReboot");
+            //Exemples de TraKERS.
             ExamplesMenu.Header = rm.GetString("menuEx");
             ProcessingMenu.Header = rm.GetString("menuExP");
             ProcessingMenuFM.Header = rm.GetString("menuExPFluid");
@@ -172,19 +240,32 @@
             WebMenuGestures.Header = rm.GetString("menuExWGestures");
             WebMenuGesturesPS.Header = rm.GetString("menuExSource");
             WebMenuGesturesExe.Header = rm.GetString("menuExExe");
+        }
 
-            //kinectMain = main;
-            on = true;
-            closing = false;
-            refreshImage = true;
-            try
-            {
-                //On instancie les timers à N ms.
-                _timer = new System.Timers.Timer((int)config["tuioTimerElapsing"]);
-                //Dès que le timer est expiré, on appelle _timer_Elapsed.
-                _timer.Elapsed += new ElapsedEventHandler(_timer_Elapsed);
-            }
-            catch (Exception){}
+        /*
+         Charge la partie du menu de BBM.
+         */
+        public void loadBBMMenu()
+        {
+            //On rend visible la partie du menu des readme et doc de BBM.
+            DocumentationFrontIDILLMenu.Visibility = Visibility.Visible;
+            //On rend visible la partie du menu du Front IDILL pour BBM.
+            FrontIDILLMenu.Visibility = Visibility.Visible;
+            
+            //On cache la partie du menu des readme et doc de TraKERS.
+            ReadmeFrontProcessingMenu.Visibility = Visibility.Collapsed;
+            DocumentationFrontProcessingMenu.Visibility = Visibility.Collapsed;
+            ReadmeFrontJSMenu.Visibility = Visibility.Collapsed;
+            DocumentationFrontJSMenu.Visibility = Visibility.Collapsed;
+            //On cache la partie du menu des exemples Processing et Web de TraKERS.
+            menu.Items.Remove(ExamplesMenu);
+            
+            //Readme et doc de BBM.
+            DocumentationFrontIDILLMenu.Header = rm.GetString("menuDocFrontIDILL");
+            //Exemples de BBM.
+            FrontIDILLMenu.Header = rm.GetString("menuFrontIDILL");
+            FrontIDILLMenuS.Header = rm.GetString("menuFrontIDILLS");
+            FrontIDILLMenuExe.Header = rm.GetString("menuFrontIDILLExe");
         }
 
         /*
@@ -766,7 +847,8 @@
             try
             {
                 //On lit le fichier de config.
-                String[] lines = System.IO.File.ReadAllLines("config.txt");
+  
+                    String[] lines = System.IO.File.ReadAllLines(configPath);
 
                 //On repère les paramètres supposés être des int ou float de manière à les parser.
                 String[] ints = { "tuioConnexionPort", "wsConnexionPort", "takenPoints", "tuioTimerElapsing", "wsTimerElapsing", "directionChangeTresholdXY", "imagesToShow" };
@@ -1129,7 +1211,14 @@
          */
         private void MiddlewareReadmeMenu_Click(object sender, RoutedEventArgs e)
         {
-            OpenFile((String)config["readmeMiddleware"]);
+            if (projectName.Equals("TraKERS"))
+            {
+                OpenFile((String)config["readmeTraKERSMiddleware"]);
+            }
+            else if (projectName.Equals("BBM"))
+            {
+                OpenFile((String)config["readmeBBMMiddleware"]);
+            }
         }
 
         /*
@@ -1137,7 +1226,7 @@
          */
         private void FrontProcessingReadmeMenu_Click(object sender, RoutedEventArgs e)
         {
-            OpenFile((String)config["readmeFrontProcessing"]);
+            OpenFile((String)config["readmeTraKERSFrontProcessing"]);
         }
 
         /*
@@ -1145,7 +1234,7 @@
          */
         private void FrontProcessingDocumentationMenu_Click(object sender, RoutedEventArgs e)
         {
-            OpenFile((String)config["docFrontProcessing"]);
+            OpenFile((String)config["docTraKERSFrontProcessing"]);
         }
         
         /*
@@ -1153,7 +1242,7 @@
          */
         private void FrontJSReadmeMenu_Click(object sender, RoutedEventArgs e)
         {
-            OpenFile((String)config["readmeFrontJS"]);
+            OpenFile((String)config["readmeTraKERSFrontJS"]);
         }
 
         /*
@@ -1161,7 +1250,15 @@
          */
         private void FrontJSDocumentationMenu_Click(object sender, RoutedEventArgs e)
         {
-            OpenFile((String)config["docFrontJS"]);
+            OpenFile((String)config["docTraKERSFrontJS"]);
+        }
+
+        /*
+         * Ouvre la documentation du Front IDILL.
+         */
+        private void FrontIDILLDocumentationMenu_Click(object sender, RoutedEventArgs e)
+        {
+            OpenFile((String)config["docBBMFrontIDILL"]);
         }
 
         /*
@@ -1169,7 +1266,7 @@
          */
         private void ParamMenu_Click(object sender, RoutedEventArgs e)
         {
-            OpenFile(".\\config.txt");
+            OpenFile(configPath);
         }
 
         /*
@@ -1329,5 +1426,21 @@
         {
             OpenFile((String)config["exWGesturesExe"]);
         }
+
+        /*
+         * Ouvre la source du Front IDILL.
+         */
+        private void FrontIDILLMenuS_Click(object sender, RoutedEventArgs e)
+        {
+            OpenFile((String)config["frontIDILLS"]);
+        }
+
+        /*
+         * Ouvre le Front IDILL.
+         */
+        private void FrontIDILLMenuExe_Click(object sender, RoutedEventArgs e)
+        {
+            OpenFile((String)config["frontIDILLExe"]);
+        }
     }
 }