diff --git a/base/archiveBase.zip b/base/archiveBase.zip
index 16f93e8..ea11d19 100644
Binary files a/base/archiveBase.zip and b/base/archiveBase.zip differ
diff --git a/base/base.xml b/base/base.xml
index c1d8000..bbcd6f8 100644
--- a/base/base.xml
+++ b/base/base.xml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/base/base_sauvegarde.xml b/base/base_sauvegarde.xml
index a907dc8..2d37f4c 100644
--- a/base/base_sauvegarde.xml
+++ b/base/base_sauvegarde.xml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/resources/beaucoup icones.svg b/resources/beaucoup icones.svg
new file mode 100644
index 0000000..7fc6efa
--- /dev/null
+++ b/resources/beaucoup icones.svg
@@ -0,0 +1,364 @@
+
+
+
+
diff --git a/resources/fusionneBaseEvaluation.svg.2023_07_03_12_34_18.0.svg b/resources/fusionneBaseEvaluation.svg.2023_07_03_12_34_18.0.svg
index 84256fd..793928e 100644
--- a/resources/fusionneBaseEvaluation.svg.2023_07_03_12_34_18.0.svg
+++ b/resources/fusionneBaseEvaluation.svg.2023_07_03_12_34_18.0.svg
@@ -9,8 +9,8 @@
id="svg5"
xml:space="preserve"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
- sodipodi:docname="fusionneBaseEvaluation.svg"
- inkscape:export-filename="saveTable.png"
+ sodipodi:docname="fusionneBaseEvaluation.svg.2023_07_03_12_34_18.0.svg"
+ inkscape:export-filename="saveBase.png"
inkscape:export-xdpi="102.4"
inkscape:export-ydpi="102.4"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
@@ -29,8 +29,8 @@
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="5.8375593"
- inkscape:cx="22.697842"
- inkscape:cy="5.3960908"
+ inkscape:cx="3.5117416"
+ inkscape:cy="30.920457"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
@@ -94,7 +94,7 @@
y1="33.814552"
x2="30.430729"
y2="93.149948"
- gradientTransform="translate(120.38875,-81.281577)" />
+ id="path2582" />
diff --git a/resources/saveBase.png b/resources/saveBase.png
new file mode 100644
index 0000000..f62458f
Binary files /dev/null and b/resources/saveBase.png differ
diff --git a/src/Inscriptions/importInscriptionXLS.java b/src/Inscriptions/importInscriptionXLS.java
index 567b7a6..8f9c33e 100644
--- a/src/Inscriptions/importInscriptionXLS.java
+++ b/src/Inscriptions/importInscriptionXLS.java
@@ -213,8 +213,13 @@ public class importInscriptionXLS {
JOptionPane.showInternalMessageDialog(null, e.toString());
}
+ // trie les noeuds enfant (les formations) par ordre alphabétique de le nom.
+ for(noeud nfirst : commandes.nBase.getChildren()) {
+ nfirst.triAlphabetiqueDesEnfants();
+ }
- //trie les noeuds enfants des formation par ordre alphabétique des noms des étudiants.
+
+ //trie les noeuds enfants des formations par ordre alphabétique des noms des étudiants.
for(noeud nFormation : commandes.nBase.getFirstChild().getChildren()) {
nFormation.triAlphabetiqueDesEnfants(commandes.nomColonneNomEtudiant);
}
diff --git a/src/Windows/Window_demarre.java b/src/Windows/Window_demarre.java
index fa7002c..8076e69 100644
--- a/src/Windows/Window_demarre.java
+++ b/src/Windows/Window_demarre.java
@@ -146,7 +146,7 @@ public class Window_demarre extends JFrame {
frmEvalwriter.setBounds(100, 100, 765, 641);
//Affiche le bouton "Nouvelle version dispoinible".
- if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 789, 745);
+ if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 745);
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
@@ -218,13 +218,13 @@ public class Window_demarre extends JFrame {
btnNewVersion.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newVersion.png")));
btnNewVersion.setFont(new Font("Tahoma", Font.BOLD, 16));
- btnNewVersion.setBounds(10, 602, 753, 63);
+ btnNewVersion.setBounds(10, 602, 729, 63);
frmEvalwriter.getContentPane().add(btnNewVersion);
btnNewVersion.setVisible(commandes.newVersion);
btnHelpDownload.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
btnHelpDownload.setForeground(Color.GRAY);
- btnHelpDownload.setBounds(10, 665, 753, 30);
+ btnHelpDownload.setBounds(10, 665, 729, 30);
frmEvalwriter.getContentPane().add(btnHelpDownload);
btnAideImportationInscriptionXLSX.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12));
diff --git a/src/Windows/Window_gestionnaire.java b/src/Windows/Window_gestionnaire.java
index 2aab4ab..e39506f 100644
--- a/src/Windows/Window_gestionnaire.java
+++ b/src/Windows/Window_gestionnaire.java
@@ -700,6 +700,7 @@ public class Window_gestionnaire extends JFrame {
menuBar.add(mnNewMenu);
JMenuItem menueSauvegardeBase = new JMenuItem("Créer une sauvegarde de la base");
+ menueSauvegardeBase.setIcon(new ImageIcon(Window_gestionnaire.class.getResource("/resources/saveBase.png")));
menueSauvegardeBase.setFont(new Font("Arial", Font.BOLD, 14));
mnNewMenu.add(menueSauvegardeBase);
menueSauvegardeBase.addActionListener(new ActionListener() {
@@ -1563,7 +1564,7 @@ public class Window_gestionnaire extends JFrame {
System.out.println("Vous avez choisi Oui.");
commandes.nBase.getChild(nomFormation).removeChild(nStudent);
sauvegardeXMLBase.save(commandes.nBase,saveType.SANS_MESSAGE,"");
- majTable();
+ majFiltres();
} else if (userChoice == JOptionPane.NO_OPTION) {
System.out.println("Vous avez choisi Non.");
} else if (userChoice == JOptionPane.CANCEL_OPTION) {
diff --git a/src/base/CreateUpdateZipArchive.java b/src/base/CreateUpdateZipArchive.java
index e562330..6c35b95 100644
--- a/src/base/CreateUpdateZipArchive.java
+++ b/src/base/CreateUpdateZipArchive.java
@@ -35,7 +35,7 @@ public class CreateUpdateZipArchive {
int numFilesInArchive = countFilesInArchive(archiveFilePath);
// Si l'archive contient déjà 5 fichiers, supprimer le plus ancien
- if (numFilesInArchive >= 300) {
+ if (numFilesInArchive >= commandes.nombreMaxSauvegardeArchive) {
removeOldestFileFromArchive(archiveFilePath);
}
diff --git a/src/outils/commandes.java b/src/outils/commandes.java
index c0ba859..36c5c46 100644
--- a/src/outils/commandes.java
+++ b/src/outils/commandes.java
@@ -69,4 +69,8 @@ public class commandes {
// nombre d'image d'acceuil
public static int nombreImage = 34;
+
+ // nombre maximal de fichier dans l'archive
+ public static int nombreMaxSauvegardeArchive = 300;
+
}
diff --git a/src/outils/noeud.java b/src/outils/noeud.java
index 695a381..28323f0 100644
--- a/src/outils/noeud.java
+++ b/src/outils/noeud.java
@@ -1097,7 +1097,10 @@ public class noeud implements Cloneable{
return false;
}
-
+ /**
+ * Trie par ordre alphabétique les noeuds en indiquant le nom de l'attribut qu'il doit trier.
+ * @param nameAttribut
+ */
public void triAlphabetiqueDesEnfants(String nameAttribut) {
Map listeChild = new HashMap();
for(noeud child : children) {
@@ -1117,10 +1120,33 @@ public class noeud implements Cloneable{
for(Entry child : entryList) {
this.children.add(child.getKey());
}
-
-
}
+ /**
+ * Trie par ordre alphabétique les noeuds par le nom du noeud.
+ */
+ public void triAlphabetiqueDesEnfants() {
+ Map listeChild = new HashMap();
+ for(noeud child : children) {
+ if(child!=null) {
+ listeChild.put(child, child.getName());
+ }
+ }
+ // Obtenir les entrées du dictionnaire sous forme de liste
+ List> entryList = new ArrayList<>(listeChild.entrySet());
+
+ // Trier la liste d'entrées par ordre croissant des valeurs
+ Collections.sort(entryList, Comparator.comparing(Map.Entry::getValue));
+
+ //supprime tous les enfants du noeud
+ this.children.clear();
+
+ for(Entry child : entryList) {
+ this.children.add(child.getKey());
+ }
+ }
+
+
/**
* Mise à toujours de tous les styles des cellules en compétant par le style par défaut;
diff --git a/src/resources/saveBase.png b/src/resources/saveBase.png
new file mode 100644
index 0000000..f62458f
Binary files /dev/null and b/src/resources/saveBase.png differ