@ -34,6 +34,8 @@ namespace WpfApp1
public bool aChanger = false ; //Booléen qui permet de savoir si l'utilisateur a déjà changer la zone de la listBox
List < Zone > lesZones = new List < Zone > ( ) { Zone . ARCTIQUE , Zone . ATLANTIQUE , Zone . INDIEN , Zone . PACIFIQUE } ;
public MainWindow ( )
{
@ -45,8 +47,79 @@ namespace WpfApp1
Mgr . Requins . CollectionChanged + = Requins_CollectionChanged ;
var ucAccueil = new userControlAcceuil { zone = zonePage } ;
contentControl . Content = ucAccueil ;
ucAccueil . AccueilWeChange + = UcAccueil_AccueilWeChange ;
}
/// <summary>
/// Evénement associé à l'EventHandler AccueilWeChange de l'UserControlAccueil
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void UcAccueil_AccueilWeChange ( object sender , AccueilWeChangeEventArgs e )
{
var ucAccueil = new userControlAcceuil { zone = zonePage } ;
contentControl . Content = ucAccueil ;
ucAccueil . AccueilWeChange + = UcAccueil_AccueilWeChange ;
ChangeRegionAvecMap ( e . Zone ) ;
}
/// <summary>
/// Evénement associé à l'EventHandler AccueilWeGo de l'UserControlRequin
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void UcDesc_AccueilWeGo ( object sender , AccueilWeGoEventArgs e )
{
var ucAccueil = new userControlAcceuil { zone = zonePage } ;
contentControl . Content = ucAccueil ;
ucAccueil . AccueilWeChange + = UcAccueil_AccueilWeChange ;
}
/// <summary>
/// Evénement associé à l'EventHandler EditWeGo de l'UserControlDescription
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void UcDesc_EditWeGo ( object sender , EditWeGoEventArgs e )
{
var ucEdit = new UserControlEdit { requin = e . Requin } ;
contentControl . Content = ucEdit ; //Change le content control
ucEdit . DescWeGo + = UcEdit_DescWeGo ; //lie l'événement DescWeGo à l'UserControlEdit
}
/// <summary>
/// Evénement associé à l'EventHandler DescriptionWeGo de l'UserControlRequin
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GoDesc_DescriptionWeGo ( object sender , DescriptionWeGoEventArgs args )
{
var ucDesc = new userControlDescription { requin = args . Requin , zone = zonePage } ;
contentControl . Content = ucDesc ; //Change le content control
ucDesc . EditWeGo + = UcDesc_EditWeGo ; //lie l'événement EditWeGo à l'UserControlDescription
ucDesc . AccueilWeGo + = UcDesc_AccueilWeGo ; //lie l'événement EditWeGo à l'UserControlAccueil
}
/// <summary>
/// Evénement associé à l'EventHandler DescWeGo de l'UserControlEdit
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void UcEdit_DescWeGo ( object sender , DescWeGoEventArgs e )
{
var ucDesc = new userControlDescription { requin = e . Requin , zone = zonePage } ;
contentControl . Content = ucDesc ; //Change le content control
ucDesc . EditWeGo + = UcDesc_EditWeGo ; //lie l'événement EditWeGo à l'UserControlDescription
ucDesc . AccueilWeGo + = UcDesc_AccueilWeGo ; //lie l'événement EditWeGo à l'UserControlAccueil
}
/// <summary>
/// Evénement qui est déclenché lorsque l'ObservableCollection change pour mettre à jour l'affichage
/// </summary>
@ -134,34 +207,6 @@ namespace WpfApp1
ChangerAffichage ( z ) ;
}
/// <summary>
/// Méthode qui permet de changer le content control en userControlDescription
/// </summary>
/// <param name="req"></param>
public void ContentControlSwapDes ( Requin req )
{
contentControl . Content = new userControlDescription { requin = req } ;
}
/// <summary>
/// Méthode qui permet de changer le content control en userControlAcceuil
/// </summary>
public void ContentControlSwapAcc ( )
{
contentControl . Content = new userControlAcceuil { zone = zonePage } ;
}
/// <summary>
/// Méthode qui permet de changer le content control en userControlEdit
/// </summary>
/// <param name="req"></param>
public void ContentControlSwapEdit ( Requin req )
{
contentControl . Content = new UserControlEdit { requin = req } ;
}
/// <summary>
@ -186,7 +231,9 @@ namespace WpfApp1
viderListBox ( ) ;
foreach ( Requin req in Mgr . Requins )
{
laListe . Items . Add ( new UserControlRequin { requin = req , type = UCrequinType . normal } ) ;
var goDesc = new UserControlRequin { requin = req , type = UCrequinType . normal } ;
goDesc . DescriptionWeGo + = GoDesc_DescriptionWeGo ; //lie l'événement DescriptionWeGo à tous les UserControlRequin de la listBox
laListe . Items . Add ( goDesc ) ;
}
}
@ -215,12 +262,16 @@ namespace WpfApp1
if ( test > 0 )
{
//Ajoute un userControlRequin si le requin a bien une zone en commun avec la zone donnée en paramètre
laListe . Items . Add ( new UserControlRequin { requin = req } ) ;
var goDesc = new UserControlRequin { requin = req , type = UCrequinType . normal } ;
goDesc . DescriptionWeGo + = GoDesc_DescriptionWeGo ; //lie l'événement DescriptionWeGo à tous les UserControlRequin de la listBox
laListe . Items . Add ( goDesc ) ;
}
test = 0 ;
}
//Change le content control en userControlAcceuil
contentControl . Content = new userControlAcceuil { zone = zone } ;
var ucAccueil = new userControlAcceuil { zone = zone } ;
contentControl . Content = ucAccueil ;
ucAccueil . AccueilWeChange + = UcAccueil_AccueilWeChange ; //Lie l'événement AccueilWeChange au nouvel userControlAccueil
}
/// <summary>
@ -249,7 +300,9 @@ namespace WpfApp1
nvReq = Mgr . RechercherRequins ( Mgr . Requins , zonePage , rech ) ;
foreach ( Requin req in nvReq )
{
laListe . Items . Add ( new UserControlRequin { requin = req } ) ;
var goDesc = new UserControlRequin { requin = req , type = UCrequinType . normal } ;
goDesc . DescriptionWeGo + = GoDesc_DescriptionWeGo ; //lie l'événement DescriptionWeGo à tous les UserControlRequin de la listBox
laListe . Items . Add ( goDesc ) ;
}
}
else
@ -258,7 +311,10 @@ namespace WpfApp1
}
if ( rech = = "Shrek" | | rech = = "shrek" )
{
laListe . Items . Add ( new UserControlRequin { requin = new Requin ( "Shrek" , "Ogre" , "I see you are a person of culture as well.\n\nFais ton grrrrr" , "Images/shrekin.png" , "Videos/shrekin.mp4" , "Images/shrekMap.png" , Conservation . EW , null , "GET OUT OF MY SEA" ) } ) ;
Requin req = new Requin ( "Shrek" , "Ogre" , "I see you are a person of culture as well.\n\nFais ton grrrrr" , "Images/shrekin.png" , "Videos/shrekin.mp4" , "Images/shrekMap.png" , Conservation . EW , null , "GET OUT OF MY SEA" ) ;
var goDesc = new UserControlRequin { requin = req , type = UCrequinType . normal } ;
goDesc . DescriptionWeGo + = GoDesc_DescriptionWeGo ; //lie l'événement DescriptionWeGo à tous les UserControlRequin de la listBox
laListe . Items . Add ( goDesc ) ;
}
}
}