From ca71a2d98677ddac77638da7539e16168166bdf6 Mon Sep 17 00:00:00 2001 From: vidufour1 Date: Mon, 29 May 2023 11:06:09 +0200 Subject: [PATCH] ajout partitions automatiquement dans accueil avec dataBinding + correction au_clair_de_la_lune qui s'affichait pas --- .../Images/{au_clair_de.png => au_clair.png} | Bin MusiLib/MusiLib/Stub/Stub.cs | 20 +++---- MusiLib/MusiLib/Views/Accueil.xaml | 49 +---------------- MusiLib/MusiLib/Views/Accueil.xaml.cs | 50 ++++++++++++++++++ 4 files changed, 62 insertions(+), 57 deletions(-) rename MusiLib/MusiLib/Resources/Images/{au_clair_de.png => au_clair.png} (100%) diff --git a/MusiLib/MusiLib/Resources/Images/au_clair_de.png b/MusiLib/MusiLib/Resources/Images/au_clair.png similarity index 100% rename from MusiLib/MusiLib/Resources/Images/au_clair_de.png rename to MusiLib/MusiLib/Resources/Images/au_clair.png diff --git a/MusiLib/MusiLib/Stub/Stub.cs b/MusiLib/MusiLib/Stub/Stub.cs index f8732fc..1a6df44 100644 --- a/MusiLib/MusiLib/Stub/Stub.cs +++ b/MusiLib/MusiLib/Stub/Stub.cs @@ -14,7 +14,7 @@ namespace MusiLib.Stub { public (List, List) chargeDonnees() { - List favoris = new List(); + List partitions = new List(); List utilisateurs = new List(); Utilisateur kevin = new Utilisateur("Kevin"); Utilisateur michel = new Utilisateur("Michel"); @@ -28,19 +28,19 @@ namespace MusiLib.Stub Partition fais_dodo_colas = new Partition("fais dodo", "Inconnu", 0, "Fais dodo est une berceuse enfantine en langue française dont l'auteur est inconnu et est dans le domaine public. La mélodie, très connue, date du XVIIIe siècle et se chante dans toutes les régions de France et également au Québec. Il y a quelques variantes, où les ingrédients du texte changent : nougat au lieu de chocolat, d'autres fois des bateaux : « Papa est en haut qui fait des bateaux pour le p'tit Pierrot qui fait son dodo... » ", "piano", "fais-dodo-colas-mon-petit-frere.mid"); Partition Frere_Jacques = new Partition("Frère Jacques", "Jean-Philippe Rameau", 0, "Frère Jacques est une chanson enfantine française du XVIIIe siècle, connue dans le monde entier et traduite dans de nombreuses langues. Longtemps considérée comme anonyme, elle a vraisemblablement pour auteur Jean-Philippe Rameau. Selon l'historienne et musicologue Sylvie Bouissou, l'auteur de la chanson n'est autre que Jean-Philippe Rameau1,2. En effet, dans un exemplaire de son ouvrage Diapason général de tous les instruments à vent (1772), Louis-Joseph Francœur, violoniste de l'Opéra de Paris dans les années où Rameau y était actif, a inséré les manuscrits de quatre canons qu'il attribue à Rameau, parmi lesquels on trouve donc Frère Jacques, mais surtout deux autres déjà connus comme étant de Rameau;", "piano", "frere-jacques.mid"); amazing_grace.ajouterImage("amazing.png"); - amazing_grace.ajouterImage("au_clair_de.png"); - au_clair_de_la_lune.ajouterImage("au_clair_de_la_lune.png"); + amazing_grace.ajouterImage("au_clair.png"); + au_clair_de_la_lune.ajouterImage("au_clair.png"); aura_lee_love_me.ajouterImage("aura_lee_love_me.png"); ode_a_la_joie.ajouterImage("ode_a_la.png"); fais_dodo_colas.ajouterImage("fais_dodo_colas.png"); Frere_Jacques.ajouterImage("frere_jacques.png"); - favoris.Add(amazing_grace); - favoris.Add(au_clair_de_la_lune); - favoris.Add(aura_lee_love_me); - favoris.Add(ode_a_la_joie); - favoris.Add(fais_dodo_colas); - favoris.Add(Frere_Jacques); - return (favoris, utilisateurs); + partitions.Add(amazing_grace); + partitions.Add(au_clair_de_la_lune); + partitions.Add(aura_lee_love_me); + partitions.Add(ode_a_la_joie); + partitions.Add(fais_dodo_colas); + partitions.Add(Frere_Jacques); + return (partitions, utilisateurs); } public void sauvegardeDonnees(List p, List u) diff --git a/MusiLib/MusiLib/Views/Accueil.xaml b/MusiLib/MusiLib/Views/Accueil.xaml index 3f790e4..7f58fb4 100644 --- a/MusiLib/MusiLib/Views/Accueil.xaml +++ b/MusiLib/MusiLib/Views/Accueil.xaml @@ -7,7 +7,7 @@ BackgroundColor="White"> - + @@ -72,52 +72,7 @@ Clicked="GoToFavorisButton" /> - - - - - - - - + diff --git a/MusiLib/MusiLib/Views/Accueil.xaml.cs b/MusiLib/MusiLib/Views/Accueil.xaml.cs index 2ba61f9..129fa61 100644 --- a/MusiLib/MusiLib/Views/Accueil.xaml.cs +++ b/MusiLib/MusiLib/Views/Accueil.xaml.cs @@ -9,6 +9,7 @@ public partial class Accueil : ContentPage, IAllowClick public Accueil() { InitializeComponent(); + chargerPartitions(); BindingContext = MyManager; } @@ -39,4 +40,53 @@ public partial class Accueil : ContentPage, IAllowClick IAllowClick.ResumeTap(); } + + private void chargerPartitions() + { + int imagesParLigne = 3; + int indice = 0; + + for (int i = 0; i < MyManager.partitions.Count; i++) + { + Model.Partition partitions = MyManager.partitions[i]; + + ImageButton imageButton = new ImageButton + { + Source = partitions.Image[0], + WidthRequest = 175, + HeightRequest = 175, + AutomationId = indice.ToString(), + }; + + imageButton.Clicked += GoToPartitionButton; + + int ligne = 1 + (indice / imagesParLigne); + int colonne = indice % imagesParLigne; + + imageButton.Margin = GetImageButtonMargin(colonne); + + Grid.SetRow(imageButton, ligne); + Grid.SetColumn(imageButton, colonne); + grille.Children.Add(imageButton); + + indice++; + } + } + + private Thickness GetImageButtonMargin(int colonne) + { + if (colonne == 0) + { + return new Thickness(30, 0, 0, 0); + } + else if (colonne == 1) + { + return new Thickness(90, 0, 0, 0); + } + else + { + return new Thickness(150, 0, 0, 0); + } + } + } \ No newline at end of file