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 @@ + + + + + + + +CSV 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