MAJ V4.43

Permet de renommer une évaluation ou le nom du fichier d'analyse dans la
base de donnée.
This commit is contained in:
pablo rodriguez 2023-03-21 20:07:38 +01:00
parent 2b21e9dd85
commit af3b7cdcf4
9 changed files with 119 additions and 30 deletions

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -131,7 +131,7 @@ public class commandes {
//** base de données des évaluations
public static String PathBaseEvaluations = Paths.get("").toAbsolutePath().toString(); //Chemin vers la base de données
public static boolean PathBaseEvalationDefaut = true; //Flag si ce n'est pas le chemin par défaut vers la base de données
public static boolean PathBaseEvaluationDefaut = true; //Flag si ce n'est pas le chemin par défaut vers la base de données
public static String NameBaseEvaluations="base_evaluations_analyseWriter.xml"; //Nom par défaut de la base de données
public static void initialiseParametresSettingProprietes() {

View File

@ -48,7 +48,7 @@ public class actOpenHistoriqueEvaluation extends AbstractAction{
String directoryName = "";
File file = null;
if(commandes.PathBaseEvalationDefaut) {
if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString();
}else {
directoryName = commandes.PathBaseEvaluations;

View File

@ -92,11 +92,11 @@ public class ChargePathBaseEvaluation extends JFileChooser {
if(nodeEvaluation.getNomElt().equals("evaluations")) {
commandes.NameBaseEvaluations=nameSujet;
commandes.PathBaseEvaluations=PathFilenameAnalysis;
commandes.PathBaseEvalationDefaut=false;
commandes.PathBaseEvaluationDefaut=false;
if(!create.isDispose) create.getTextNodeSelect().afficheChargementCheminVersLaBase();
if(!evaluate.isDispose) evaluate.getTxtpnmessages().afficheChargementCheminVersLaBase();
}else {
commandes.PathBaseEvalationDefaut=false;
commandes.PathBaseEvaluationDefaut=false;
JFrame frame = new JFrame();
JLabel texte = new JLabel("<html><p>Ce n'est pas une base de données des évaluations.</p></html>");
JOptionPane.showMessageDialog(frame, texte);

View File

@ -18,6 +18,8 @@ import java.io.UnsupportedEncodingException;
import java.nio.file.Paths;
import java.text.ParseException;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.Box;
import javax.swing.ImageIcon;
@ -56,10 +58,12 @@ public class baseDonneesEvaluations extends JFrame { /**
String[][] data = new String[0][5];
String[] columnNames = {"Nom de l'évaluation","Date d'enregistrement","Titre de l'exercice","Propriété personnalisé Sujet","Nom du fichier d'analyse"};
JScrollPane scrollPane = new JScrollPane();
private final JButton btnRenommeFichierAnalyse = new JButton("Renommer le fichier d'analyse");
private final JButton btnRenommerEvaluation = new JButton("Renommer l'évaluation");
private final Component horizontalGlue_2 = Box.createHorizontalGlue();
public baseDonneesEvaluations() {
public baseDonneesEvaluations() {
super();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
@ -72,7 +76,7 @@ public baseDonneesEvaluations() {
setIconImage(img.getImage());
setTitle(commandes.Titre + " - La base de données des évaluations");
setLayout(new BorderLayout(2, 2));
getContentPane().setLayout(new BorderLayout(2, 2));
int NombreDeLigne = commandes.evaluationsBase.getNodes().size();
@ -85,8 +89,7 @@ public baseDonneesEvaluations() {
node fichier = commandes.evaluationsBase.getNodes().get(i).retourneFirstEnfantsByName("fichier");
data[i][2] = fichier.getAttributs().get("titre");
data[i][3] = fichier.getAttributs().get("metaSujet");
data[i][4] = fichier.getAttributs().get("analysis_filename");
data[i][4] = fichier.getAttributs().get("filenameAnalyse");
}
@ -97,37 +100,50 @@ public baseDonneesEvaluations() {
scrollPane = new JScrollPane(table);
//Add the scroll pane to this panel.
add(scrollPane,BorderLayout.CENTER);
getContentPane().add(scrollPane,BorderLayout.CENTER);
//*Le bas de la fenêtre contenant les boutons
panelBas.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10));
Component horizontalGlue = Box.createHorizontalGlue();
Component horizontalGlue_1 = Box.createHorizontalGlue();
btnRenommerEvaluation.setForeground(new Color(153, 50, 204));
btnRenommerEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnRenommerEvaluation);
panelBas.add(horizontalGlue_2);
btnRenommeFichierAnalyse.setForeground(new Color(255, 140, 0));
btnRenommeFichierAnalyse.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnRenommeFichierAnalyse);
panelBas.add(horizontalGlue);
btnSupprimeEvaluation.setForeground(new Color(255, 0, 0));
btnSupprimeEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnSupprimeEvaluation);
Component horizontalGlue = Box.createHorizontalGlue();
panelBas.add(horizontalGlue);
Component horizontalGlue_1 = Box.createHorizontalGlue();
panelBas.add(horizontalGlue_1);
btnSaveEvaluation.setForeground(new Color(0, 64, 128));
btnSaveEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnSaveEvaluation);
btnValide.setFont(new Font("Tahoma", Font.BOLD, 12));
btnValide.setFont(new Font("Tahoma", Font.BOLD, 16));
btnValide.setForeground(new Color(0, 128, 0));
panelBas.add(btnValide);
add(panelBas, BorderLayout.SOUTH);
getContentPane().add(panelBas, BorderLayout.SOUTH);
//*Le haut
String nombreEvluation = String.valueOf(commandes.evaluationsBase.getNodes().size());
lblInformationBaseEvluation.setText("<html>Date dernière modification : " + calcul.formatDateWriter.DateEnClairFR( calcul.formatDateWriter.DateLibreOffice(commandes.evaluationsBase.getAttributs().get("date"))) + " -- Nombre d'évaluation : " + nombreEvluation);
add(panelHaut, BorderLayout.NORTH);
getContentPane().add(panelHaut, BorderLayout.NORTH);
lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 14));
panelHaut.add(lblInformationBaseEvluation);
@ -168,6 +184,7 @@ public static baseDonneesEvaluations getInstance() {
return instance;
}
private void ListenerAction() {
/**
@ -249,9 +266,53 @@ private void ListenerAction() {
public void actionPerformed(ActionEvent e) {
if(lsm!=null) {
if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
commandes.evaluationsBase.getNodes().remove(indexSelect);
try {
if(JOptionPane.showConfirmDialog(null,"Voulez-vous supprimer cette évaluation?", "Suppression", JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.YES_OPTION) {
indexSelect = lsm.getMinSelectionIndex();
commandes.evaluationsBase.getNodes().remove(indexSelect);
try {
ecritureBaseEvaluation(commandes.evaluationsBase);
isDispose=true;
dispose();
getInstance();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
}
});
/**
* Renomme le fichier d'analyse
*/
btnRenommeFichierAnalyse.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(lsm!=null)if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
node evaluation = commandes.evaluationsBase.getNodes().get(indexSelect);
String nomFichierAnalyse = "";
if(evaluation.retourneFirstEnfantsByName("fichier").getAttributs().get("analysis_filename")!=null) {
nomFichierAnalyse = evaluation.retourneFirstEnfantsByName("fichier").getAttributs().get("analysis_filename");
}
JPanel panel = new JPanel();
JLabel Text = new JLabel();
Text.setText("<html><p>Uniquement dans la base de donnée.</p><p>Renommer le fichier d'analyseavec le nom : </p></html>");
panel.add(Text);
nomFichierAnalyse = JOptionPane.showInputDialog(null,panel, nomFichierAnalyse);
if(!nomFichierAnalyse.isBlank()) {
Pattern pt = Pattern.compile("\\.xml$");
Matcher match= pt.matcher(nomFichierAnalyse);
if(!match.find()) {
nomFichierAnalyse = nomFichierAnalyse + ".xml";
}
evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("analysis_filename", nomFichierAnalyse);
evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("filenameAnalyse", nomFichierAnalyse);
evaluation.getAttributs().put("analysis_filename", nomFichierAnalyse);
try {
ecritureBaseEvaluation(commandes.evaluationsBase);
isDispose=true;
dispose();
@ -259,12 +320,44 @@ private void ListenerAction() {
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
});
}
});
/**
* REnommer une évaluation
*/
btnRenommerEvaluation.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(lsm!=null)if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
node evaluation = commandes.evaluationsBase.getNodes().get(indexSelect);
String nomEvaluation = "";
if(evaluation.getAttributs().get("name")!=null) {
nomEvaluation = evaluation.getAttributs().get("name");
}
nomEvaluation = JOptionPane.showInputDialog(null,"Renommer cette évaluation ?",nomEvaluation);
if(!nomEvaluation.isBlank()) {
evaluation.getAttributs().put("name",nomEvaluation);
try {
ecritureBaseEvaluation(commandes.evaluationsBase);
isDispose=true;
dispose();
getInstance();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
});
}
@ -353,12 +446,7 @@ private void chargeEvaluationSelected(node evaluation) {
}
// else {
// JFrame frame = new JFrame();
// JLabel texte = new JLabel("<html><p>Le fichier d'analyse de l'évaluation, " + commandes.nameSujet + ", <b>a été renommé ou supprimé</b>.</p><br>"
// + "<p>Le fichier d'analyse de l'évaluation <b><u>est récupéré</u></b> depuis la base de données des évaluations.</p></html>");
// JOptionPane.showMessageDialog(frame, texte);
// }
commandes.initialiseParametresSettingProprietes();
@ -480,7 +568,7 @@ private void ecritureBaseEvaluation(node evaluations) throws IOException {
// Run.ecritureNodeEnXML(evaluations, "base_evaluations_analyseWriter.xml", directory.getAbsolutePath(), Run.TypeFile.Evaluation);
String directoryName = "";
if(commandes.PathBaseEvalationDefaut) {
if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString();
}else {
directoryName = commandes.PathBaseEvaluations;