V4.5.0 (Modification dans la construction du node structure. Les sauts

de page ont été modifié)
This commit is contained in:
pablo rodriguez 2024-03-04 14:14:53 +01:00
parent bc17b5a6fe
commit 66095e3908
57 changed files with 533 additions and 405 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -34,9 +34,9 @@ public class commandes {
public static node nodeCSV = null; public static node nodeCSV = null;
//** Version //** Version
public static String version ="V4.4.8"; // La version actuelle public static String version ="V4.5.0"; // La version actuelle
public static String branch = "Origin"; public static String branch = "Origin";
public static String Annee ="2023"; public static String Annee ="2024";
//*************************************************** //***************************************************
//** Les commandes par défaut à travers la console ** //** Les commandes par défaut à travers la console **

View File

@ -402,369 +402,35 @@ public class meptl {
for(int j = 0 ; j< nodstructure.getNodes().size();j++) { for(int j = 0 ; j< nodstructure.getNodes().size();j++) {
page = nodpage.get(nodpage.size()-1); // dernière page enregistrer pour insérer des enfants en bas de la boucle page = nodpage.get(nodpage.size()-1); // dernière page enregistrer pour insérer des enfants en bas de la boucle
//****************************************************************************** //*************************************************************************
//** les sauts automatiques de page dans les paragraphes (text:soft-page-break) //** Insère les page dans le node structutre à partir des sauts de page ** **
//****************************************************************************** //*************************************************************************
if(nodstructure.getNodes().get(j).retourneEnfantsByNameExist("text:soft-page-break")) { // if(sautDePageAutomatique(nodstructure, compteurpage, j, a, nodpage, page))continue;
ArrayList<node> nods1 = a.retourneNames(nodstructure.getNodes().get(j), "text:soft-page-break");
if(nods1.size()>1) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
// recherche de l'index parmis les enfants du node text:soft-page-break.
int[] indexBreak = new int[nods1.size()];
indexBreak[0]=0;
for(int v = 0 ; v < nods1.size() ; v++) {
indexBreak[v]=-1;
}
int i2 = 0;
for(int v = 0 ; v < nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().get(v).getNomElt().equals("text:soft-page-break")) {
indexBreak[i2]=v;
i2++;
}
}
//Détermine s'il y a que du texte vide avant le saut automatique
boolean[] ContenusVidesAvantBreak = new boolean[nods1.size()];
boolean[] insertionRealiser = new boolean[nods1.size()];
for(int v = 0 ; v < nods1.size() ; v++) {
ContenusVidesAvantBreak[v]=true;
insertionRealiser[v]=false;
}
for(int u = 0; u < nods1.size() ; u++) {
for(int v = 0 ; v <= indexBreak[u]; v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>=1) {
if(nodstructure.getNodes().get(j).getContenu().get(v)!=null) {
if(ContenusVidesAvantBreak[u]) {
if(!nodstructure.getNodes().get(j).getContenu().get(v).isEmpty()) {
ContenusVidesAvantBreak[u]=false;
}
}
if(v==indexBreak[u] && !ContenusVidesAvantBreak[u]) {
nodstructure.getNodes().get(j).getContenu().set(
v,nodstructure.getNodes().get(j).getContenu().get(v) + "** TEXT:SOFT-PAGE-BREAK **");
}
}
}
}
}
// Contenu & node après le text:soft-page-break
node[] textSoftPageBreak = new node[nods1.size()];
for(int u = 0; u < nods1.size() ; u++) { // Les sauts de page manuel
textSoftPageBreak[u] = new node(); if(!sautDePage(nodstructure, compteurpage, j, a, nodstyleparagraphe, nodpage, page)) {
textSoftPageBreak[u].setNomElt("saut:automatique"); if(!sautDePageHorsTextEtTitre(nodstructure, j, compteurpage, a, nodstyleparagraphe, nodpage, page)) {
if(!ContenusVidesAvantBreak[u]) { sautDePageParmiTousLesEnfants(nodstructure, j, compteurpage, a, nodstyleparagraphe, nodpage, page);
// Ajoute dans le node textSoftPageBreak
for(int v = indexBreak[u]+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>v) {
textSoftPageBreak[u].getContenu().add(nodstructure.getNodes().get(j).getContenu().get(v));
}
if(nodstructure.getNodes().get(j).getNodes().size()>v) {
textSoftPageBreak[u].getNodes().add(nodstructure.getNodes().get(j).getNodes().get(v));
}
}
// suprresion des contenus et des nodes enfants dans le paragraphe dans le paragraphe // Les sauts de page automatique
for(int v = indexBreak[u]+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) { if(sautDePageAutomatique(nodstructure, compteurpage, j, a, nodpage, page))continue;
if(nodstructure.getNodes().get(j).getContenu().size()>indexBreak[u]+1) nodstructure.getNodes().get(j).getContenu().remove(indexBreak[u]+1);
}
for(int v = indexBreak[u] ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().size()>indexBreak[u]) nodstructure.getNodes().get(j).getNodes().remove(indexBreak[u]);
}
}
}
for(int u = 0; u < nods1.size() ; u++) {
if(ContenusVidesAvantBreak[0]) {
if(!insertionRealiser[0]) {
p.getNodes().add(nodstructure.getNodes().get(j));
insertionRealiser[0]=true;
nodpage.add(p);
compteurpage++;
node p1 = new node();
p1.setNomElt("page");
p1.getAttributs().put("numero", String.valueOf(compteurpage));
p1.getAttributs().put("type","automatique");
p1.getAttributs().put("index",String.valueOf(j));
p1.getNodes().add(textSoftPageBreak[u+1]);
insertionRealiser[1]=true;
if(nods1.size()<3) {
nodpage.add(p1);
compteurpage++;
}
}
if(!insertionRealiser[0]&&!ContenusVidesAvantBreak[0]) {
// place le node de la page précédente
nodpage.get(nodpage.size()-1).getNodes().add(nodstructure.getNodes().get(j)); //ok
// place le textSoftPageBreak sur la page du node p.
p.getNodes().add(textSoftPageBreak[u]);
}
}
}
if(!insertionRealiser[0]&&!insertionRealiser[1]) {
nodpage.add(p);
compteurpage++;
}
page = nodpage.get(nodpage.size()-1);
continue;
}else { }else {
node p = new node(); continue;
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
// recherche de l'index parmis les enfants du node text:soft-page-break.
int indexBreak = -1;
for(int v = 0 ; v < nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().get(v).getNomElt().equals("text:soft-page-break")) indexBreak=v;
} }
//Détermine s'il y a que du texte vide avant le saut automatique
boolean ContenusVidesAvantBreak = true;
// Contenu & node après le text:soft-page-break
node textSoftPageBreak = new node();
textSoftPageBreak.setNomElt("saut:automatique");
for(int v = 0 ; v <= indexBreak; v++) {
if(!nodstructure.getNodes().get(j).getContenu().isEmpty()) {
if(nodstructure.getNodes().get(j).getContenu().size()>v) {
if(nodstructure.getNodes().get(j).getContenu().get(v)!=null) {
if(!nodstructure.getNodes().get(j).getContenu().get(v).isEmpty()) {
ContenusVidesAvantBreak=false;
}
}
}
}
}
if(!ContenusVidesAvantBreak && nodstructure.getNodes().get(j)!=null) {
// Ajoute dans le node textSoftPageBreak
for(int v = indexBreak+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>v) {
textSoftPageBreak.getContenu().add(nodstructure.getNodes().get(j).getContenu().get(v));
}
if(nodstructure.getNodes().get(j).getNodes().size()>v) {
textSoftPageBreak.getNodes().add(nodstructure.getNodes().get(j).getNodes().get(v));
}
}
for(int v = indexBreak+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>indexBreak+1) nodstructure.getNodes().get(j).getContenu().remove(indexBreak+1);
}
for(int v = indexBreak ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().size()>indexBreak) nodstructure.getNodes().get(j).getNodes().remove(indexBreak);
}
}
// S'il y a que du texte vide.
if(ContenusVidesAvantBreak) {
// place le node dans la même page du node p.
p.getNodes().add(nodstructure.getNodes().get(j));
}else { }else {
// place le node de la page précédente
nodpage.get(nodpage.size()-1).getNodes().add(nodstructure.getNodes().get(j));
// place le textSoftPageBreak sur la page du node p.
p.getNodes().add(textSoftPageBreak);
}
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
continue; continue;
} }
}
//****************************************************************************************
//*** les sauts manuels de page dans les paragraphes <text:p>, <text:list> et <text:h> ***
//****************************************************************************************
if(nodstructure.getNodes().get(j).getAttributs().get("text:style-name")!=null) {
node nod2 = a.retourneFirstNodeByNameAttributValue(nodstyle.getNodes(), "style:style", "style:name", nodstructure.getNodes().get(j).getAttributs().get("text:style-name"));
if(nod2!=null) {
if(nod2.getAttributs().get("style:master-page-name")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","manuel");
p.getAttributs().put("index",String.valueOf(j));
p.getAttributs().put("style:master-page-name",nod2.getAttributs().get("style:master-page-name"));
p.getAttributs().put("style:name",nod2.getAttributs().get("style:name"));
node nod3 = a.retourneName(nod2.getNodes(), "style:paragraph-properties","fo:break-before");
if(nod3!=null) {
if(nod3.getAttributs().get("style:page-number")!=null) p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}else {
nod3 = nod2.retourneFirstEnfantsByName("style:paragraph-properties");
if(nod3!=null) if(nod3.getAttributs().get("style:page-number")!=null) {
p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}
}
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
continue;
}
if(a.retourneFirstNodeByNameAttributValue(nod2.getNodes(), "style:paragraph-properties","fo:break-before","page")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
continue;
}
}
}
//*************************************************
// les sauts manuels hors paragraphe et titre
//*************************************************
if(!nodstructure.getNodes().get(j).getNomElt().equals("text:p") && !nodstructure.getNodes().get(j).getNomElt().equals("text:h") ) {
ArrayList<node> lesparagraphes = a.retourneNames(nodstructure.getNodes().get(j).getNodes(), "text:p");
node nod2 = a.retourneName(lesparagraphes, "text:p", "text:style-name");
if(nod2!=null) {
node nod3 = a.retourneFirstNodeByNameAttributValue(nodstyle.getNodes(), "style:style", "style:name", nod2.getAttributs().get("text:style-name"));
if(nod3!=null) {
if(nod3.getAttributs().get("style:master-page-name")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","manuel");
p.getAttributs().put("index",String.valueOf(j));
p.getAttributs().put("style:master-page-name",nod3.getAttributs().get("style:master-page-name"));
p.getAttributs().put("style:name",nod3.getAttributs().get("style:name"));
node nod4 = a.retourneName(nod3.getNodes(), "style:paragraph-properties","fo:break-before");
if(nod4!=null) {
if(nod4.getAttributs().get("style:page-number")!=null) p.getAttributs().put("style:page_number", nod4.getAttributs().get("style:page-number"));
p.getNodes().add(nodstructure.getNodes().get(j));
}else {
nodpage.get(nodpage.size()-1).getNodes().add(nodstructure.getNodes().get(j));
}
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
continue;
}
if(a.retourneFirstNodeByNameAttributValue(nod3.getNodes(), "style:paragraph-properties","fo:break-before","page")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
continue;
}
}
}
}
//************************************************************************
//** Les sauts de page parmi les de tous les nodes enfants des enfants **
//************************************************************************
if(nodstructure.getNodes().get(j).retourneEnfantsContainAttribut("text:style-name").size()>0) {
for(node n : nodstructure.getNodes().get(j).retourneEnfantsContainAttribut("text:style-name")) {
String nameStyle = n.getAttributs().get("text:style-name");
node nod2 = a.retourneFirstNodeByNameAttributValue(nodstyle.getNodes(), "style:style", "style:name", nameStyle);
if(nod2!=null) {
if(nod2.getAttributs().get("style:master-page-name")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","manuel");
p.getAttributs().put("index",String.valueOf(j));
p.getAttributs().put("style:master-page-name",nod2.getAttributs().get("style:master-page-name"));
p.getAttributs().put("style:name",nod2.getAttributs().get("style:name"));
node nod3 = a.retourneName(nod2.getNodes(), "style:paragraph-properties","fo:break-before");
if(nod3!=null) {
if(nod3.getAttributs().get("style:page-number")!=null) p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}else {
nod3 = nod2.retourneFirstEnfantsByName("style:paragraph-properties");
if(nod3!=null) if(nod3.getAttributs().get("style:page-number")!=null) {
p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}
}
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
continue;
}
if(a.retourneFirstNodeByNameAttributValue(nod2.getNodes(), "style:paragraph-properties","fo:break-before","page")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
continue;
}
}
}
}
// ajoute au node de la page les éléments sauf les paragraphes de texte // ajoute au node de la page les éléments sauf les paragraphes de texte
page.getNodes().add(nodstructure.getNodes().get(j)); page.getNodes().add(nodstructure.getNodes().get(j));
@ -2347,13 +2013,15 @@ public class meptl {
+ "<p>Vous pouvez réaliser un copié dans le tableau.</p><br>"); + "<p>Vous pouvez réaliser un copié dans le tableau.</p><br>");
sb.append("<table>"); sb.append("<table>");
sb.append("<tr>"); sb.append("<tr>");
sb.append("<th>N°</th>");
sb.append("<th>Prénom</th>"); sb.append("<th>Prénom</th>");
sb.append("<th>Nom</th>"); sb.append("<th>Nom</th>");
sb.append("<th>Numéro étudiant</th>"); sb.append("<th>Numéro étudiant</th>");
sb.append("<th>Courriel</th>"); sb.append("<th>Courriel</th>");
sb.append("</tr>"); sb.append("</tr>");
for(int i = 0 ; i < commandes.nodeCSV.getNbrEnfants();i++) { for(int i = 0 ; i < commandes.nodeCSV.getNbrEnfants();i++) {
sb.append("<tr><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(firstname) sb.append("<tr><td>" + (i+1)
+ "</td><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(firstname)
+ "</td><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(name) + "</td><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(name)
+ "</td><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(nameid) + "</td><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(nameid)
+ "</td><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(nameemail) + "</td><td>" + commandes.nodeCSV.getNodes().get(i).getAttributs().get(nameemail)
@ -2369,21 +2037,6 @@ public class meptl {
} }
/**
* Retourne le node de l'étudiant recherché pour modification.
* @return
*/
public static node modificationNodeStudent(String name, String firstname, String email, String id, String numStudent) {
node nodeStudent = null;
if(commandes.fourniCSV) {
node nodeCSV = commandes.evaluationChargeEnMemoire.retourneFirstEnfantsByName("fileCSV");
nodeStudent = nodeCSV.retourneFirstNodeByNameAndAttributValueExactStrict("student", id, numStudent);
return nodeStudent;
}
return nodeStudent;
}
/** /**
* Charge le fichier SVG pour le nouveau Logo dans les feedbacks * Charge le fichier SVG pour le nouveau Logo dans les feedbacks
* @param a * @param a
@ -2660,6 +2313,417 @@ public class meptl {
} }
//******************************************************************************
//** Les sauts automatiques de page dans les paragraphes (text:soft-page-break)
//******************************************************************************
/**
* Les sauts automatiques de page dans les paragraphes (text:soft-page-break)
* Sauf dans les nodes "text:table-of-content"
* @param nodstructure
* @param compteurpage
* @param j
* @param a
* @param nodpage
* @param page
*/
private static boolean sautDePageAutomatique(node nodstructure, int compteurpage, int j, Run a, ArrayList<node> nodpage, node page) {
if(nodstructure.getNodes().get(j).retourneEnfantsByNameExist("text:soft-page-break") ) { //&& !nodstructure.getNodes().get(j).getNomElt().equals("text:table-of-content")
ArrayList<node> nods1 = a.retourneNames(nodstructure.getNodes().get(j), "text:soft-page-break");
if(nods1.size()>1) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
// recherche de l'index parmis les enfants du node text:soft-page-break.
int[] indexBreak = new int[nods1.size()];
indexBreak[0]=0;
for(int v = 0 ; v < nods1.size() ; v++) {
indexBreak[v]=-1;
}
int i2 = 0;
for(int v = 0 ; v < nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().get(v).getNomElt().equals("text:soft-page-break")) {
indexBreak[i2]=v;
i2++;
}
}
//Détermine s'il y a que du texte vide avant le saut automatique
boolean[] ContenusVidesAvantBreak = new boolean[nods1.size()];
boolean[] insertionRealiser = new boolean[nods1.size()];
for(int v = 0 ; v < nods1.size() ; v++) {
ContenusVidesAvantBreak[v]=true;
insertionRealiser[v]=false;
}
for(int u = 0; u < nods1.size() ; u++) {
for(int v = 0 ; v <= indexBreak[u]; v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>=1) {
if(nodstructure.getNodes().get(j).getContenu().get(v)!=null) {
if(ContenusVidesAvantBreak[u]) {
if(!nodstructure.getNodes().get(j).getContenu().get(v).isEmpty()) {
ContenusVidesAvantBreak[u]=false;
}
}
if(v==indexBreak[u] && !ContenusVidesAvantBreak[u]) {
nodstructure.getNodes().get(j).getContenu().set(
v,nodstructure.getNodes().get(j).getContenu().get(v) + "** TEXT:SOFT-PAGE-BREAK **");
}
}
}
}
}
// Contenu & node après le text:soft-page-break
node[] textSoftPageBreak = new node[nods1.size()];
for(int u = 0; u < nods1.size() ; u++) {
textSoftPageBreak[u] = new node();
textSoftPageBreak[u].setNomElt("saut:automatique");
if(!ContenusVidesAvantBreak[u]) {
// Ajoute dans le node textSoftPageBreak
for(int v = indexBreak[u]+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>v) {
textSoftPageBreak[u].getContenu().add(nodstructure.getNodes().get(j).getContenu().get(v));
}
if(nodstructure.getNodes().get(j).getNodes().size()>v) {
textSoftPageBreak[u].getNodes().add(nodstructure.getNodes().get(j).getNodes().get(v));
}
}
// suprresion des contenus et des nodes enfants dans le paragraphe dans le paragraphe
for(int v = indexBreak[u]+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>indexBreak[u]+1) nodstructure.getNodes().get(j).getContenu().remove(indexBreak[u]+1);
}
for(int v = indexBreak[u] ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().size()>indexBreak[u]) nodstructure.getNodes().get(j).getNodes().remove(indexBreak[u]);
}
}
}
for(int u = 0; u < nods1.size() ; u++) {
if(ContenusVidesAvantBreak[0]) {
if(!insertionRealiser[0]) {
p.getNodes().add(nodstructure.getNodes().get(j));
insertionRealiser[0]=true;
nodpage.add(p);
compteurpage++;
node p1 = new node();
p1.setNomElt("page");
p1.getAttributs().put("numero", String.valueOf(compteurpage));
p1.getAttributs().put("type","automatique");
p1.getAttributs().put("index",String.valueOf(j));
p1.getNodes().add(textSoftPageBreak[u+1]);
insertionRealiser[1]=true;
if(nods1.size()<3) {
nodpage.add(p1);
compteurpage++;
}
}
if(!insertionRealiser[0]&&!ContenusVidesAvantBreak[0]) {
// place le node de la page précédente
nodpage.get(nodpage.size()-1).getNodes().add(nodstructure.getNodes().get(j)); //ok
// place le textSoftPageBreak sur la page du node p.
p.getNodes().add(textSoftPageBreak[u]);
}
}
}
if(!insertionRealiser[0]&&!insertionRealiser[1]) {
nodpage.add(p);
compteurpage++;
}
page = nodpage.get(nodpage.size()-1);
if(nodstructure.getNodes().get(j).getNomElt().equals("text:table-of-content")) return false;
return true;
}else {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
// recherche de l'index parmis les enfants du node text:soft-page-break.
int indexBreak = -1;
for(int v = 0 ; v < nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().get(v).getNomElt().equals("text:soft-page-break")) indexBreak=v;
}
//Détermine s'il y a que du texte vide avant le saut automatique
boolean ContenusVidesAvantBreak = true;
// Contenu & node après le text:soft-page-break
node textSoftPageBreak = new node();
textSoftPageBreak.setNomElt("saut:automatique");
for(int v = 0 ; v <= indexBreak; v++) {
if(!nodstructure.getNodes().get(j).getContenu().isEmpty()) {
if(nodstructure.getNodes().get(j).getContenu().size()>v) {
if(nodstructure.getNodes().get(j).getContenu().get(v)!=null) {
if(!nodstructure.getNodes().get(j).getContenu().get(v).isEmpty()) {
ContenusVidesAvantBreak=false;
}
}
}
}
}
if(!ContenusVidesAvantBreak && nodstructure.getNodes().get(j)!=null) {
// Ajoute dans le node textSoftPageBreak
for(int v = indexBreak+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>v) {
textSoftPageBreak.getContenu().add(nodstructure.getNodes().get(j).getContenu().get(v));
}
if(nodstructure.getNodes().get(j).getNodes().size()>v) {
textSoftPageBreak.getNodes().add(nodstructure.getNodes().get(j).getNodes().get(v));
}
}
for(int v = indexBreak+1 ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getContenu().size()>indexBreak+1) nodstructure.getNodes().get(j).getContenu().remove(indexBreak+1);
}
for(int v = indexBreak ; v <= nodstructure.getNodes().get(j).getNodes().size(); v++) {
if(nodstructure.getNodes().get(j).getNodes().size()>indexBreak) nodstructure.getNodes().get(j).getNodes().remove(indexBreak);
}
}
// S'il y a que du texte vide.
if(ContenusVidesAvantBreak) {
// place le node dans la même page du node p.
p.getNodes().add(nodstructure.getNodes().get(j));
}else {
// place le node de la page précédente
nodpage.get(nodpage.size()-1).getNodes().add(nodstructure.getNodes().get(j));
// place le textSoftPageBreak sur la page du node p.
p.getNodes().add(textSoftPageBreak);
}
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
if(nodstructure.getNodes().get(j).getNomElt().equals("text:table-of-content")) return false;
return true;
}
}
return false;
}
//****************************************************************************************
//*** les sauts manuels de page dans les paragraphes <text:p>, <text:list> et <text:h> ***
//****************************************************************************************
/**
* Les sauts manuels de page dans les paragraphes text:p, text:list et text:h
* @param nodstructure
* @param compteurpage
* @param j
* @param a
* @param nodstyle
* @param nodpage
* @param page
* @return
*/
private static boolean sautDePage(node nodstructure, int compteurpage, int j, Run a, node nodstyle, ArrayList<node> nodpage, node page) {
if(nodstructure.getNodes().get(j).getAttributs().get("text:style-name")!=null) {
node nod2 = a.retourneFirstNodeByNameAttributValue(nodstyle.getNodes(), "style:style", "style:name", nodstructure.getNodes().get(j).getAttributs().get("text:style-name"));
if(nod2!=null) {
if(nod2.getAttributs().get("style:master-page-name")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","manuel");
p.getAttributs().put("index",String.valueOf(j));
p.getAttributs().put("style:master-page-name",nod2.getAttributs().get("style:master-page-name"));
p.getAttributs().put("style:name",nod2.getAttributs().get("style:name"));
node nod3 = a.retourneName(nod2.getNodes(), "style:paragraph-properties","fo:break-before");
if(nod3!=null) {
if(nod3.getAttributs().get("style:page-number")!=null) p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}else {
nod3 = nod2.retourneFirstEnfantsByName("style:paragraph-properties");
if(nod3!=null) if(nod3.getAttributs().get("style:page-number")!=null) {
p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}
}
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
return true;
}
if(a.retourneFirstNodeByNameAttributValue(nod2.getNodes(), "style:paragraph-properties","fo:break-before","page")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
return true;
}
}
}
return false;
}
//*************************************************
// les sauts manuels hors paragraphe et titre
//*************************************************
/**
* Les sauts de page manuel hors text:p et text:h et text:list
* @param nodstructure
* @param j
* @param compteurpage
* @param a
* @param nodstyle
* @param nodpage
* @param page
* @return
*/
private static boolean sautDePageHorsTextEtTitre(node nodstructure, int j, int compteurpage,Run a, node nodstyle, ArrayList<node> nodpage, node page) {
if(!nodstructure.getNodes().get(j).getNomElt().equals("text:p") && !nodstructure.getNodes().get(j).getNomElt().equals("text:h") && !nodstructure.getNodes().get(j).getNomElt().equals("text:list") ) {
ArrayList<node> lesparagraphes = a.retourneNames(nodstructure.getNodes().get(j).getNodes(), "text:p");
node nod2 = a.retourneName(lesparagraphes, "text:p", "text:style-name");
if(nod2!=null) {
node nod3 = a.retourneFirstNodeByNameAttributValue(nodstyle.getNodes(), "style:style", "style:name", nod2.getAttributs().get("text:style-name"));
if(nod3!=null) {
if(nod3.getAttributs().get("style:master-page-name")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","manuel");
p.getAttributs().put("index",String.valueOf(j));
p.getAttributs().put("style:master-page-name",nod3.getAttributs().get("style:master-page-name"));
p.getAttributs().put("style:name",nod3.getAttributs().get("style:name"));
node nod4 = a.retourneName(nod3.getNodes(), "style:paragraph-properties","fo:break-before");
if(nod4!=null) {
if(nod4.getAttributs().get("style:page-number")!=null) p.getAttributs().put("style:page_number", nod4.getAttributs().get("style:page-number"));
p.getNodes().add(nodstructure.getNodes().get(j));
}else {
nodpage.get(nodpage.size()-1).getNodes().add(nodstructure.getNodes().get(j));
}
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
return true;
}
if(a.retourneFirstNodeByNameAttributValue(nod3.getNodes(), "style:paragraph-properties","fo:break-before","page")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
return true;
}
}
}
}
return false;
}
//************************************************************************
//** Les sauts de page manuel parmi tous les nodes enfants des enfants **
//************************************************************************
/**
* Les sauts de page manuel parmi tous les nodes enfants des enfants
* @param nodstructure
* @param j
* @param compteurpage
* @param a
* @param nodstyle
* @param nodpage
* @param page
* @return
*/
private static boolean sautDePageParmiTousLesEnfants(node nodstructure, int j, int compteurpage,Run a, node nodstyle, ArrayList<node> nodpage, node page) {
if(nodstructure.getNodes().get(j).retourneEnfantsContainAttribut("text:style-name").size()>0) {
for(node n : nodstructure.getNodes().get(j).retourneEnfantsContainAttribut("text:style-name")) {
String nameStyle = n.getAttributs().get("text:style-name");
node nod2 = a.retourneFirstNodeByNameAttributValue(nodstyle.getNodes(), "style:style", "style:name", nameStyle);
if(nod2!=null) {
if(nod2.getAttributs().get("style:master-page-name")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","manuel");
p.getAttributs().put("index",String.valueOf(j));
p.getAttributs().put("style:master-page-name",nod2.getAttributs().get("style:master-page-name"));
p.getAttributs().put("style:name",nod2.getAttributs().get("style:name"));
node nod3 = a.retourneName(nod2.getNodes(), "style:paragraph-properties","fo:break-before");
if(nod3!=null) {
if(nod3.getAttributs().get("style:page-number")!=null) p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}else {
nod3 = nod2.retourneFirstEnfantsByName("style:paragraph-properties");
if(nod3!=null) if(nod3.getAttributs().get("style:page-number")!=null) {
p.getAttributs().put("style:page_number", nod3.getAttributs().get("style:page-number"));
}
}
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
return true;
}
if(a.retourneFirstNodeByNameAttributValue(nod2.getNodes(), "style:paragraph-properties","fo:break-before","page")!=null) {
node p = new node();
p.setNomElt("page");
p.getAttributs().put("numero", String.valueOf(compteurpage));
p.getAttributs().put("type","automatique");
p.getAttributs().put("index",String.valueOf(j));
p.getNodes().add(nodstructure.getNodes().get(j));
nodpage.add(p);
compteurpage++;
page = nodpage.get(nodpage.size()-1);
return true;
}
}
}
}
return false;
}
} }

View File

@ -1,6 +1,7 @@
package action; package action;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.Action; import javax.swing.Action;
@ -9,6 +10,7 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.KeyStroke;
import cXML.node; import cXML.node;
@ -19,8 +21,9 @@ public class actTitre1 extends AbstractAction{
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
putValue( Action.NAME, "Titre 1" ); putValue( Action.NAME, "Titre 1 (CTRL+1)" );
putValue( Action.SHORT_DESCRIPTION, "Titre 1" ); putValue( Action.SHORT_DESCRIPTION, "Titre 1" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_1, KeyEvent.CTRL_DOWN_MASK) );
} }
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {

View File

@ -1,6 +1,7 @@
package action; package action;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.Action; import javax.swing.Action;
@ -9,6 +10,7 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.KeyStroke;
import cXML.node; import cXML.node;
@ -19,8 +21,9 @@ public class actTitre2 extends AbstractAction{
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
putValue( Action.NAME, "Titre 2" ); putValue( Action.NAME, "Titre 2 (CTRL+2)" );
putValue( Action.SHORT_DESCRIPTION, "Titre 2" ); putValue( Action.SHORT_DESCRIPTION, "Titre 2" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_2, KeyEvent.CTRL_DOWN_MASK ) );
} }
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {

View File

@ -1,6 +1,7 @@
package action; package action;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction; import javax.swing.AbstractAction;
import javax.swing.Action; import javax.swing.Action;
@ -9,6 +10,7 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.KeyStroke;
import cXML.node; import cXML.node;
@ -19,8 +21,10 @@ public class actTitre3 extends AbstractAction{
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
{ {
putValue( Action.NAME, "Titre 3" ); putValue( Action.NAME, "Titre 3 (CTRL+3)" );
putValue( Action.SHORT_DESCRIPTION, "Titre 3" ); putValue( Action.SHORT_DESCRIPTION, "Titre 3" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_3, KeyEvent.CTRL_DOWN_MASK ) );
} }
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {

View File

@ -25,7 +25,7 @@ public class actUpNode extends AbstractAction{
{ {
putValue( Action.NAME, "Monter le node" ); putValue( Action.NAME, "Monter le node" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/upnodemini.png")) ); putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/upnodemini.png")) );
putValue( Action.SHORT_DESCRIPTION, "Monter le node (CTRL+SHIFT+C)" ); putValue( Action.SHORT_DESCRIPTION, "Monter le node (SHIFT+U)" );
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.SHIFT_DOWN_MASK) ); putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.SHIFT_DOWN_MASK) );
} }
@Override @Override

View File

@ -62,10 +62,13 @@ import action.actNodeFichier;
import action.actOpenBaseEvaluation; import action.actOpenBaseEvaluation;
import action.actSaveEvaluation; import action.actSaveEvaluation;
import action.actSetting; import action.actSetting;
import action.actTitre1;
import action.actTotalPoint; import action.actTotalPoint;
import action.actTotalPointNode; import action.actTotalPointNode;
import action.actTutoriels; import action.actTutoriels;
import action.actUpNode; import action.actUpNode;
import action.actTitre2;
import action.actTitre3;
import cXML.Run; import cXML.Run;
import cXML.node; import cXML.node;
import menucontextuel.CreatePopupMenu; import menucontextuel.CreatePopupMenu;
@ -348,8 +351,8 @@ public final class create extends JFrame {
//Menu arbre //Menu arbre
JMenu mnManageTree = new JMenu("Arbre"); JMenu mnManageTree = new JMenu("Arbre");
JMenuItem menuItem = mnManageTree.add(new actUpNode()); JMenuItem menuMoveUp = mnManageTree.add(new actUpNode());
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.SHIFT_DOWN_MASK)); menuMoveUp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.SHIFT_DOWN_MASK));
JMenuItem menuItem_2 = mnManageTree.add(new actDownNode()); JMenuItem menuItem_2 = mnManageTree.add(new actDownNode());
menuItem_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.SHIFT_DOWN_MASK)); menuItem_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.SHIFT_DOWN_MASK));
mnManageTree.addSeparator(); mnManageTree.addSeparator();
@ -369,7 +372,17 @@ public final class create extends JFrame {
mnEvaluer.add(new actEvalueTrue()); mnEvaluer.add(new actEvalueTrue());
mnEvaluer.add(new actEvalueFalse()); mnEvaluer.add(new actEvalueFalse());
mnNode.add(mnEvaluer); mnNode.add(mnEvaluer);
mnNode.addSeparator();
//Les titres pour la représentation
JMenu mnLesTitres= new JMenu("Les titres");
mnNode.add(mnLesTitres);
JMenuItem mnTitre1 = mnLesTitres.add(new actTitre1());
mnTitre1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, InputEvent.CTRL_DOWN_MASK));
JMenuItem mnTitre2 = mnLesTitres.add(new actTitre2());
mnTitre2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, InputEvent.CTRL_DOWN_MASK));
JMenuItem mnTitre3 = mnLesTitres.add(new actTitre3());
mnTitre3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, InputEvent.CTRL_DOWN_MASK));
// Définition du menu déroulant "Création évaluation" et de son contenu // Définition du menu déroulant "Création évaluation" et de son contenu

View File

@ -4,7 +4,6 @@ import java.awt.BorderLayout;
import java.awt.Color; import java.awt.Color;
import java.awt.Font; import java.awt.Font;
import java.awt.GridLayout; import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.InputEvent; import java.awt.event.InputEvent;
@ -51,7 +50,6 @@ import cXML.Run;
import cXML.node; import cXML.node;
import evaluer.evaluerLesFichiersEtudiants; import evaluer.evaluerLesFichiersEtudiants;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import javax.swing.JTabbedPane;
/** /**
* *
@ -1355,7 +1353,7 @@ private AbstractAction actOpen = new AbstractAction() {
String id = nodImportCSV.getAttributs().get("id"); String id = nodImportCSV.getAttributs().get("id");
String numStudent = JOptionPane.showInputDialog("<html><p>Quel est le numéro de l'étudiant ?</p></html>"); String numStudent = JOptionPane.showInputDialog("<html><p>Quel est le numéro de l'étudiant ?</p></html>");
node nodeStudent = meptl.modificationNodeStudent(name,firstname,email,id,numStudent); node nodeStudent = commandes.nodeCSV.retourneFirstNodeByNameAndAttributValueExactStrict("student", id, numStudent);
if(nodeStudent!=null) { if(nodeStudent!=null) {
txtpnmessages.setText("<html><h1>Etudiant trouvé</h1><hr><p>Nom : "+ nodeStudent.getAttributs().get(name) +"</p>" txtpnmessages.setText("<html><h1>Etudiant trouvé</h1><hr><p>Nom : "+ nodeStudent.getAttributs().get(name) +"</p>"
@ -1363,7 +1361,7 @@ private AbstractAction actOpen = new AbstractAction() {
+ "<p>Email : " + nodeStudent.getAttributs().get(email) +"</p>" + "<p>Email : " + nodeStudent.getAttributs().get(email) +"</p>"
+ "<p>Numéro étudiant : "+ nodeStudent.getAttributs().get(id) +"</p></html>"); + "<p>Numéro étudiant : "+ nodeStudent.getAttributs().get(id) +"</p></html>");
new modifStudent().setVisible(true); new modifStudent(nodeStudent, nodImportCSV).setVisible(true);
System.out.println( "etudiant trouvé." ); System.out.println( "etudiant trouvé." );
}else { }else {

View File

@ -5,10 +5,17 @@ import java.awt.EventQueue;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.border.EmptyBorder; import javax.swing.border.EmptyBorder;
import MEPTL.commandes;
import MEPTL.meptl;
import cXML.node;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.JLabel; import javax.swing.JLabel;
import java.awt.Font; import java.awt.Font;
import javax.swing.JButton; import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class modifStudent extends JFrame { public class modifStudent extends JFrame {
@ -19,8 +26,11 @@ public class modifStudent extends JFrame {
private JPanel contentPane; private JPanel contentPane;
private JTextField textFieldNom; private JTextField textFieldNom;
private JTextField textFieldPrenom; private JTextField textFieldPrenom;
private JTextField textField; private JTextField textFieldCourriel;
private JTextField textField_1; private JTextField textFieldId;
private JButton btnSupprimer;
private JButton btnModifier;
node nodeStudent = null;
/** /**
* Launch the application. * Launch the application.
@ -29,7 +39,7 @@ public class modifStudent extends JFrame {
EventQueue.invokeLater(new Runnable() { EventQueue.invokeLater(new Runnable() {
public void run() { public void run() {
try { try {
modifStudent frame = new modifStudent(); modifStudent frame = new modifStudent(null,null);
frame.setVisible(true); frame.setVisible(true);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -41,10 +51,16 @@ public class modifStudent extends JFrame {
/** /**
* Create the frame. * Create the frame.
*/ */
public modifStudent() { public modifStudent(node nodeStudent, node nodImportCSV) {
String name = nodImportCSV.getAttributs().get("name");
String email = nodImportCSV.getAttributs().get("email");
String firstname = nodImportCSV.getAttributs().get("firstname");
String id = nodImportCSV.getAttributs().get("id");
setResizable(false); setResizable(false);
setTitle("Modifier étudiant"); setTitle("Modifier étudiant");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300); setBounds(100, 100, 450, 300);
contentPane = new JPanel(); contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
@ -57,36 +73,38 @@ public class modifStudent extends JFrame {
lblNom.setBounds(10, 18, 75, 17); lblNom.setBounds(10, 18, 75, 17);
contentPane.add(lblNom); contentPane.add(lblNom);
textFieldNom = new JTextField(); textFieldNom = new JTextField();
textFieldNom.setFont(new Font("Tahoma", Font.BOLD, 16)); textFieldNom.setFont(new Font("Tahoma", Font.BOLD, 16));
textFieldNom.setBounds(112, 11, 312, 31); textFieldNom.setBounds(112, 11, 312, 31);
contentPane.add(textFieldNom); contentPane.add(textFieldNom);
textFieldNom.setColumns(10); textFieldNom.setColumns(10);
textFieldNom.setText(nodeStudent.getAttributs().get(name));
textFieldPrenom = new JTextField(); textFieldPrenom = new JTextField();
textFieldPrenom.setFont(new Font("Tahoma", Font.BOLD, 16)); textFieldPrenom.setFont(new Font("Tahoma", Font.BOLD, 16));
textFieldPrenom.setColumns(10); textFieldPrenom.setColumns(10);
textFieldPrenom.setBounds(112, 53, 312, 31); textFieldPrenom.setBounds(112, 53, 312, 31);
contentPane.add(textFieldPrenom); contentPane.add(textFieldPrenom);
textFieldPrenom.setText(nodeStudent.getAttributs().get(firstname));
JLabel lblPrenom = new JLabel("Prénom"); JLabel lblPrenom = new JLabel("Prénom");
lblPrenom.setFont(new Font("Tahoma", Font.BOLD, 16)); lblPrenom.setFont(new Font("Tahoma", Font.BOLD, 16));
lblPrenom.setBounds(10, 60, 75, 17); lblPrenom.setBounds(10, 60, 75, 17);
contentPane.add(lblPrenom); contentPane.add(lblPrenom);
textField = new JTextField(); textFieldCourriel = new JTextField();
textField.setFont(new Font("Tahoma", Font.BOLD, 16)); textFieldCourriel.setFont(new Font("Tahoma", Font.BOLD, 16));
textField.setColumns(10); textFieldCourriel.setColumns(10);
textField.setBounds(112, 95, 312, 31); textFieldCourriel.setBounds(112, 95, 312, 31);
contentPane.add(textField); contentPane.add(textFieldCourriel);
textFieldCourriel.setText(nodeStudent.getAttributs().get(email));
textField_1 = new JTextField(); textFieldId = new JTextField();
textField_1.setFont(new Font("Tahoma", Font.BOLD, 16)); textFieldId.setFont(new Font("Tahoma", Font.BOLD, 16));
textField_1.setColumns(10); textFieldId.setColumns(10);
textField_1.setBounds(112, 137, 312, 31); textFieldId.setBounds(112, 137, 312, 31);
contentPane.add(textField_1); contentPane.add(textFieldId);
textFieldId.setText(nodeStudent.getAttributs().get(id));
JLabel lblEmail = new JLabel("Courriel"); JLabel lblEmail = new JLabel("Courriel");
lblEmail.setFont(new Font("Tahoma", Font.BOLD, 16)); lblEmail.setFont(new Font("Tahoma", Font.BOLD, 16));
@ -98,9 +116,34 @@ public class modifStudent extends JFrame {
lblIdentifiant.setBounds(10, 144, 98, 17); lblIdentifiant.setBounds(10, 144, 98, 17);
contentPane.add(lblIdentifiant); contentPane.add(lblIdentifiant);
JButton btnNewButton = new JButton("Valide"); btnModifier = new JButton("Modifier");
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 16)); btnModifier.addActionListener(new ActionListener() {
btnNewButton.setBounds(278, 219, 146, 31); public void actionPerformed(ActionEvent e) {
contentPane.add(btnNewButton); nodeStudent.getAttributs().put(name, textFieldNom.getText());
nodeStudent.getAttributs().put(firstname, textFieldPrenom.getText());
nodeStudent.getAttributs().put(id, textFieldId.getText());
nodeStudent.getAttributs().put(email, textFieldCourriel.getText());
evaluate.getTxtpnmessages().setContentType("text/html");
evaluate.getTxtpnmessages().setText(meptl.afficheNodeCSV().toString());
dispose();
}
});
btnModifier.setFont(new Font("Tahoma", Font.BOLD, 16));
btnModifier.setBounds(247, 219, 177, 31);
contentPane.add(btnModifier);
btnSupprimer = new JButton("Supprimer");
btnSupprimer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
commandes.nodeCSV.supprimeNodeEnfant("student", id, nodeStudent.getAttributs().get(id));
evaluate.getTxtpnmessages().setContentType("text/html");
evaluate.getTxtpnmessages().setText("<html><h1>*** L'étudiant a été supprimé de la liste ***</h1></html>");
dispose();
}
});
btnSupprimer.setFont(new Font("Tahoma", Font.BOLD, 16));
btnSupprimer.setBounds(10, 219, 182, 31);
contentPane.add(btnSupprimer);
} }
} }