You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
6.8 KiB
132 lines
6.8 KiB
<Window x:Class="vues.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:local="clr-namespace:vues"
|
|
xmlns:bib="clr-namespace:notre_bibliotheque;assembly=notre_bibliotheque"
|
|
xmlns:system="clr-namespace:System;assembly=mscorlib"
|
|
mc:Ignorable="d"
|
|
Title="MainWindow" Height="470" Width="820" Closed="SauvegarderALaFermeture">
|
|
<Window.Resources>
|
|
<!-- Permet de récupérer toutes les valeurs de l'énumeration ValeurTri-->
|
|
<ObjectDataProvider x:Key="EnumTri" ObjectType="{x:Type system:Enum}" MethodName="GetValues">
|
|
<ObjectDataProvider.MethodParameters>
|
|
<x:Type Type="bib:ValeurTri"/>
|
|
</ObjectDataProvider.MethodParameters>
|
|
</ObjectDataProvider>
|
|
</Window.Resources>
|
|
|
|
<DockPanel>
|
|
<!-- <DockPanel HorizontalAlignment="Left" MinWidth="120"> -->
|
|
|
|
<Menu Grid.Column="0" Background="white" DockPanel.Dock="Top" Padding="4">
|
|
<!--
|
|
le bouton connexion va permettre à l'utilisateur soit de se connecter, soit d'acceder
|
|
au mode administrateur si il en a l'autorisation
|
|
-->
|
|
<MenuItem Header="_Connexion">
|
|
<MenuItem Header="Se C_onnecter" Click="SeConnecter_Click"/>
|
|
<Separator/>
|
|
<MenuItem Header="Se _Déconnecter" Click="Deconnexion_Click"/>
|
|
</MenuItem>
|
|
|
|
<!--
|
|
le bouton langage va permettre à l'utilisateur d'ajouter, modifier ou supprimer un langage
|
|
cliquer sur l'un des trois ouvre une nouvelle fenetre
|
|
ce bouton n'est visible que si l'utilisateur est connecté et sous mode administrateur
|
|
-->
|
|
<MenuItem Header="_Langages" x:Name="boutonLangages" IsEnabled="False">
|
|
<MenuItem Header="_Ajouter" Click="NouveauLangage_Click"/>
|
|
<MenuItem Name="ModifierLangageMenu" Header="_Modifier" Click="ModifierLangage_Click"
|
|
IsEnabled="{Binding IsASelectedLanguage}"/>
|
|
<MenuItem Name="SupprimerLangageMenu" Header="_Supprimer" Click="SupprimerLangage_Click"
|
|
IsEnabled="{Binding IsASelectedLanguage}"/>
|
|
|
|
</MenuItem>
|
|
</Menu>
|
|
|
|
<DockPanel DockPanel.Dock="Left">
|
|
<!--
|
|
Ce DockPanel contient une ComboBox qui va servir à choisir le mode de tri
|
|
des langages (nom, date, génération, favoris)
|
|
-->
|
|
<ComboBox x:Name="ComboTri" DockPanel.Dock="Top" ItemsSource="{Binding Source={StaticResource EnumTri}}"
|
|
SelectedItem="{Binding ItemsLangages.Filtre}" Background="White">
|
|
</ComboBox>
|
|
|
|
<!--
|
|
Cette ListBox contiend tout les langages recencés par le logiciel.
|
|
|
|
C'est la ListBox qui a été retenue car elle permet une gestion
|
|
simple de l'affichage, récupération simple des données sauvgardées,
|
|
ainsi qu'une récupération simple des données séléctionées par
|
|
l'utilisateur (le langage).
|
|
|
|
Cette ListBox sera placé à gauche de l'application grâce au DockPanel
|
|
qui occupe l'ensemble de le fenêtre. Elle occupera aussi toute la
|
|
hauteur de la fenêtre (mode Strech)
|
|
-->
|
|
<ListBox VerticalAlignment="Stretch" Background="black" x:Name="MasterDesLangages" MaxWidth="150" MinWidth="20" Padding="3,1"
|
|
SelectedItem="{Binding ItemsLangages.ItemCourant}" ItemsSource="{Binding ItemsLangages.LesItems}"
|
|
SelectionChanged="MasterDesLangages_SelectionChanged">
|
|
<ListBox.ItemTemplate>
|
|
<!--
|
|
Ce DataTemplate permet de controller l'affichage du
|
|
langage dans la ListBox et n'affiche que le nom du langage
|
|
-->
|
|
<DataTemplate>
|
|
<Border Background="white" MinWidth="90" MinHeight="30" CornerRadius="10">
|
|
<TextBlock Text="{Binding Nom}" FontWeight="Medium" FontSize="15" Foreground="Orange" Padding="2"
|
|
VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</DockPanel>
|
|
|
|
<!--
|
|
Ici, on a choisi d'uttiliser un DockPanel. En effet, le DocPanel nous permet
|
|
de projeter une barre de saisie en haut de la fenêtre et permet aux informations
|
|
du langage sélectioné d'occuper le reste entier de la fenêtre, ce qui n'aurais
|
|
pas été paussible avec un StackPanel.
|
|
-->
|
|
<DockPanel>
|
|
|
|
<!--
|
|
cette grid permet de placer le nom de l'application en haut à droite
|
|
ainsi que le témoin de connexion.
|
|
-->
|
|
<Grid DockPanel.Dock="Top" Background="black">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Padding="25,10" TextAlignment="Right" Text="PRO LANG" Foreground="Orange" FontSize="28" FontWeight="DemiBold"/>
|
|
<Border Grid.Row="1" HorizontalAlignment="Right" Height="25" Margin="0,5,25,5" Padding="2"
|
|
CornerRadius="10" Background="orange" Width="120">
|
|
<DockPanel>
|
|
<Image DockPanel.Dock="Left" Source="/images/connecter.png"/>
|
|
<TextBlock x:Name="temoinID" Text="{Binding Identifiant, FallbackValue=Non connecté}" FontWeight="Medium"
|
|
Padding="3" Foreground="white" HorizontalAlignment="Center"/>
|
|
</DockPanel>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<!--
|
|
le contentcontrol va permettre de garder la structure de la MainWindow tout en changeant
|
|
son contennu principale facilement en fonctions des actions de l'utilisateur
|
|
-->
|
|
<ContentControl x:Name="detail">
|
|
<local:ConnexionUC/>
|
|
</ContentControl>
|
|
|
|
|
|
</DockPanel>
|
|
</DockPanel>
|
|
|
|
</Window>
|