third step of search : better integration of search panel and debug from loaded search project and annotated project.
authorcavaliet
Thu, 19 Nov 2009 18:37:26 +0100
changeset 214 beebae32b1ed
parent 213 110067a19ec8
child 215 d13dbcf861d7
third step of search : better integration of search panel and debug from loaded search project and annotated project.
src/FingersDance.ActionFactory/ActionGenerator.cs
src/FingersDance.Actions/ActionSearchAnnotation.cs
src/FingersDance.Actions/ActionStartOrEndAnnotation.cs
src/FingersDance.Actions/FingersDance.Actions.csproj
src/FingersDance.Control.Menu/UserControlMenu.xaml.cs
src/FingersDance.Control.Screen/UserControlScreen.xaml.cs
src/FingersDance.Control.UserPanel/UserControlUserPanel.xaml.cs
src/FingersDance.ViewModel/MainViewModel.cs
src/FingersDance/MainSurfaceWindow.xaml.cs
src/FingersDance/Resources/menu_search.xml
--- a/src/FingersDance.ActionFactory/ActionGenerator.cs	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance.ActionFactory/ActionGenerator.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -19,6 +19,7 @@
 
             actionDict.Add("ActionStartOrEndAnnotation", typeof(FingersDance.Actions.ActionStartOrEndAnnotation));
             actionDict.Add("ActionAddAnnotation", typeof(FingersDance.Actions.ActionAddAnnotation));
+            actionDict.Add("ActionSearchAnnotation", typeof(FingersDance.Actions.ActionSearchAnnotation));
         }
 
         public ActionBase GetAction(String T, Object Args)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/FingersDance.Actions/ActionSearchAnnotation.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace FingersDance.Actions
+{
+    public class ActionSearchAnnotation : FingersDance.Actions.ActionBase
+    {
+
+        
+
+        public ActionSearchAnnotation()
+        {
+
+        }
+
+        public ActionSearchAnnotation(Object[] param)
+        {
+            //myTimeline = (UserControlTimeLine)args[0];
+            //myAnnotationViewModel = (AnnotationViewModel)args[1];
+        }
+
+        public void Execute()
+        {
+            //if (myTimeline != null)
+            //    myTimeline.addAnnotation(myAnnotationViewModel);
+        }
+    }
+}
--- a/src/FingersDance.Actions/ActionStartOrEndAnnotation.cs	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance.Actions/ActionStartOrEndAnnotation.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -2,6 +2,16 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using System.IO;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Navigation;
+using System.Windows.Controls.Primitives;
 
 using FingersDance.Control.TimeLine;
 
@@ -25,7 +35,15 @@
 
         public ActionStartOrEndAnnotation(Object[] param)
         {
-            myTimeline = (UserControlTimeLine)param[0];
+            // The context param[0] is the userPanel, so we have to get the timeline's instance.
+            UserControl userPanel = (UserControl)param[0];
+            // Its content...
+            Grid o = (Grid)userPanel.Content;
+            // and the UserControlSyncSource within the grid...
+            UserControl syncSrc = (UserControl)((Grid)o.Children[1]).Children[0];
+            // and finally the timeline
+            myTimeline = (UserControlTimeLine)((Grid)((Grid)syncSrc.Content).Children[0]).Children[0];
+
             _Text = (String)param[1];
         }
 
--- a/src/FingersDance.Actions/FingersDance.Actions.csproj	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance.Actions/FingersDance.Actions.csproj	Thu Nov 19 18:37:26 2009 +0100
@@ -81,6 +81,7 @@
     <Compile Include="ActionBase.cs" />
     <Compile Include="ActionOpenMedia.cs" />
     <Compile Include="ActionPlayMedia.cs" />
+    <Compile Include="ActionSearchAnnotation.cs" />
     <Compile Include="ActionShowMessage.cs" />
     <Compile Include="ActionStartOrEndAnnotation.cs" />
     <Compile Include="ActionStopMedia.cs" />
--- a/src/FingersDance.Control.Menu/UserControlMenu.xaml.cs	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance.Control.Menu/UserControlMenu.xaml.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -116,17 +116,11 @@
              // Generate action
              // We get the instance of the user panel
              UserControl userPanel = (UserControl)((Grid)((Grid)this.Parent).Parent).Parent;
-             // Its content...
-             Grid o = (Grid)userPanel.Content;
-             // and the UserControlSyncSource within the grid...
-             UserControlSyncSource syncSrc = (UserControlSyncSource)((Grid)o.Children[1]).Children[0];
-             // and finally the timeline
-             UserControlTimeLine tl = syncSrc.userControlTimeLine;
 
              String actionId = ((CustomSurfaceButton)sender).Action;
              ActionGenerator ag = new ActionGenerator();
              Object[] ar = new Object[2];
-             ar[0] = tl;
+             ar[0] = userPanel;
              ar[1] = (String)((CustomSurfaceButton)sender).Content;
              ActionBase ab = ag.GetAction(actionId, ar);
              if(ab!=null)
--- a/src/FingersDance.Control.Screen/UserControlScreen.xaml.cs	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance.Control.Screen/UserControlScreen.xaml.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -23,6 +23,7 @@
         public event EventHandler UC_Screen_NewCutting;
         private MainViewModel _mainViewModel;
         public String AnnotationOrSearchMode;
+        public Project SearchedProject;
         public Cutting Cutting;
 
         private String videoName;
@@ -49,7 +50,7 @@
                     ListVideo.EH_ItemVideo1_ContactDown += new System.EventHandler(ListVideo_EH_ItemVideo_ContactDown);
                 }
                 else
-                    OpenProject();
+                    GetAnnotationOrSearchMode();
             }
             catch (Exception)
             {
@@ -76,6 +77,8 @@
                 // 1- renseigner la video choisie au screen et créer un nouveau projet à partir de ce chemin vidéo
                 videoName = ((UserControlListVideo)sender).VideoName;
                 videoPath = ((UserControlListVideo)sender).path;
+                // We initialize it in _mainViewModel for it to remembered in every place of the application
+                _mainViewModel.Project.VideoPath = videoPath;
                 // 2-Supression du UC List Video
                 LayoutRoot.Children.Remove((UserControlListVideo)sender);
                 // 3 - Choose between Annotation Or Search Mode
@@ -103,16 +106,17 @@
             LayoutRoot.Children.Remove((UserControlAnnotationOrSearch)sender);
             // We show the project list and send the chosen mode
             AnnotationOrSearchMode = e.ChosenMode;
-            OpenProjectList();
+            if (AnnotationOrSearchMode == "Annotation" && _mainViewModel.Project.Cuttings.Count!=0)
+                OpenProject();
+            else
+                OpenProjectList();
+
         }
 
         private void OpenProjectList()
         {
             try
             {
-                    // First We create the project if we are in annotation mode
-                    if(AnnotationOrSearchMode=="Annotation")
-                        _mainViewModel.CreateProject(videoName, videoPath);
                     // We get all the ldt/project files from the current directory...
                     List<String> existingProjects = new List<String>();
                     foreach (String filename in Directory.GetFiles("./"))
@@ -151,7 +155,7 @@
                     // ((UserControlListProject)sender).SelectedItem is the name of the selected project
                     // Now we load the xml/ldt file to load all its datas (cuttings, annotations...)
                     XDocument loadedLdt = XDocument.Load(((UserControlListProject)sender).SelectedItem + ".ldt");
-                    Project loadedProject = new Project(videoName, videoPath);
+                    Project loadedProject = new Project(videoName, _mainViewModel.Project.VideoPath); // we use this video in the case an other panel was in search mode before annotation mode
                     loadedProject.Name = loadedLdt.Root.Element("project").Attribute("title").Value;
                     loadedProject.Description = loadedLdt.Root.Element("project").Attribute("abstract").Value;
                     loadedProject.Cuttings = new List<Cutting>();
@@ -174,8 +178,11 @@
                         }
                         loadedProject.Cuttings.Add(new Cutting(cuttingNode.Attribute("id").Value,cuttingNode.Element("title").Value,la));
                     }
-                    // We define the loaded project as the current session's project.
-                    _mainViewModel.Project = new ProjectViewModel(loadedProject);
+                    // We define the loaded project as the current session's project in annotation mode or the searched project in search mode
+                    if (AnnotationOrSearchMode == "Annotation")
+                        _mainViewModel.Project = new ProjectViewModel(loadedProject);
+                    else
+                        SearchedProject = loadedProject;
                     OpenProject();
                 }
             }
@@ -243,7 +250,7 @@
                 LayoutRoot.Children.Remove((UserControlListCutting)sender);
                 if (((UserControlListCutting)sender).SelectedItem.Equals("New Cutting"))
                 {
-                    // "New Uutting" was was selected -> we display the form
+                    // "New Cutting" was was selected -> we display the form
                     UserControlNewCuttingForm newCutting = new UserControlNewCuttingForm(User);
                     newCutting.Name = "newCutting";
                     LayoutRoot.Children.Add(newCutting);
--- a/src/FingersDance.Control.UserPanel/UserControlUserPanel.xaml.cs	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance.Control.UserPanel/UserControlUserPanel.xaml.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -1,17 +1,18 @@
 using System;
 using System.IO;
 using System.Net;
+using System.Reflection;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Data;
 using System.Windows.Media;
 using System.Windows.Media.Animation;
 using System.Windows.Navigation;
-using FingersDance.Data;
+using System.Globalization;
 using Microsoft.Surface.Presentation;
-using System.Globalization;
 using Microsoft.Surface.Presentation.Controls;
-using System.Reflection;
+
+using FingersDance.Data;
 using FingersDance.ViewModels;
 
 namespace FingersDance.Control.UserPanel
@@ -26,6 +27,7 @@
         public int id = 0;
         public uint idcolor = 0;    //The color of the Pivot Button
         private Cutting cut;
+        private Project searchedProject;
 
         //variables for TagSound Control
         double baseOrientation = 0;
@@ -51,11 +53,12 @@
 			// Insert code required on object creation below this point.
 		}
 
-        public UserControlUserPanel(int idPar, Color col, Cutting cutPar, String path, String AnnotationOrSearchMode)
+        public UserControlUserPanel(int idPar, Color col, Cutting cutPar, String path, String AnnotationOrSearchMode, Project searchedProj)
         {
             this.InitializeComponent();
             id = idPar;
             cut = cutPar;
+            searchedProject = searchedProj;
             // We make the syncsrc load the good video and cutting 
             this.UserControlSyncSource.Load(path, col, cut);
             UserControlSyncSource.OnSuccessAnnotation += new EventHandler(UserControlSyncSource_OnSuccessAnnotation);
--- a/src/FingersDance.ViewModel/MainViewModel.cs	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance.ViewModel/MainViewModel.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -13,7 +13,6 @@
         #region Attributes
 
         public Dictionary<String, UserViewModel> Users = new Dictionary<string,UserViewModel>();
-        //public SessionViewModel Session = new SessionViewModel();
         public ProjectViewModel Project = new ProjectViewModel();
 
         #endregion
@@ -25,39 +24,6 @@
             Project = new ProjectViewModel(new Project(videoName, videoPath));
         }
 
-        //public Project CreateProject(User u)
-        //{
-        //    if (Users.ContainsKey(u.Email))
-        //    {
-        //        if (Project.CuttingsDict.ContainsKey(u.Email))
-        //            return Project.CuttingsDict[u.Email];
-        //        else
-        //        {
-        //            Project p = new Project(u, new Cutting());
-        //            Session.Projects.Add(u.Email, p);
-        //            return p;
-        //        }
-        //    }
-        //    else
-        //    {
-        //        AddUser(u);
-        //        Project p = new Project(u, new Cutting());
-        //        Session.Projects.Add(u.Email, p);
-        //        return p;
-        //    }
-        //}
-
-        //public void CreateSession(string name, string path)
-        //{
-        //    Session = new SessionViewModel(new Session(name, path));
-        //}
-
-        //public void CloseSession()
-        //{
-        //    Session = null;
-        //    Session = new SessionViewModel();
-        //}
-
         public void CloseProject()
         {
             Project = null;
--- a/src/FingersDance/MainSurfaceWindow.xaml.cs	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance/MainSurfaceWindow.xaml.cs	Thu Nov 19 18:37:26 2009 +0100
@@ -292,10 +292,6 @@
 
         private void UserControlPivot_EH_SurfaceButtonPlayer_ContactDown(object sender, EventArgs e)
         {
-            //  Si aucune video n'a été sélectionnée et qu'une grid contient un élément (listvideo), on ne fait rien
-            if (_mainviewmodel.Project.Name.Equals("") && (Grid1.Children.Count == 2 || Grid2.Children.Count == 2 || Grid3.Children.Count == 2 || Grid4.Children.Count == 2))
-                return;
-
             //  Traitement du contact down sur le pivot (Création d'un screen ou suppression d'un panel
             switch ((int)sender)
             {
@@ -417,17 +413,21 @@
                     if (((UserControlScreen)sender).Cutting != null && ((UserControlScreen)sender).AnnotationOrSearchMode == "Annotation")
                     {
                         if (Panel1 != null)
-                            if (Panel1.Cutting.Title==newCutting.Title)
-                                return;
+                            if (Panel1.Cutting != null)
+                                if (Panel1.Cutting.Title==newCutting.Title)
+                                    return;
                         if (Panel2 != null)
-                            if (Panel2.Cutting.Title == newCutting.Title)
-                                return;
+                            if (Panel2.Cutting != null)
+                                if (Panel2.Cutting.Title == newCutting.Title)
+                                    return;
                         if (Panel3 != null)
-                            if (Panel3.Cutting.Title == newCutting.Title)
-                                return;
+                            if (Panel3.Cutting != null)
+                                if (Panel3.Cutting.Title == newCutting.Title)
+                                    return;
                         if (Panel4 != null)
-                            if (Panel4.Cutting.Title == newCutting.Title)
-                                return;
+                            if (Panel4.Cutting != null)
+                                if (Panel4.Cutting.Title == newCutting.Title)
+                                    return;
 
                         // We add the new cutting to the _mainviewmodel's datas IF THE CUTTING IS NEW (if not it means that it is from a loaded project)
                         if (!_mainviewmodel.Project.CuttingsDict.ContainsKey(newCutting.Title))
@@ -444,7 +444,7 @@
                     {
                         case 1:
                             UserControlPivot.ApplyColor(1, color);
-                            Panel1 = new UserControlUserPanel(1, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode);
+                            Panel1 = new UserControlUserPanel(1, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode, ((UserControlScreen)sender).SearchedProject);
                             Panel1.Name = "UserPanel1";
                             Panel1.OnSuccessAnnotation += new EventHandler(Panel_OnSuccessAnnotation);
                             Panel1.OnTagVisualisation += new EventHandler(Panel_OnTagVisualisation);
@@ -454,7 +454,7 @@
                             break;
                         case 2:
                             UserControlPivot.ApplyColor(2, color);
-                            Panel2 = new UserControlUserPanel(2, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode);
+                            Panel2 = new UserControlUserPanel(2, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode, ((UserControlScreen)sender).SearchedProject);
                             Panel2.Name = "UserPanel2";
                             Panel2.OnSuccessAnnotation += new EventHandler(Panel_OnSuccessAnnotation);
                             Panel2.OnTagVisualisation += new EventHandler(Panel_OnTagVisualisation);
@@ -464,7 +464,7 @@
                             break;
                         case 3:
                             UserControlPivot.ApplyColor(3, color);
-                            Panel3 = new UserControlUserPanel(3, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode);
+                            Panel3 = new UserControlUserPanel(3, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode, ((UserControlScreen)sender).SearchedProject);
                             Panel3.Name = "UserPanel3";
                             Panel3.OnSuccessAnnotation += new EventHandler(Panel_OnSuccessAnnotation);
                             Panel3.OnTagVisualisation += new EventHandler(Panel_OnTagVisualisation);
@@ -474,7 +474,7 @@
                             break;
                         case 4:
                             UserControlPivot.ApplyColor(4, color);
-                            Panel4 = new UserControlUserPanel(4, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode);
+                            Panel4 = new UserControlUserPanel(4, (new ColorFactory()).Colors[color], newCutting, _mainviewmodel.Project.VideoPath, ((UserControlScreen)sender).AnnotationOrSearchMode, ((UserControlScreen)sender).SearchedProject);
                             Panel4.Name = "UserPanel4";
                             Panel4.OnSuccessAnnotation += new EventHandler(Panel_OnSuccessAnnotation);
                             Panel4.OnTagVisualisation += new EventHandler(Panel_OnTagVisualisation);
--- a/src/FingersDance/Resources/menu_search.xml	Thu Nov 19 15:35:46 2009 +0100
+++ b/src/FingersDance/Resources/menu_search.xml	Thu Nov 19 18:37:26 2009 +0100
@@ -1,251 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--Menu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <Items>
-    <Item>
-      <Name>Recherche</Name>
-      <Items>
-        <Item>
-          <Name>Choregraphique</Name>
-          <Items>
-            <Item>
-              <Name>Saut 1</Name>
-              <Items/>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>ActionStartOrEndAnnotation</Action>
-            </Item>
-            <Item>
-              <Name>Pirouette 2</Name>
-              <Items/>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>ActionStartOrEndAnnotation</Action>
-            </Item>
-            <Item>
-              <Name>Grammaire Chorégraphique</Name>
-              <Items>
-                <Item>
-                  <Name>1 danseur</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>2 danseur</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>3 danseur</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>4 danseur</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Tous les danseurs</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Mouvement Rotatif</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Contact Table/Danseur</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-              </Items>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>Grammaire Chorégraphique</Action>
-            </Item>
-            <Item>
-              <Name>Personnages</Name>
-              <Items>
-                <Item>
-                  <Name>Trigger</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Jeux de contre point</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Glissades</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Choutes contre la pesanteur</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Choutes avec la pesanteur</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Alignements</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Contact visuel</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Mouvement contraintes</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>U-ing @ O-wing (détourage)</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-              </Items>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>Personnage</Action>
-            </Item>
-            <Item>
-              <Name>Objets</Name>
-              <Items>
-                <Item>
-                  <Name>Une</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Deux</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Trois</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Toutes</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-              </Items>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>Objets</Action>
-            </Item>
-            <Item>
-              <Name>Les alignements des tables</Name>
-              <Items>
-                <Item>
-                  <Name>Sous la table</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-                <Item>
-                  <Name>Sur la table</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>ActionStartOrEndAnnotation</Action>
-                </Item>
-              </Items>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>Les alignements des tables</Action>
-            </Item>
-          </Items>
-          <Ressource>FingersDanceAnnotationButtonNiveau2</Ressource>
-          <Action></Action>
-        </Item>
-        <Item>
-          <Name>Cinematographique</Name>
-          <Items>
-            <Item>
-              <Name>Mouv Camera</Name>
-              <Items>
-                <Item>
-                  <Name>MouvCam1</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>MouvCam1</Action>
-                </Item>
-                <Item>
-                  <Name>MouvCam2</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>MouvCam2</Action>
-                </Item>
-              </Items>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>MouvCam</Action>
-            </Item>
-            <Item>
-              <Name>Axe de Camera</Name>
-              <Items>
-                <Item>
-                  <Name>Axe camera1</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>Axecamera1</Action>
-                </Item>
-                <Item>
-                  <Name>Axe camera2</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>Axecamera2</Action>
-                </Item>
-                <Item>
-                  <Name>Axe camera3</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>Axecamera3</Action>
-                </Item>
-                <Item>
-                  <Name>Axe camera4</Name>
-                  <Items/>
-                  <Ressource>FingersDanceAnnotationButtonNiveau4</Ressource>
-                  <Action>Axecamera4</Action>
-                </Item>
-              </Items>
-              <Ressource>FingersDanceAnnotationButtonNiveau3</Ressource>
-              <Action>Axecamera</Action>
-            </Item>
-          </Items>
-          <Ressource>FingersDanceAnnotationButtonNiveau2</Ressource>
-          <Action></Action>
-        </Item>
-      </Items>
-      <Ressource>FingersDanceAnnotationButtonNiveau1</Ressource>
-      <Action></Action>
-    </Item>
-  </Items>
-</Menu-->
 <Menu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 	<Items>
 		<Item>