" + (i+1)
+ + " | " + commandes.nodeCSV.getNodes().get(i).getAttributs().get(firstname)
+ " | " + commandes.nodeCSV.getNodes().get(i).getAttributs().get(name)
+ " | " + commandes.nodeCSV.getNodes().get(i).getAttributs().get(nameid)
+ " | " + 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
* @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 nodpage, node page) {
+
+ if(nodstructure.getNodes().get(j).retourneEnfantsByNameExist("text:soft-page-break") ) { //&& !nodstructure.getNodes().get(j).getNomElt().equals("text:table-of-content")
+ ArrayList 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 , et ***
+ //****************************************************************************************
+ /**
+ * 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 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 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 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 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;
+ }
+
}
diff --git a/src/action/actTitre1.java b/src/action/actTitre1.java
index 345bc1b..a1ff168 100644
--- a/src/action/actTitre1.java
+++ b/src/action/actTitre1.java
@@ -1,6 +1,7 @@
package action;
import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
@@ -9,6 +10,7 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
+import javax.swing.KeyStroke;
import cXML.node;
@@ -19,8 +21,9 @@ public class actTitre1 extends AbstractAction{
*/
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.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_1, KeyEvent.CTRL_DOWN_MASK) );
}
@Override
public void actionPerformed(ActionEvent e) {
diff --git a/src/action/actTitre2.java b/src/action/actTitre2.java
index 6899ad7..3da0c6d 100644
--- a/src/action/actTitre2.java
+++ b/src/action/actTitre2.java
@@ -1,6 +1,7 @@
package action;
import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
@@ -9,6 +10,7 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
+import javax.swing.KeyStroke;
import cXML.node;
@@ -19,8 +21,9 @@ public class actTitre2 extends AbstractAction{
*/
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.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_2, KeyEvent.CTRL_DOWN_MASK ) );
}
@Override
public void actionPerformed(ActionEvent e) {
diff --git a/src/action/actTitre3.java b/src/action/actTitre3.java
index e07ac56..02c7d08 100644
--- a/src/action/actTitre3.java
+++ b/src/action/actTitre3.java
@@ -1,6 +1,7 @@
package action;
import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
@@ -9,6 +10,7 @@ import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
+import javax.swing.KeyStroke;
import cXML.node;
@@ -19,8 +21,10 @@ public class actTitre3 extends AbstractAction{
*/
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.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_3, KeyEvent.CTRL_DOWN_MASK ) );
+
}
@Override
public void actionPerformed(ActionEvent e) {
diff --git a/src/action/actUpNode.java b/src/action/actUpNode.java
index 3badc35..98c2117 100644
--- a/src/action/actUpNode.java
+++ b/src/action/actUpNode.java
@@ -25,7 +25,7 @@ public class actUpNode extends AbstractAction{
{
putValue( Action.NAME, "Monter le node" );
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) );
}
@Override
diff --git a/src/fenetres/create.java b/src/fenetres/create.java
index 327699a..7453c66 100644
--- a/src/fenetres/create.java
+++ b/src/fenetres/create.java
@@ -62,10 +62,13 @@ import action.actNodeFichier;
import action.actOpenBaseEvaluation;
import action.actSaveEvaluation;
import action.actSetting;
+import action.actTitre1;
import action.actTotalPoint;
import action.actTotalPointNode;
import action.actTutoriels;
import action.actUpNode;
+import action.actTitre2;
+import action.actTitre3;
import cXML.Run;
import cXML.node;
import menucontextuel.CreatePopupMenu;
@@ -348,8 +351,8 @@ public final class create extends JFrame {
//Menu arbre
JMenu mnManageTree = new JMenu("Arbre");
- JMenuItem menuItem = mnManageTree.add(new actUpNode());
- menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.SHIFT_DOWN_MASK));
+ JMenuItem menuMoveUp = mnManageTree.add(new actUpNode());
+ menuMoveUp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.SHIFT_DOWN_MASK));
JMenuItem menuItem_2 = mnManageTree.add(new actDownNode());
menuItem_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.SHIFT_DOWN_MASK));
mnManageTree.addSeparator();
@@ -369,7 +372,17 @@ public final class create extends JFrame {
mnEvaluer.add(new actEvalueTrue());
mnEvaluer.add(new actEvalueFalse());
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
diff --git a/src/fenetres/evaluate.java b/src/fenetres/evaluate.java
index 746d308..386febb 100644
--- a/src/fenetres/evaluate.java
+++ b/src/fenetres/evaluate.java
@@ -4,7 +4,6 @@ import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
-import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
@@ -51,7 +50,6 @@ import cXML.Run;
import cXML.node;
import evaluer.evaluerLesFichiersEtudiants;
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 numStudent = JOptionPane.showInputDialog(" Quel est le numéro de l'étudiant ? ");
- node nodeStudent = meptl.modificationNodeStudent(name,firstname,email,id,numStudent);
+ node nodeStudent = commandes.nodeCSV.retourneFirstNodeByNameAndAttributValueExactStrict("student", id, numStudent);
if(nodeStudent!=null) {
txtpnmessages.setText("Etudiant trouvé
Nom : "+ nodeStudent.getAttributs().get(name) +" "
@@ -1363,7 +1361,7 @@ private AbstractAction actOpen = new AbstractAction() {
+ "Email : " + nodeStudent.getAttributs().get(email) +" "
+ "Numéro étudiant : "+ nodeStudent.getAttributs().get(id) +" ");
- new modifStudent().setVisible(true);
+ new modifStudent(nodeStudent, nodImportCSV).setVisible(true);
System.out.println( "etudiant trouvé." );
}else {
diff --git a/src/fenetres/modifStudent.java b/src/fenetres/modifStudent.java
index fed1b00..1636beb 100644
--- a/src/fenetres/modifStudent.java
+++ b/src/fenetres/modifStudent.java
@@ -5,10 +5,17 @@ import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
+
+import MEPTL.commandes;
+import MEPTL.meptl;
+import cXML.node;
+
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JButton;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
public class modifStudent extends JFrame {
@@ -19,8 +26,11 @@ public class modifStudent extends JFrame {
private JPanel contentPane;
private JTextField textFieldNom;
private JTextField textFieldPrenom;
- private JTextField textField;
- private JTextField textField_1;
+ private JTextField textFieldCourriel;
+ private JTextField textFieldId;
+ private JButton btnSupprimer;
+ private JButton btnModifier;
+ node nodeStudent = null;
/**
* Launch the application.
@@ -29,7 +39,7 @@ public class modifStudent extends JFrame {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
- modifStudent frame = new modifStudent();
+ modifStudent frame = new modifStudent(null,null);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
@@ -41,10 +51,16 @@ public class modifStudent extends JFrame {
/**
* 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);
setTitle("Modifier étudiant");
- setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
@@ -57,36 +73,38 @@ public class modifStudent extends JFrame {
lblNom.setBounds(10, 18, 75, 17);
contentPane.add(lblNom);
-
-
textFieldNom = new JTextField();
textFieldNom.setFont(new Font("Tahoma", Font.BOLD, 16));
textFieldNom.setBounds(112, 11, 312, 31);
contentPane.add(textFieldNom);
textFieldNom.setColumns(10);
+ textFieldNom.setText(nodeStudent.getAttributs().get(name));
textFieldPrenom = new JTextField();
textFieldPrenom.setFont(new Font("Tahoma", Font.BOLD, 16));
textFieldPrenom.setColumns(10);
textFieldPrenom.setBounds(112, 53, 312, 31);
contentPane.add(textFieldPrenom);
+ textFieldPrenom.setText(nodeStudent.getAttributs().get(firstname));
JLabel lblPrenom = new JLabel("Prénom");
lblPrenom.setFont(new Font("Tahoma", Font.BOLD, 16));
lblPrenom.setBounds(10, 60, 75, 17);
contentPane.add(lblPrenom);
- textField = new JTextField();
- textField.setFont(new Font("Tahoma", Font.BOLD, 16));
- textField.setColumns(10);
- textField.setBounds(112, 95, 312, 31);
- contentPane.add(textField);
+ textFieldCourriel = new JTextField();
+ textFieldCourriel.setFont(new Font("Tahoma", Font.BOLD, 16));
+ textFieldCourriel.setColumns(10);
+ textFieldCourriel.setBounds(112, 95, 312, 31);
+ contentPane.add(textFieldCourriel);
+ textFieldCourriel.setText(nodeStudent.getAttributs().get(email));
- textField_1 = new JTextField();
- textField_1.setFont(new Font("Tahoma", Font.BOLD, 16));
- textField_1.setColumns(10);
- textField_1.setBounds(112, 137, 312, 31);
- contentPane.add(textField_1);
+ textFieldId = new JTextField();
+ textFieldId.setFont(new Font("Tahoma", Font.BOLD, 16));
+ textFieldId.setColumns(10);
+ textFieldId.setBounds(112, 137, 312, 31);
+ contentPane.add(textFieldId);
+ textFieldId.setText(nodeStudent.getAttributs().get(id));
JLabel lblEmail = new JLabel("Courriel");
lblEmail.setFont(new Font("Tahoma", Font.BOLD, 16));
@@ -98,9 +116,34 @@ public class modifStudent extends JFrame {
lblIdentifiant.setBounds(10, 144, 98, 17);
contentPane.add(lblIdentifiant);
- JButton btnNewButton = new JButton("Valide");
- btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 16));
- btnNewButton.setBounds(278, 219, 146, 31);
- contentPane.add(btnNewButton);
+ btnModifier = new JButton("Modifier");
+ btnModifier.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ 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("*** L'étudiant a été supprimé de la liste ***");
+ dispose();
+ }
+ });
+ btnSupprimer.setFont(new Font("Tahoma", Font.BOLD, 16));
+ btnSupprimer.setBounds(10, 219, 182, 31);
+ contentPane.add(btnSupprimer);
}
}
|