client/src/Iri.Modernisation.Controls/ViewModel/ConsultationView/ConsultationViewVM.cs
changeset 35 43bb1b8ed555
parent 30 644e3cd48034
child 36 b6df6fce6e5d
equal deleted inserted replaced
34:4d9ebc6fbbe8 35:43bb1b8ed555
    19     /// <summary>
    19     /// <summary>
    20     /// ViewModel de ConsultationView
    20     /// ViewModel de ConsultationView
    21     /// </summary>
    21     /// </summary>
    22     public class ConsultationViewVM : BaseMVVM.ViewModel.ViewModel
    22     public class ConsultationViewVM : BaseMVVM.ViewModel.ViewModel
    23     {
    23     {
       
    24         
    24         private PolemicElement _selectedElement;
    25         private PolemicElement _selectedElement;
    25         /// <summary>
    26         /// <summary>
    26         /// PolemicElement sélectionné
    27         /// PolemicElement sélectionné
    27         /// </summary>
    28         /// </summary>
    28         public PolemicElement SelectedElement
    29         public PolemicElement SelectedElement
    35             {
    36             {
    36                 _selectedElement = value;
    37                 _selectedElement = value;
    37                 OnPropertyChanged("SelectedElement");
    38                 OnPropertyChanged("SelectedElement");
    38             }
    39             }
    39         }
    40         }
    40 
       
    41 
       
    42 
    41 
    43         private ObservableCollection<BookTimeLineVM> _selectedVideoBooks;
    42         private ObservableCollection<BookTimeLineVM> _selectedVideoBooks;
    44         /// <summary>
    43         /// <summary>
    45         /// Liste des Livres Sélectionnés
    44         /// Liste des Livres Sélectionnés
    46         /// </summary>
    45         /// </summary>
    91             {
    90             {
    92                 _consultationBookViewContextMenu = value;
    91                 _consultationBookViewContextMenu = value;
    93                 OnPropertyChanged(null);
    92                 OnPropertyChanged(null);
    94             }
    93             }
    95         }
    94         }
       
    95         /// <summary>
       
    96         /// Loader pour chargement à la volée des VideoLivres selectionnés
       
    97         /// </summary>
       
    98         private Loader<VideoBook> _loaderVideoBook { get; set; }
    96 
    99 
    97         private void InitializeCommands()
       
    98         {
       
    99             Commands.ConsultMenu.ClickBook.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickBook_Executed);
       
   100             Commands.PolemicElement.SelectPolemicElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SelectPolemicElement_Executed);
       
   101        
       
   102             Commands.ClickMenu.CreateNewTextualAnnotation.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(CreateNewTextualAnnotation_Executed);
       
   103         }
       
   104 
       
   105         private void ClickBook_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   106         {
       
   107             BookTimeLineVM temp = new BookTimeLineVM((VideoBook)e.Parameter);
       
   108             temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM;
       
   109             bool CanAdd = true;
       
   110            foreach(BookTimeLineVM BookTLVM in SelectedVideoBooks)
       
   111            {
       
   112                if (BookTLVM.SelectedBook == (VideoBook)e.Parameter)
       
   113                {
       
   114                    CanAdd = false;
       
   115                }
       
   116            }
       
   117             if(CanAdd)
       
   118             {
       
   119                 SelectedVideoBooks.Add(temp);
       
   120             }
       
   121 
       
   122         }
       
   123 
       
   124       
       
   125         private AnnotationMakerVM _annotationMakerVM;
   100         private AnnotationMakerVM _annotationMakerVM;
   126         /// <summary>
   101         /// <summary>
   127         /// ViewModel de AnnotationMaker
   102         /// ViewModel de AnnotationMaker
   128         /// </summary>
   103         /// </summary>
   129         public AnnotationMakerVM ViewModelAnnotationMaker
   104         public AnnotationMakerVM ViewModelAnnotationMaker
   136             {
   111             {
   137                 _annotationMakerVM = value;
   112                 _annotationMakerVM = value;
   138                 OnPropertyChanged("ViewModelAnnotationMaker");
   113                 OnPropertyChanged("ViewModelAnnotationMaker");
   139             }
   114             }
   140         }
   115         }
       
   116 
       
   117         private void InitializeCommands()
       
   118         {
       
   119             Commands.ConsultMenu.ClickBook.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(ClickBook_Executed);
       
   120             Commands.PolemicElement.SelectPolemicElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SelectPolemicElement_Executed);
       
   121             Commands.ClickMenu.CreateNewTextualAnnotation.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(CreateNewTextualAnnotation_Executed);
       
   122         }
       
   123        
       
   124         /// <summary>
       
   125         /// Evenement lors d'un click sur un livre de la liste
       
   126         /// </summary>
       
   127         /// <param name="sender"></param>
       
   128         /// <param name="e"></param>
       
   129         private void ClickBook_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   130         {
       
   131 
       
   132             bool CanAdd = true;
       
   133             //On regarde si le VideoLivre qu'on à choisis n'est pas déjà dans la liste des VideoLivres sélectionné
       
   134             foreach (BookTimeLineVM BookTLVM in SelectedVideoBooks)
       
   135             {
       
   136                 if (BookTLVM.SelectedBook.LdtPath == ((VideoBook)e.Parameter).LdtPath)
       
   137                 {
       
   138                     CanAdd = false;
       
   139                 }
       
   140             }
       
   141             if (CanAdd)
       
   142             {
       
   143                 //Préparation du loader
       
   144                 _loaderVideoBook = new Loader<VideoBook>(LDTFileReader.ConvertToVideoBook);
       
   145                 _loaderVideoBook.LoaderFinished += new EventHandler<LoaderEventArgs<VideoBook>>(LoaderVideoBook_LoaderFinished);
       
   146                 _loaderVideoBook.Load(((VideoBook)e.Parameter).LdtPath);
       
   147             }
       
   148             
       
   149 
       
   150         }
       
   151 
       
   152         /// <summary>
       
   153         /// Fonction une fois que le fichier .ldt à été chargé
       
   154         /// </summary>
       
   155         /// <param name="sender"></param>
       
   156         /// <param name="e"></param>
       
   157         private void LoaderVideoBook_LoaderFinished(object sender, LoaderEventArgs<VideoBook> e)
       
   158         {
       
   159             VideoBook addedVideoBook = e.CreatedObject;
       
   160             ///------- ///
       
   161             addedVideoBook.LdtPath = _loaderVideoBook.Path;
       
   162             ///-----------------///
       
   163             BookTimeLineVM temp = new BookTimeLineVM(addedVideoBook);
       
   164             temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM;
       
   165             SelectedVideoBooks.Add(temp);
       
   166             
       
   167         }
       
   168 
       
   169         
   141         private void CreateNewTextualAnnotation_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
   170         private void CreateNewTextualAnnotation_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
   142         {
   171         {
   143             ViewModelAnnotationMaker.RefElement=SelectedElement;
   172             ViewModelAnnotationMaker.RefElement=SelectedElement;
   144         }
   173         }
   145         public ConsultationViewVM()
   174         public ConsultationViewVM()
   158                 ConsultationBookViewContextMenu.SelectedIndex = (SegmentIndex)SelectedElement;
   187                 ConsultationBookViewContextMenu.SelectedIndex = (SegmentIndex)SelectedElement;
   159             }
   188             }
   160             catch
   189             catch
   161             {
   190             {
   162             }
   191             }
   163             
       
   164 
       
   165 
       
   166         }
   192         }
   167     }
   193     }
   168 }
   194 }