diff -r 5df462180423 -r eb52a12370a3 middleware/Debug/DebugWindow.xaml.cs --- 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"]); + } } }