");
diff --git a/src/fenetres/allContent.java b/src/fenetres/allContent.java
index 1df6579..192932c 100644
--- a/src/fenetres/allContent.java
+++ b/src/fenetres/allContent.java
@@ -1,4 +1,4 @@
-package app;
+package fenetres;
import javax.swing.JFrame;
diff --git a/src/fenetres/attributs.java b/src/fenetres/attributs.java
index 2c9d7d5..a11c79e 100644
--- a/src/fenetres/attributs.java
+++ b/src/fenetres/attributs.java
@@ -1,4 +1,4 @@
-package app;
+package fenetres;
import java.awt.BorderLayout;
import java.awt.Component;
diff --git a/src/fenetres/baliseStyle.java b/src/fenetres/baliseStyle.java
index dc9e2ca..14316a3 100644
--- a/src/fenetres/baliseStyle.java
+++ b/src/fenetres/baliseStyle.java
@@ -1,4 +1,4 @@
-package app;
+package fenetres;
public class baliseStyle {
diff --git a/src/fenetres/create.java b/src/fenetres/create.java
index 5f7e27f..8edc5c9 100644
--- a/src/fenetres/create.java
+++ b/src/fenetres/create.java
@@ -1,16 +1,13 @@
-package app;
+package fenetres;
import java.awt.BorderLayout;
import java.awt.Color;
-import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
-import java.io.File;
-import java.io.IOException;
import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -18,7 +15,6 @@ import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JButton;
-import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
@@ -31,40 +27,109 @@ import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.KeyStroke;
import javax.swing.UnsupportedLookAndFeelException;
-import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
-import javax.xml.parsers.ParserConfigurationException;
-import org.xml.sax.SAXException;
import MEPTL.commandes;
import MEPTL.ecritureSujet;
-import MEPTL.meptl;
-import MEPTL.verificationFichierAnalyse;
import cXML.Run;
import cXML.node;
-import calcul.calculNombrePointEvaluation;
-import list.listeAttributsAnalyseWriter;
-import list.listeNodeFormatageDirectDeWriter;
-
-import java.awt.event.InputEvent;
+import fenetres.create_act.actAPropos;
+import fenetres.create_act.actAbout;
+import fenetres.create_act.actAddMenuFalse;
+import fenetres.create_act.actAddMenuTrue;
+import fenetres.create_act.actAfficheInformationFichierAnalyse;
+import fenetres.create_act.actAllContent;
+import fenetres.create_act.actAttribut;
+import fenetres.create_act.actCoefficient;
+import fenetres.create_act.actCollapseAll;
+import fenetres.create_act.actCollapseNode;
+import fenetres.create_act.actDeleteNode;
+import fenetres.create_act.actDocumentation;
+import fenetres.create_act.actDownNode;
+import fenetres.create_act.actEvalEnteteActive;
+import fenetres.create_act.actEvalEntetePasActive;
+import fenetres.create_act.actEvalInitialCreator;
+import fenetres.create_act.actEvalNameNodeNon;
+import fenetres.create_act.actEvalNameNodeOui;
+import fenetres.create_act.actEvalNamePageNon;
+import fenetres.create_act.actEvalNamePageOui;
+import fenetres.create_act.actEvalNameSequenceNon;
+import fenetres.create_act.actEvalNameSequenceOui;
+import fenetres.create_act.actEvalPiedPageActive;
+import fenetres.create_act.actEvalPiedPagePasActive;
+import fenetres.create_act.actEvalueFalse;
+import fenetres.create_act.actEvalueTrue;
+import fenetres.create_act.actEvaluer;
+import fenetres.create_act.actEvaluerStyleFalse;
+import fenetres.create_act.actEvaluerStyleTrue;
+import fenetres.create_act.actEvaluerTousEnfantsFalse;
+import fenetres.create_act.actEvaluerTousEnfantsTrue;
+import fenetres.create_act.actExit;
+import fenetres.create_act.actExpandAll;
+import fenetres.create_act.actExpandNode;
+import fenetres.create_act.actNewFichierAnalyse;
+import fenetres.create_act.actNodeFichier;
+import fenetres.create_act.actOpen;
+import fenetres.create_act.actRechercheAnchorPageNumberFalse;
+import fenetres.create_act.actRechercheAnchorPageNumberTrue;
+import fenetres.create_act.actRechercheContenuPlusProcheVoisinfalse;
+import fenetres.create_act.actRechercheContenuPlusProcheVoisintrue;
+import fenetres.create_act.actRechercheContenufalse;
+import fenetres.create_act.actRechercheContenutrue;
+import fenetres.create_act.actRechercheIndexfalse;
+import fenetres.create_act.actRechercheIndextrue;
+import fenetres.create_act.actSave;
+import fenetres.create_act.actSaveAs;
+import fenetres.create_act.actSetting;
+import fenetres.create_act.actSupprimeTitre;
+import fenetres.create_act.actTitre1;
+import fenetres.create_act.actTitre2;
+import fenetres.create_act.actTitre3;
+import fenetres.create_act.actTitrePrincipal;
+import fenetres.create_act.actTotalPoint;
+import fenetres.create_act.actTotalPointNode;
+import fenetres.create_act.actTousLesNodesEvaluer;
+import fenetres.create_act.actTutoriels;
+import fenetres.create_act.actUpNode;
+import fenetres.create_act.actevalNameCreator;
+import fenetres.create_act.actsautfalse;
+import fenetres.create_act.actsauttrue;
+import list.listeEvalNameNode;
+import list.listeRechercheParAnchorPageNumber;
import javax.swing.JToggleButton;
-import java.awt.event.ActionListener;
+import java.awt.GridLayout;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.ChangeEvent;
+import net.miginfocom.swing.MigLayout;
-public class create extends JFrame {
+
+public final class create extends JFrame {
private static final long serialVersionUID = 1L;
// les élément de create
- private JTree tree = new JTree();
- private afficheText textNodeSelect = new afficheText();
- private JToolBar toolBar_1;
+ private static JTree tree = new JTree();
+ private static DefaultMutableTreeNode selectNode;
+ private static afficheText textNodeSelect = new afficheText();
+ private JToolBar toolBarPrincipal;
+
+ private toolBarRecherche bRecherche;
+
+ private JCheckBoxMenuItem chckbxtoolBarRecherche;
+
private JMenuBar menuBar = new JMenuBar();
- JButton buttonEvaluate;
- TreePath cheminVersLeNode;
- JToggleButton tglbtnTousLesNodes;
+ private static JButton buttonEvaluate;
+
+ private static JToggleButton tglbtnTousLesNodes;
+
+ private JPanel panelPrincipal;
+ private JPanel panel;
+
+ private static create instance;
/**
* Create the application.
@@ -77,6 +142,15 @@ public class create extends JFrame {
}
setVisible(true);
}
+
+ public static create getInstance() {
+ if (instance == null) {
+ instance = new create();
+ }
+ instance.setVisible(true);
+ return instance;
+ }
+
/**
* Initialize the contents of the frame.
@@ -103,14 +177,15 @@ public class create extends JFrame {
// Ajoute le menu contextuel de la tree
tree.setComponentPopupMenu(null);
- // Construction et injection de la barre d'outils
- JPanel contentPane = (JPanel) getContentPane();
- this.createToolBar();
+ this.createToolBar();
+
+ panelPrincipal = new JPanel();
+ panelPrincipal.setLayout(new MigLayout("", "[100px:500px:1000px][100px:500px]", "[53:53:53][]"));
+ panelPrincipal.add(toolBarPrincipal, "cell 0 0,growx,aligny top");
+ getContentPane().add(panelPrincipal, BorderLayout.NORTH);
+
this.createPopupMenuTree(null);
- getContentPane().setLayout(new BorderLayout(2, 2));
- contentPane.add( toolBar_1, BorderLayout.NORTH );
-
-
+
// The content of the window
if(commandes.fichierAnalyseValide) tree = commandes.tree;
@@ -127,7 +202,14 @@ public class create extends JFrame {
tree.setFont(new Font("Tahoma", Font.PLAIN, 14));
getContentPane().add(splitPane, BorderLayout.CENTER);
-
+
+ panel = new JPanel();
+ getContentPane().add(panel, BorderLayout.WEST);
+ panel.setLayout(new GridLayout(0,2, 0, 0));
+
+ bRecherche = new toolBarRecherche();
+ panelPrincipal.add(bRecherche, "cell 0 1,alignx left,aligny top");
+
if(commandes.fichierAnalyseValide) constructionTree();
this.setExtendedState(MAXIMIZED_BOTH);
@@ -150,7 +232,7 @@ public class create extends JFrame {
@Override
public void mouseClicked(MouseEvent e) {
if(tree.getSelectionPath()!=null) {
- DefaultMutableTreeNode selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
+ selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
node nod = (node) selectNode.getUserObject();
createPopupMenuTree(nod);
textNodeSelect.refreshAffichage(nod);
@@ -172,6 +254,22 @@ public class create extends JFrame {
});
+ chckbxtoolBarRecherche.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent e) {
+ if(chckbxtoolBarRecherche.isSelected()) {
+// panelPrincipal.add(bRecherche);
+ panelPrincipal.add(bRecherche, "cell 0 1,alignx left,aligny top");
+ bRecherche.setVisible(true);
+ bRecherche.setEnabled(true);
+ }else {
+ bRecherche.setVisible(false);
+ bRecherche.setEnabled(false);
+ panelPrincipal.remove(bRecherche);
+ }
+ }
+ });
+
+
}
@@ -201,150 +299,133 @@ public class create extends JFrame {
//Menu Evaluer
JMenu mnEvaluer = new JMenu("Evaluer");
- mnEvaluer.add(actEvalueTrue);
- mnEvaluer.add(actEvalueFalse);
+ mnEvaluer.add(new actEvalueTrue());
+ mnEvaluer.add(new actEvalueFalse());
//Menu arbre
JMenu mnManageTree = new JMenu("Arbre");
- mnManageTree.add(actUpNode);
- mnManageTree.add(actDownNode);
+ mnManageTree.add(new actUpNode());
+ mnManageTree.add(new actDownNode());
mnManageTree.addSeparator();
- mnManageTree.add(actExpandAll);
- mnManageTree.add(actExpandNode);
+ mnManageTree.add(new actExpandAll());
+ mnManageTree.add(new actExpandNode());
mnManageTree.addSeparator();
- mnManageTree.add(actCollapseAll);
- mnManageTree.add(actCollapseNode);
+ mnManageTree.add(new actCollapseAll());
+ mnManageTree.add(new actCollapseNode());
//Menu Saut niveau >1
JMenu mnSaut = new JMenu("Saut de ligne avant");
mnSaut.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png")));
- mnSaut.add(actsauttrue);
- mnSaut.add(actsautfalse);
+ mnSaut.add(new actsauttrue());
+ mnSaut.add(new actsautfalse());
//Menu saut niveau = 1
//Menu Saut
JMenu mnSautNiveau1 = new JMenu("Saut de ligne avant");
mnSautNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png")));
- mnSautNiveau1.add(actsauttrue);
- mnSautNiveau1.add(actsautfalse);
+ mnSautNiveau1.add(new actsauttrue());
+ mnSautNiveau1.add(new actsautfalse());
//Menu Titre niveau > 1
JMenu mnTitre = new JMenu("Titre");
mnTitre.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png")));
- mnTitre.add(actTitrePrincipal);
- mnTitre.add(actTitre1);
- mnTitre.add(actTitre2);
- mnTitre.add(actTitre3);
+ mnTitre.add(new actTitrePrincipal());
+ mnTitre.add(new actTitre1());
+ mnTitre.add(new actTitre2());
+ mnTitre.add(new actTitre3());
mnTitre.addSeparator();
- mnTitre.add(actSupprimeTitre);
+ mnTitre.add(new actSupprimeTitre());
//Menu Titre niveau = 1
JMenu mnTitreNiveau1 = new JMenu("Titre");
mnTitreNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png")));
- mnTitreNiveau1.add(actTitrePrincipal);
- mnTitreNiveau1.add(actTitre1);
- mnTitreNiveau1.add(actTitre2);
- mnTitreNiveau1.add(actTitre3);
+ mnTitreNiveau1.add(new actTitrePrincipal());
+ mnTitreNiveau1.add(new actTitre1());
+ mnTitreNiveau1.add(new actTitre2());
+ mnTitreNiveau1.add(new actTitre3());
mnTitreNiveau1.addSeparator();
- mnTitreNiveau1.add(actSupprimeTitre);
+ mnTitreNiveau1.add(new actSupprimeTitre());
//Menu ajoute un lien de menu niveau 1
JMenu mnAddMenuNiveau1= new JMenu("Lien"); //addMenu
mnAddMenuNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/addmenumini.png")));
- mnAddMenuNiveau1.add(actAddMenuTrue);
- mnAddMenuNiveau1.add(actAddMenuFalse);
+ mnAddMenuNiveau1.add(new actAddMenuTrue());
+ mnAddMenuNiveau1.add(new actAddMenuFalse());
//Menu ajoute un lien de menu niveau sup 1
JMenu mnAddMenuNiveauSup1= new JMenu("Lien"); //addMenu
mnAddMenuNiveauSup1.setIcon( new ImageIcon(create.class.getResource("/resources/addmenumini.png")));
- mnAddMenuNiveauSup1.add(actAddMenuTrue);
- mnAddMenuNiveauSup1.add(actAddMenuFalse);
+ mnAddMenuNiveauSup1.add(new actAddMenuTrue());
+ mnAddMenuNiveauSup1.add(new actAddMenuFalse());
//Menu recherche par l'index
JMenu mnRechercheIndex = new JMenu("Recherche par l'index");
mnRechercheIndex.setIcon(new ImageIcon(create.class.getResource("/resources/rechercheindexmini.png")));
- mnRechercheIndex.add(actRechercheIndextrue) ;
+ mnRechercheIndex.add( new actRechercheIndextrue()) ;
mnRechercheIndex.addSeparator();
- mnRechercheIndex.add(actRechercheIndexfalse);
+ mnRechercheIndex.add(new actRechercheIndexfalse());
//Menu recherche par le contenu Exact
JMenu mnRechercheContenu = new JMenu("Recherche par le contenu exact");
mnRechercheContenu.setIcon(new ImageIcon(create.class.getResource("/resources/recherchecontenumini.png")));
- mnRechercheContenu.add(actRechercheContenutrue);
+ mnRechercheContenu.add( new actRechercheContenutrue());
mnRechercheContenu.addSeparator();
- mnRechercheContenu.add(actRechercheContenufalse);
+ mnRechercheContenu.add( new actRechercheContenufalse());
//Menu recherche par le contenu plus proche voisin
JMenu mnRechercheContenuPlusProcheVoisin = new JMenu("Recherche par le plus proche voisin");
- mnRechercheContenuPlusProcheVoisin.setIcon(new ImageIcon(create.class.getResource("/resources/recherchecontenuplusprochevoisin.png")));
- mnRechercheContenuPlusProcheVoisin.add(actRechercheContenuPlusProcheVoisintrue);
+ mnRechercheContenuPlusProcheVoisin.setIcon(new ImageIcon(create.class.getResource("/resources/recherchecontenuplusprochevoisinmini.png")));
+ mnRechercheContenuPlusProcheVoisin.add( new actRechercheContenuPlusProcheVoisintrue());
mnRechercheContenuPlusProcheVoisin.addSeparator();
- mnRechercheContenuPlusProcheVoisin.add(actRechercheContenuPlusProcheVoisinfalse);
+ mnRechercheContenuPlusProcheVoisin.add(new actRechercheContenuPlusProcheVoisinfalse());
//Menu analyseStyle (évaluer le style du paragraphe)
JMenu mnAnalyseStyle = new JMenu("Evaluer le style");
mnAnalyseStyle.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerstylemini.png")));
- mnAnalyseStyle.add(actEvaluerStyleTrue);
+ mnAnalyseStyle.add(new actEvaluerStyleTrue());
mnAnalyseStyle.addSeparator();
- mnAnalyseStyle.add(actEvaluerStyleFalse);
+ mnAnalyseStyle.add( new actEvaluerStyleFalse());
//Menu evalEntetePasActive (pour les style:header-style)
JMenu mnevalEntetePasActive = new JMenu("Entête pas activé");
mnevalEntetePasActive.setIcon(new ImageIcon(create.class.getResource("/resources/entetenonmini.png")));
- mnevalEntetePasActive.add(actEvalEntetePasActive);
- mnevalEntetePasActive.add(actEvalEnteteActive);
+ mnevalEntetePasActive.add(new actEvalEntetePasActive());
+ mnevalEntetePasActive.add(new actEvalEnteteActive());
//Menu evalPiedPagePasActive (pour les style:footer-style)
JMenu mnEvalPiedPagePasActive = new JMenu("Pied page pas activé");
mnEvalPiedPagePasActive.setIcon(new ImageIcon(create.class.getResource("/resources/piedpagenonmini.png")));
- mnEvalPiedPagePasActive.add(actEvalPiedPagePasActive);
- mnEvalPiedPagePasActive.add(actEvalPiedPageActive);
+ mnEvalPiedPagePasActive.add(new actEvalPiedPagePasActive());
+ mnEvalPiedPagePasActive.add(new actEvalPiedPageActive());
//Menu Evaluer présence d'un node pour les nodes de niveau > 1
JMenu mnEvalNameNode = new JMenu("Evaluer la présence du node");
mnEvalNameNode.setIcon(new ImageIcon(create.class.getResource("/resources/evalnodemini.png")));
- mnEvalNameNode.add(actEvalNameNodeOui);
- mnEvalNameNode.add(actEvalNameNodeNon);
+ mnEvalNameNode.add(new actEvalNameNodeOui());
+ mnEvalNameNode.add(new actEvalNameNodeNon());
//Menu evalNameSequence (pour les text:sequence-decl)
JMenu mnEvalNameSequence = new JMenu("Evaluer le nom de la séquence");
mnEvalNameSequence.setIcon(new ImageIcon(create.class.getResource("/resources/evalnamesequencemini.png")));
- mnEvalNameSequence.add(actEvalNameSequenceOui);
- mnEvalNameSequence.add(actEvalNameSequenceNon);
+ mnEvalNameSequence.add(new actEvalNameSequenceOui());
+ mnEvalNameSequence.add(new actEvalNameSequenceNon());
//Menu evalNamePage (pour les page)
JMenu mnEvalNamePage = new JMenu("Evaluer le nom de la page");
mnEvalNamePage.setIcon(new ImageIcon(create.class.getResource("/resources/evalnamepagemini.png")));
- mnEvalNamePage.add(actEvalNamePageOui);
- mnEvalNamePage.add(actEvalNamePageNon);
+ mnEvalNamePage.add(new actEvalNamePageOui());
+ mnEvalNamePage.add(new actEvalNamePageNon());
//Menue Recherche par le numéro de la page ancrer
JMenu mnRechercheParNumeroPageAncrer = new JMenu("Recherche par le numéro de la page");
mnRechercheParNumeroPageAncrer.setIcon(new ImageIcon(create.class.getResource("/resources/rechercheancragepagemini.png")));
- mnRechercheParNumeroPageAncrer.add( actRechercheAnchorPageNumberTrue);
+ mnRechercheParNumeroPageAncrer.add( new actRechercheAnchorPageNumberTrue());
mnRechercheParNumeroPageAncrer.addSeparator();
- mnRechercheParNumeroPageAncrer.add( actRechercheAnchorPageNumberFalse);
+ mnRechercheParNumeroPageAncrer.add( new actRechercheAnchorPageNumberFalse());
- //***************************
- //** Menu node niveau = 1 ***
- //***************************
- JMenu mnNiveau1 = new JMenu("Attributs aW, niveau 1 ");
- mnNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/attributanalysewritermini.png")));
- mnNiveau1.add(actCoefficient);
- mnNiveau1.addSeparator();
- mnNiveau1.add(mnSautNiveau1);
- mnNiveau1.addSeparator();
- mnNiveau1.add(mnTitreNiveau1);
- mnNiveau1.addSeparator();
- mnNiveau1.add(mnAddMenuNiveau1);
-
- //***************************
- //** Menu node niveau > 1 ***
- //***************************
- JMenu mnNiveauSup1 = new JMenu("Attributs aW, niveau " + String.valueOf(nod.getLevel() + " ") );
- mnNiveauSup1.setIcon( new ImageIcon(create.class.getResource("/resources/attributanalysewritermini.png")));
+ //Menu Représentation dans le feedback
JMenu mnPourFeedback = new JMenu("Pour représentation feedback");
mnPourFeedback.add(mnSaut);
if(!nodeFormatageDirectePasDeTitrePasAddMenu) {
@@ -353,51 +434,28 @@ public class create extends JFrame {
mnPourFeedback.addSeparator();
mnPourFeedback.add(mnAddMenuNiveauSup1);
}
- mnNiveauSup1.add(mnPourFeedback);
- if(!nod.getNomElt().equals("page")) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnEvalNameNode);
- }
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(actAllContent);
- if(nod.getNomElt().equals("meta:initial-creator")) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(actEvalInitialCreator);
- }
- if(nod.getNomElt().equals("dc:creator")) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(actevalNameCreator);
- }
- if(ecritureSujet.listeDesNodesByRecherche(nod.getNomElt())) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnRechercheIndex);
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnRechercheContenu);
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnRechercheContenuPlusProcheVoisin);
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnAnalyseStyle);
- }
- if(ecritureSujet.listeDesRechercheAnchorPageNumber(nod.getNomElt())) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnRechercheParNumeroPageAncrer);
- }
- if(nod.getNomElt().equals("style:header-style")) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnevalEntetePasActive);
- }
- if(nod.getNomElt().equals("style:footer-style")) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnEvalPiedPagePasActive);
- }
- if(nod.getNomElt().equals("text:sequence-decl")) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnEvalNameSequence);
- }
- if(nod.getNomElt().equals("page")) {
- mnNiveauSup1.addSeparator();
- mnNiveauSup1.add(mnEvalNamePage);
- }
+
+
+ //***************************
+ //** Menu node niveau = 1 ***
+ //***************************
+ JMenu mnNiveau1 = new JMenu("Attributs aW, niveau 1 ");
+ mnNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/attributanalysewritermini.png")));
+ mnNiveau1.add(new actCoefficient());
+ mnNiveau1.addSeparator();
+ mnNiveau1.add(mnSautNiveau1);
+ mnNiveau1.addSeparator();
+ mnNiveau1.add(mnTitreNiveau1);
+ mnNiveau1.addSeparator();
+ mnNiveau1.add(mnAddMenuNiveau1);
+
+
+
+
+
+
+
+
//**Menu setting
@@ -408,38 +466,85 @@ public class create extends JFrame {
mnSetting.add("text:similarity");
mnSetting.add("translation");
-
- //La popupMenu qui s'affiche sur le tree
+ //*********************************************
+ //** La popupMenu qui s'affiche sur le tree ***
+ //*********************************************
JPopupMenu mnPopupTree = new JPopupMenu();
if(!nodeSetting) {
mnPopupTree.add(mnEvaluer);
}
- if(nod.getLevel()==1 && !nodeSetting) {
+ if(nod.getLevel()==1 ) {
mnPopupTree.addSeparator();
mnPopupTree.add(mnNiveau1);
}
- if(nod.getLevel()>1 && !nodeSetting) {
+
+ //Pour les nodes de niveau supérieur à 1
+ if(nod.getLevel()>1 ) {
mnPopupTree.addSeparator();
- mnPopupTree.add(mnNiveauSup1);
+ mnPopupTree.add(mnPourFeedback);
+ if(listeEvalNameNode.isNodeEvalNameNode(nod)) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnEvalNameNode);
+ }
+ if(nod.retourneLesContenusEnfants("").length()>0) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(new actAllContent());
+ }
+ if(nod.getNomElt().equals("meta:initial-creator")) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(new actEvalInitialCreator());
+ }
+ if(nod.getNomElt().equals("dc:creator")) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(new actevalNameCreator());
+ }
+ if(ecritureSujet.listeDesNodesByRecherche(nod.getNomElt())) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnRechercheIndex);
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnRechercheContenu);
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnRechercheContenuPlusProcheVoisin);
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnAnalyseStyle);
+ }
+ if(listeRechercheParAnchorPageNumber.isRechercheParAnchorPageNumber(nod)) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnRechercheParNumeroPageAncrer);
+ }
+ if(nod.getNomElt().equals("style:header-style")) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnevalEntetePasActive);
+ }
+ if(nod.getNomElt().equals("style:footer-style")) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnEvalPiedPagePasActive);
+ }
+ if(nod.getNomElt().equals("text:sequence-decl")) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnEvalNameSequence);
+ }
+ if(nod.getNomElt().equals("page")) {
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(mnEvalNamePage);
+ }
mnPopupTree.addSeparator();
- mnPopupTree.add(actAttribut);
- }
- if(nodeSetting) {
- mnPopupTree.add(mnSetting);
+ mnPopupTree.add(new actAttribut());
}
+
+
mnPopupTree.addSeparator();
mnPopupTree.add(mnManageTree);
- if(!nodeSetting) {
- mnPopupTree.addSeparator();
- mnPopupTree.add(actDeleteNode);
- }
+ mnPopupTree.addSeparator();
+ mnPopupTree.add(new actDeleteNode());
+
tree.setComponentPopupMenu(mnPopupTree);
}
}
-
+
/* Methode de construction de la barre de menu */
private JMenuBar createMenuBar() {
@@ -452,13 +557,13 @@ public class create extends JFrame {
mnuFile.setMnemonic( 'F' );
/*JMenuItem mnuNewFile =*/
- mnuFile.add( actOpen );
- mnuFile.add( actNewFichierAnalyse );
+ mnuFile.add( new actOpen() );
+ mnuFile.add( new actNewFichierAnalyse() );
mnuFile.addSeparator();
- mnuFile.add( actSave );
- mnuFile.add( actSaveAs );
+ mnuFile.add( new actSave() );
+ mnuFile.add( new actSaveAs() );
mnuFile.addSeparator();
- mnuFile.add( actExit );
+ mnuFile.add( new actExit() );
menuBar.add(mnuFile);
@@ -475,29 +580,36 @@ public class create extends JFrame {
menuBar.add(mnuEdit);
+ JMenu mnAffiche = new JMenu("Affichage");
+ menuBar.add(mnAffiche);
+
+ chckbxtoolBarRecherche = new JCheckBoxMenuItem("Barre outils recherche node");
+ chckbxtoolBarRecherche.setSelected(true);
+ mnAffiche.add(chckbxtoolBarRecherche);
+
// Définition du menu Node
JMenu mnNode = new JMenu("Modifier");
- mnNode.add( actNodeFichier );
+ mnNode.add( new actNodeFichier() );
mnNode.addSeparator();
menuBar.add(mnNode);
//Menu arbre
JMenu mnManageTree = new JMenu("Arbre");
- mnManageTree.add(actUpNode);
- mnManageTree.add(actDownNode);
+ mnManageTree.add(new actUpNode());
+ mnManageTree.add(new actDownNode());
mnManageTree.addSeparator();
- mnManageTree.add(actExpandAll);
- mnManageTree.add(actExpandNode);
+ mnManageTree.add(new actExpandAll());
+ mnManageTree.add(new actExpandNode());
mnManageTree.addSeparator();
- mnManageTree.add(actCollapseAll);
- mnManageTree.add(actCollapseNode);
+ mnManageTree.add(new actCollapseAll());
+ mnManageTree.add(new actCollapseNode());
mnNode.add(mnManageTree);
mnNode.addSeparator();
//Définition Evaluer
JMenu mnEvaluer = new JMenu("Evaluer");
- mnEvaluer.add(actEvalueTrue);
- mnEvaluer.add(actEvalueFalse);
+ mnEvaluer.add(new actEvalueTrue());
+ mnEvaluer.add(new actEvalueFalse());
mnNode.add(mnEvaluer);
@@ -505,7 +617,7 @@ public class create extends JFrame {
// Définition du menu déroulant "Création évaluation" et de son contenu
JMenu mnuExercice = new JMenu( "Création évaluation" );
mnuExercice.setMnemonic( 'N' );
- mnuExercice.add(actEvaluer);
+ mnuExercice.add(new actEvaluer());
menuBar.add(mnuExercice);
@@ -513,8 +625,8 @@ public class create extends JFrame {
JMenu mnuHelp = new JMenu( "Aide" );
mnuHelp.setMnemonic( 'H' );
- mnuHelp.add( actAPropos);
- mnuHelp.add( actDocumentation);
+ mnuHelp.add( new actAPropos());
+ mnuHelp.add( new actDocumentation());
menuBar.add( mnuHelp );
@@ -523,449 +635,116 @@ public class create extends JFrame {
/* Methode de construction de la barre d'outils */
private void createToolBar() {
- toolBar_1 = new JToolBar();
+ toolBarPrincipal = new JToolBar();
+ toolBarPrincipal.setRollover(true);
- JButton buttonLoadFile = toolBar_1.add( actOpen );
+ toolBarPrincipal.setName("outils principaux");
+
+ JButton buttonLoadFile = toolBarPrincipal.add( new actOpen() );
buttonLoadFile.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyse.png")));
buttonLoadFile.setHideActionText(true);
- toolBar_1.add(buttonLoadFile);
+ toolBarPrincipal.add(buttonLoadFile);
- JButton btnNewFichierAnalyse = toolBar_1.add( actNewFichierAnalyse );
+ JButton btnNewFichierAnalyse = toolBarPrincipal.add( new actNewFichierAnalyse() );
btnNewFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierODF.png")));
btnNewFichierAnalyse.setHideActionText(true);
- toolBar_1.add(btnNewFichierAnalyse);
+ toolBarPrincipal.add(btnNewFichierAnalyse);
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
- buttonEvaluate = toolBar_1.add( actEvaluer );
- buttonEvaluate.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- }
- });
+ buttonEvaluate = toolBarPrincipal.add( new actEvaluer() );
buttonEvaluate.setIcon(new ImageIcon(create.class.getResource("/resources/evaluate.png")));
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
- JButton btnAfficheInformationFichierAnalyse = toolBar_1.add( actAfficheInformationFichierAnalyse );
+ JButton btnAfficheInformationFichierAnalyse = toolBarPrincipal.add( new actAfficheInformationFichierAnalyse() );
btnAfficheInformationFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyseInfo.png")));
btnAfficheInformationFichierAnalyse.setHideActionText(true);
- toolBar_1.add(btnAfficheInformationFichierAnalyse);
+ toolBarPrincipal.add(btnAfficheInformationFichierAnalyse);
- JButton btnNodeFichier = toolBar_1.add( actNodeFichier );
+ JButton btnNodeFichier = toolBarPrincipal.add( new actNodeFichier() );
btnNodeFichier.setIcon(new ImageIcon(create.class.getResource("/resources/nodeFichier.png")));
btnNodeFichier.setHideActionText(true);
- toolBar_1.add(btnNodeFichier);
+ toolBarPrincipal.add(btnNodeFichier);
- JButton btnSetting = toolBar_1.add( actSetting);
+ JButton btnSetting = toolBarPrincipal.add( new actSetting());
btnSetting.setIcon(new ImageIcon(create.class.getResource("/resources/setting.png")));
- toolBar_1.add(btnSetting);
+ toolBarPrincipal.add(btnSetting);
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
- JButton btnEvaluerTrue = toolBar_1.add( actEvalueTrue );
+ JButton btnEvaluerTrue = toolBarPrincipal.add( new actEvalueTrue() );
btnEvaluerTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertrue.png")));
btnEvaluerTrue.setHideActionText(true);
- toolBar_1.add(btnEvaluerTrue);
+ toolBarPrincipal.add(btnEvaluerTrue);
- JButton btnEvaluerFalse = toolBar_1.add( actEvalueFalse );
+ JButton btnEvaluerFalse = toolBarPrincipal.add(new actEvalueFalse() );
btnEvaluerFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerfalse.png")));
btnEvaluerFalse.setHideActionText(true);
- toolBar_1.add(btnEvaluerFalse);
+ toolBarPrincipal.add(btnEvaluerFalse);
- JButton btnEvaluerTouteLaBrancheEtLesEnfantTrue = toolBar_1.add( actEvaluerTousEnfantsTrue );
+ JButton btnEvaluerTouteLaBrancheEtLesEnfantTrue = toolBarPrincipal.add( new actEvaluerTousEnfantsTrue() );
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfants.png")));
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true);
- toolBar_1.add(btnEvaluerTouteLaBrancheEtLesEnfantTrue);
+ toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantTrue);
- JButton btnEvaluerTouteLaBrancheEtLesEnfantFalse = toolBar_1.add( actEvaluerTousEnfantsFalse );
+ JButton btnEvaluerTouteLaBrancheEtLesEnfantFalse = toolBarPrincipal.add( new actEvaluerTousEnfantsFalse() );
btnEvaluerTouteLaBrancheEtLesEnfantFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfantsfaux.png")));
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true);
- toolBar_1.add(btnEvaluerTouteLaBrancheEtLesEnfantFalse);
+ toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantFalse);
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
- JButton btnAttribut = new JButton(actAttribut);
+ JButton btnAttribut = new JButton(new actAttribut());
btnAttribut.setText("");
btnAttribut.setIcon(new ImageIcon(create.class.getResource("/resources/attribut.png")));
- toolBar_1.add(btnAttribut);
+ toolBarPrincipal.add(btnAttribut);
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
- JButton btnTotalPoint = new JButton(actTotalPoint);
+ JButton btnTotalPoint = new JButton(new actTotalPoint());
btnTotalPoint.setToolTipText("Nombre de point total dans l'exercice.");
btnTotalPoint.setText("");
btnTotalPoint.setIcon(new ImageIcon(create.class.getResource("/resources/totalpoint.png")));
- toolBar_1.add(btnTotalPoint);
+ toolBarPrincipal.add(btnTotalPoint);
- JButton btnTotalPointNode = toolBar_1.add( actTotalPointNode );
+ JButton btnTotalPointNode = toolBarPrincipal.add( new actTotalPointNode() );
btnTotalPointNode.setIcon(new ImageIcon(create.class.getResource("/resources/totalpointnode.png")));
btnTotalPointNode.setHideActionText(true);
- toolBar_1.add(btnTotalPointNode);
+ toolBarPrincipal.add(btnTotalPointNode);
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
tglbtnTousLesNodes = new JToggleButton("");
- tglbtnTousLesNodes.setAction(actTousLesNodesEvaluer);
+ tglbtnTousLesNodes.setAction(new actTousLesNodesEvaluer());
tglbtnTousLesNodes.setIcon(new ImageIcon(create.class.getResource("/resources/lesnodesevaluer.png")));
- toolBar_1.add(tglbtnTousLesNodes);
+ toolBarPrincipal.add(tglbtnTousLesNodes);
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
- JButton btnAbout = toolBar_1.add( actAbout );
+ JButton btnAbout = toolBarPrincipal.add( new actAbout() );
btnAbout.setIcon(new ImageIcon(create.class.getResource("/resources/apropos.png")));
btnAbout.setHideActionText( true );
- toolBar_1.add(btnAbout);
+ toolBarPrincipal.add(btnAbout);
- JButton btnNewButton = toolBar_1.add(actTutoriels);
+ JButton btnNewButton = toolBarPrincipal.add( new actTutoriels());
btnNewButton.setIcon(new ImageIcon(create.class.getResource("/resources/tutoriel.png")));
btnNewButton.setHideActionText(true);
- toolBar_1.add(btnNewButton);
+ toolBarPrincipal.add(btnNewButton);
- toolBar_1.addSeparator();
+ toolBarPrincipal.addSeparator();
- JButton button_2 = toolBar_1.add( actExit );
- button_2.setHideActionText( true );
+ JButton buttonExit = toolBarPrincipal.add( new actExit() );
+ buttonExit.setHideActionText( true );
}
-
-
- /**
- * Ouvre et affiche le fichier d'analyse
- */
- private AbstractAction actOpen = new AbstractAction() {
-
- private static final long serialVersionUID = 1L;
-
- {
- putValue( Action.NAME, "Ouvrir un fichier d'analyse" );
- putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/fichierAnalysemini.png")) );
- putValue( Action.MNEMONIC_KEY, KeyEvent.VK_O );
- putValue( Action.SHORT_DESCRIPTION, "Ouvrir un nouveau fichier d'analyse (CTRL+O)" );
- putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK) );
- }
-
- @Override public void actionPerformed( ActionEvent e ) {
- new filechooserXML();
- if(commandes.fichierAnalyseValide) {
- constructionTree();
- textNodeSelect.afficheChargementFichierAnalyse();
- }else {
- constructionTree();
- textNodeSelect.setContentType("text/plain");
- textNodeSelect.setText(commandes.message.toString());
- }
- System.out.println( "Open" );
- }
- };
-
-
- /**
- * Affiche le tree contenant tous les nodes
- */
- private AbstractAction actTousLesNodesEvaluer = new AbstractAction() {
- private static final long serialVersionUID = 1L;
- {
- putValue( Action.NAME, "" );
- putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/touslesnodesmini.png")) );
- putValue( Action.SHORT_DESCRIPTION, "Affiche tous les nodes" );
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- if(tglbtnTousLesNodes.isSelected()) {
- try {
- commandes.sujetSauvegarde = commandes.sujet.clone();
- commandes.sujet.supprimeTousLesNodesEvaluerFalseOuNull();
- commandes.fichierAnalyseValide=false;
- textNodeSelect.setContentType("text/html");
- textNodeSelect.setText("
Affiche uniquement les nodes évalués par l'application.
"
- + "
Le chemin vers chaque node évalué est constitué de node évalué. "
- + "Si vous enregistrez maintenant, vous enregistrez le fichier d'analyse avec uniquement les nodes évalués.
Erreur la valeur doit être un nombre entier. L'attribut n'a pas été modifiée.
");
+ }
+ }
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvalueFalse.java b/src/fenetres/create_act/actEvalueFalse.java
new file mode 100644
index 0000000..410d0c3
--- /dev/null
+++ b/src/fenetres/create_act/actEvalueFalse.java
@@ -0,0 +1,33 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.KeyStroke;
+
+import cXML.node;
+import fenetres.create;
+
+public class actEvalueFalse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.ALT_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK));
+ putValue( Action.NAME, "Evaluer false" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evaluerfalsemini.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Ne pas évaluer ce node par l'application." );
+ }
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.evaluerFalse();
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvalueTrue.java b/src/fenetres/create_act/actEvalueTrue.java
new file mode 100644
index 0000000..c49a241
--- /dev/null
+++ b/src/fenetres/create_act/actEvalueTrue.java
@@ -0,0 +1,37 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.KeyStroke;
+
+import cXML.node;
+import fenetres.create;
+
+public class actEvalueTrue extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.ALT_DOWN_MASK));
+ putValue( Action.NAME, "Evaluer true" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evaluertruemini.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Evaluer ce node par l'application" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.evaluerTrue();
+ if(nod.getLevel()==1) {
+ nod.addMenu(true);
+ }
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvaluer.java b/src/fenetres/create_act/actEvaluer.java
new file mode 100644
index 0000000..6063a49
--- /dev/null
+++ b/src/fenetres/create_act/actEvaluer.java
@@ -0,0 +1,33 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.KeyStroke;
+
+import fenetres.create;
+import fenetres.evaluate;
+
+public class actEvaluer extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Evaluer" );
+ putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/evaluate.png") ) );
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_E );
+ putValue( Action.SHORT_DESCRIPTION, "Evaluer un node (CTRL+E)" );
+ putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, KeyEvent.CTRL_DOWN_MASK) );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ new evaluate();
+ create.getInstance().dispose();
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvaluerStyleFalse.java b/src/fenetres/create_act/actEvaluerStyleFalse.java
new file mode 100644
index 0000000..77d4291
--- /dev/null
+++ b/src/fenetres/create_act/actEvaluerStyleFalse.java
@@ -0,0 +1,43 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import MEPTL.commandes;
+import cXML.node;
+import list.listeNodeFormatageDirectDeWriter;
+
+public class actEvaluerStyleFalse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "N'évaluer pas le style." );
+ putValue( Action.SHORT_DESCRIPTION, "N'évaluer pas le style:name de ce node dans le fichier de l'étudiant" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("analyseStyle", "false");
+
+ //***************************************************************************************************************
+ //** Place l'attribut EvaluerATraversAnalyseStyle=false au style qui doit être évaluer à travers d'analyseStyle **
+ //** S'il y a des attributs évaluer avec ‼ alors change par ‽ **
+ //***************************************************************************************************************
+ node nodStyle = commandes.sujet.retourneFirstNodeByNameAndAttributValueExactStrict("style:style", "style:name", nod.getAttributs().get("text:style-name"));
+ if(nodStyle!=null) {
+ nodStyle.getAttributs().put("EvaluerATraversAnalyseStyle", "false");
+ nodStyle.evaluerAllChildFalse();
+ if(!listeNodeFormatageDirectDeWriter.isFormatageDirect(nodStyle)) {
+ nodStyle.changeLesCodesEvaluateursVersCodeEvaluateurDirect();
+ }
+ }
+
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvaluerStyleTrue.java b/src/fenetres/create_act/actEvaluerStyleTrue.java
new file mode 100644
index 0000000..da6acaa
--- /dev/null
+++ b/src/fenetres/create_act/actEvaluerStyleTrue.java
@@ -0,0 +1,40 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import MEPTL.commandes;
+import cXML.node;
+
+public class actEvaluerStyleTrue extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Evaluer le style." );
+ putValue( Action.SHORT_DESCRIPTION, "Evaluer le style:name de ce node dans le fichier de l'étudiant" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("analyseStyle", "true");
+
+ //***************************************************************************************************************
+ //** Place l'attribut EvaluerATraversAnalyseStyle=true au style qui doit être évaluer à travers d'analyseStyle **
+ //** S'il y a des attributs évaluer avec ‽ alors change par ‼ **
+ //***************************************************************************************************************
+ node nodStyle = commandes.sujet.retourneFirstNodeByNameAndAttributValueExactStrict("style:style", "style:name", nod.getAttributs().get("text:style-name"));
+ if(nodStyle!=null) {
+ nodStyle.getAttributs().put("EvaluerATraversAnalyseStyle", "true");
+ nodStyle.evaluerTrue();
+ nodStyle.changeLesCodesEvaluateursVersCodeATraversAnalyseStyle();
+ }
+
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvaluerTousEnfantsFalse.java b/src/fenetres/create_act/actEvaluerTousEnfantsFalse.java
new file mode 100644
index 0000000..b82ab64
--- /dev/null
+++ b/src/fenetres/create_act/actEvaluerTousEnfantsFalse.java
@@ -0,0 +1,33 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import cXML.node;
+import fenetres.create;
+
+public class actEvaluerTousEnfantsFalse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Evaluer toute la branche" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evaluertouslesenfantsmini.png")) );
+ putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/evaluertouslesenfants.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Evaluer toute la branche de la racine à la feuille." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ if(!nod.getNomElt().equals("fichier")) {
+ nod.evaluerAllChildFalse();
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+ }
+
+}
diff --git a/src/fenetres/create_act/actEvaluerTousEnfantsTrue.java b/src/fenetres/create_act/actEvaluerTousEnfantsTrue.java
new file mode 100644
index 0000000..b3b4d53
--- /dev/null
+++ b/src/fenetres/create_act/actEvaluerTousEnfantsTrue.java
@@ -0,0 +1,33 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import cXML.node;
+import fenetres.create;
+
+public class actEvaluerTousEnfantsTrue extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Evaluer toute la branche" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evaluertouslesenfantsmini.png")) );
+ putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/evaluertouslesenfants.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Evaluer toute la branche de la racine à la feuille." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ if(!nod.getNomElt().equals("fichier")) {
+ nod.evaluerAllChildTrue();
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+ }
+
+}
diff --git a/src/fenetres/create_act/actExit.java b/src/fenetres/create_act/actExit.java
new file mode 100644
index 0000000..29e621b
--- /dev/null
+++ b/src/fenetres/create_act/actExit.java
@@ -0,0 +1,38 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JOptionPane;
+import javax.swing.KeyStroke;
+
+import fenetres.create;
+
+public class actExit extends AbstractAction {
+
+ {
+ putValue( Action.NAME, "Quitter" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/exitmini.png")) );
+ putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/exit.png")) );
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_Q );
+ putValue( Action.SHORT_DESCRIPTION, "Quitter (CRTL+Q)" );
+ putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK ) );
+ }
+
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
+ create.getInstance().dispose();
+ }
+ }
+
+}
diff --git a/src/fenetres/create_act/actExpandAll.java b/src/fenetres/create_act/actExpandAll.java
new file mode 100644
index 0000000..469da96
--- /dev/null
+++ b/src/fenetres/create_act/actExpandAll.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import fenetres.create;
+
+public class actExpandAll extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Tout étendre" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/expandallmini.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Tout étendre" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ fenetres.create.expandAll();
+ }
+
+}
diff --git a/src/fenetres/create_act/actExpandNode.java b/src/fenetres/create_act/actExpandNode.java
new file mode 100644
index 0000000..c759685
--- /dev/null
+++ b/src/fenetres/create_act/actExpandNode.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import fenetres.create;
+
+public class actExpandNode extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Etendre ce node" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/expandnodemini.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Etendre ce node" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ fenetres.create.expandNode(fenetres.create.getSelectNode());
+ }
+
+}
diff --git a/src/fenetres/create_act/actNewFichierAnalyse.java b/src/fenetres/create_act/actNewFichierAnalyse.java
new file mode 100644
index 0000000..5141dc0
--- /dev/null
+++ b/src/fenetres/create_act/actNewFichierAnalyse.java
@@ -0,0 +1,99 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.io.IOException;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JFileChooser;
+import javax.swing.KeyStroke;
+import javax.swing.filechooser.FileNameExtensionFilter;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.xml.sax.SAXException;
+
+import MEPTL.commandes;
+import MEPTL.ecritureSujet;
+import MEPTL.meptl;
+import MEPTL.verificationFichierAnalyse;
+import cXML.Run;
+import fenetres.evaluate;
+
+public class actNewFichierAnalyse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue(Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierODF.png")));
+ putValue( Action.NAME, "Génère un nouveau fichier d'analyse" );
+ putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierODFmini.png")) );
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_N );
+ putValue( Action.SHORT_DESCRIPTION, "Générer un nouveau fichier d'analyse (CTRL+N)" );
+ putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK) );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ JFileChooser chooser = new JFileChooser();
+ chooser.setDialogTitle("Choisir un fichier ODF");
+
+ chooser.setCurrentDirectory(new java.io.File(commandes.path));
+ chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
+ FileNameExtensionFilter filter = new FileNameExtensionFilter("Format ODF", "odt");
+ chooser.setFileFilter(filter);
+ chooser.setAcceptAllFileFilterUsed(true);
+
+ if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
+ System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
+ System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath());
+
+ commandes.path = chooser.getCurrentDirectory().getAbsolutePath();
+ commandes.PathFilenameAnalysis = chooser.getCurrentDirectory().getAbsolutePath();
+ String cheminVersFichier = chooser.getSelectedFile().getAbsolutePath();
+ commandes.nameSujet = chooser.getSelectedFile().getName();
+
+ Run b = null;
+ try {
+ b = new Run(cheminVersFichier);
+ commandes.sujet = Run.XMLContent(b.getLectDossiers().getEC().getListeContentWriter().get(0));
+
+ commandes.sujet = meptl.LectureFichierEtudiantSousFormeDeNode(commandes.sujet,b,0);
+ commandes.sujet.getAttributs().put("analysis_filename","sujet.xml");
+
+ commandes.sujet = ecritureSujet.nodePourEcritureSujet(commandes.sujet,b,0);
+
+ commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-start");
+ commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change-end");
+ commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
+ commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change");
+
+ commandes.sujetSauvegarde = commandes.sujet.clone();
+
+ new verificationFichierAnalyse();
+
+
+ if(commandes.fichierAnalyseValide) {
+ fenetres.create.constructionTree();
+ fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse();
+ }else {
+ fenetres.create.getTextNodeSelect().setText("
Le fichier n'est pas valise
");
+ }
+
+ } catch (ParserConfigurationException | SAXException | IOException | CloneNotSupportedException e1) {
+ e1.printStackTrace();
+ }
+
+ } else {
+ fenetres.create.getTextNodeSelect().refreshAffichage(null);
+ }
+
+
+ commandes.ecritCode = true;
+
+ }
+
+}
diff --git a/src/fenetres/create_act/actNodeFichier.java b/src/fenetres/create_act/actNodeFichier.java
new file mode 100644
index 0000000..16658ac
--- /dev/null
+++ b/src/fenetres/create_act/actNodeFichier.java
@@ -0,0 +1,30 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import fenetres.create;
+import fenetres.proprieteFichierAnalyse;
+
+public class actNodeFichier extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Modifier les paramètres de l'évaluation" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/nodeFichiermini.png")) );
+ putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/nodeFichier.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Modifier les paramètres de l'évaluation" );
+
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ proprieteFichierAnalyse.getInstance();
+ }
+
+}
diff --git a/src/fenetres/create_act/actOpen.java b/src/fenetres/create_act/actOpen.java
new file mode 100644
index 0000000..21d40d4
--- /dev/null
+++ b/src/fenetres/create_act/actOpen.java
@@ -0,0 +1,42 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.KeyStroke;
+
+import MEPTL.commandes;
+import fenetres.create;
+import fenetres.filechooserXML;
+
+public class actOpen extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Ouvrir un fichier d'analyse" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/fichierAnalysemini.png")) );
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_O );
+ putValue( Action.SHORT_DESCRIPTION, "Ouvrir un nouveau fichier d'analyse (CTRL+O)" );
+ putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK) );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ new filechooserXML();
+ if(commandes.fichierAnalyseValide) {
+ fenetres.create.constructionTree();
+ fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse();
+ }else {
+ fenetres.create.constructionTree();
+ fenetres.create.getTextNodeSelect().setContentType("text/plain");
+ fenetres.create.getTextNodeSelect().setText(commandes.message.toString());
+ }
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheAnchorPageNumberFalse.java b/src/fenetres/create_act/actRechercheAnchorPageNumberFalse.java
new file mode 100644
index 0000000..1d66db5
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheAnchorPageNumberFalse.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheAnchorPageNumberFalse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "false" );
+ putValue( Action.SHORT_DESCRIPTION, "Ne recherche pas l'image par le numéro de la page." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_anchor-page-number", "false");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheAnchorPageNumberTrue.java b/src/fenetres/create_act/actRechercheAnchorPageNumberTrue.java
new file mode 100644
index 0000000..cde03ae
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheAnchorPageNumberTrue.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheAnchorPageNumberTrue extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "true" );
+ putValue( Action.SHORT_DESCRIPTION, "Recherche l'image par le numéro de la page dans le node dans le fichier de l'étudiant." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_anchor-page-number", "true");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheContenuPlusProcheVoisinfalse.java b/src/fenetres/create_act/actRechercheContenuPlusProcheVoisinfalse.java
new file mode 100644
index 0000000..b8c046e
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheContenuPlusProcheVoisinfalse.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheContenuPlusProcheVoisinfalse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Plus proche voisin : false" );
+ putValue( Action.SHORT_DESCRIPTION, "Ne recherche pas par le contenu du plus proche voisin." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_contenu_plus_proche_voisin", "false");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheContenuPlusProcheVoisintrue.java b/src/fenetres/create_act/actRechercheContenuPlusProcheVoisintrue.java
new file mode 100644
index 0000000..af29362
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheContenuPlusProcheVoisintrue.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheContenuPlusProcheVoisintrue extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "true" );
+ putValue( Action.SHORT_DESCRIPTION, "Recherche par le contenu du plus proche voisin." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_contenu_plus_proche_voisin", "true");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheContenufalse.java b/src/fenetres/create_act/actRechercheContenufalse.java
new file mode 100644
index 0000000..014e96d
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheContenufalse.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheContenufalse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "false" );
+ putValue( Action.SHORT_DESCRIPTION, "Ne recherche pas par le contenu exact le node dans le fichier de l'étudiant." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_contenu_exact", "false");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheContenutrue.java b/src/fenetres/create_act/actRechercheContenutrue.java
new file mode 100644
index 0000000..76c25f8
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheContenutrue.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheContenutrue extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Recherche par le contenu du node : true" );
+ putValue( Action.SHORT_DESCRIPTION, "Recherche par le contenu le node dans le fichier de l'étudiant." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_contenu_exact", "true");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheIndexfalse.java b/src/fenetres/create_act/actRechercheIndexfalse.java
new file mode 100644
index 0000000..cead908
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheIndexfalse.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheIndexfalse extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Ne recherche par l'index du node : false" );
+ putValue( Action.SHORT_DESCRIPTION, "Ne recherche pas par l'index le node dans le fichier de l'étudiant." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_index", "false");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actRechercheIndextrue.java b/src/fenetres/create_act/actRechercheIndextrue.java
new file mode 100644
index 0000000..6287d3b
--- /dev/null
+++ b/src/fenetres/create_act/actRechercheIndextrue.java
@@ -0,0 +1,27 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actRechercheIndextrue extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Recherche par l'index du node : true" );
+ putValue( Action.SHORT_DESCRIPTION, "Recherche par index le node dans le fichier de l'étudiant." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ nod.getAttributs().put("recherche_index", "true");
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actSave.java b/src/fenetres/create_act/actSave.java
new file mode 100644
index 0000000..81f0c94
--- /dev/null
+++ b/src/fenetres/create_act/actSave.java
@@ -0,0 +1,70 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JOptionPane;
+import javax.swing.KeyStroke;
+
+import MEPTL.commandes;
+import MEPTL.verificationFichierAnalyse;
+import cXML.Run;
+
+public class actSave extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Enregister" );
+ putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/save.png")) );
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_S );
+ putValue( Action.SHORT_DESCRIPTION, "Enregistrer (CTRL+S)" );
+ putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_DOWN_MASK ) );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Pattern p = Pattern.compile("[.xml]\\b");
+ Matcher m = p.matcher(commandes.nameSujet);
+
+ String message="";
+
+ if(m.find()) {
+ message="\"Voulez-vous enregistrer le fichier \"" + commandes.nameSujet + "\"\n"
+ + "Dans le dossier " + commandes.PathFilenameAnalysis;
+ }else {
+ message="\"Voulez-vous enregistrer le fichier \"" + commandes.nameSujet + ".xml\"\n"
+ + "Dans le dossier " + commandes.PathFilenameAnalysis;
+ commandes.nameSujet = commandes.nameSujet + ".xml";
+ }
+
+ int input = JOptionPane.showConfirmDialog(null, message);
+
+ if(input==0) {
+ try {
+ verificationFichierAnalyse.MiseAJourHashNomFichierAnalyse(commandes.nameSujet);
+ Run.ecritureNodeEnXML(commandes.sujet, commandes.nameSujet ,commandes.PathFilenameAnalysis,"sujet");
+
+ if(m.find()) {
+ fenetres.create.getTextNodeSelect().setText("Le fichier \"" + commandes.nameSujet + " a été réenregistré.\n\n"
+ + "Il se trouve dans le dossier " + commandes.PathFilenameAnalysis);
+ }else {
+ fenetres.create.getTextNodeSelect().setText("Le fichier \"" + commandes.nameSujet + ".xml\" a été réenregistré.\n\n"
+ + "Il se trouve dans le dossier " + commandes.PathFilenameAnalysis);
+ }
+
+ System.out.println( input + "Save" );
+ } catch (IOException | CloneNotSupportedException e1) {
+ e1.printStackTrace();
+ }
+ }
+ }
+
+}
diff --git a/src/fenetres/create_act/actSaveAs.java b/src/fenetres/create_act/actSaveAs.java
new file mode 100644
index 0000000..c63b48a
--- /dev/null
+++ b/src/fenetres/create_act/actSaveAs.java
@@ -0,0 +1,81 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.io.File;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+import javax.swing.JFileChooser;
+
+import MEPTL.commandes;
+import MEPTL.verificationFichierAnalyse;
+import cXML.Run;
+
+public class actSaveAs extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Enregistrer sous..." );
+ putValue( Action.SMALL_ICON, new ImageIcon(getClass().getResource("/save_as.png") ));
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_A );
+ putValue( Action.SHORT_DESCRIPTION, "Enregistrer sous..." );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ JFileChooser fileChooser = new JFileChooser();
+ fileChooser.setDialogTitle("Enregistrer sous...");
+ File file = null;
+
+ if(!commandes.nameSujet.isEmpty()) {
+ file = new File(commandes.PathFilenameAnalysis ); //+ "\\" + utils.filename + ".xml"
+ }
+
+
+
+ fileChooser.setCurrentDirectory(file);
+
+ int userSelection = fileChooser.showSaveDialog(null);
+
+ if (userSelection == JFileChooser.APPROVE_OPTION) {
+ File fileToSave = fileChooser.getSelectedFile();
+ try {
+
+ verificationFichierAnalyse.MiseAJourHashNomFichierAnalyse(fileToSave.getName());
+
+
+ Run.ecritureNodeEnXML(commandes.sujet, fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")),"sujet" );
+
+ commandes.nameSujet = fileToSave.getName();
+ commandes.PathFilenameAnalysis = fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\"));
+
+ Pattern p = Pattern.compile("[.xml]\\b");
+ Matcher m = p.matcher(commandes.nameSujet);
+
+ if(m.find()) {
+ file = new File(commandes.PathFilenameAnalysis + "\\" + commandes.nameSujet);
+ fenetres.create.getTextNodeSelect().setText("Le fichier \"" + commandes.nameSujet + " a été renregistré.\n\nIl se trouve dans le dossier " + commandes.PathFilenameAnalysis);
+ }else {
+ file = new File(commandes.PathFilenameAnalysis + "\\" + commandes.nameSujet + ".xml");
+ fenetres.create.getTextNodeSelect().setText("Le fichier \"" + commandes.nameSujet + ".xml\" a été renregistré.\n\nIl se trouve dans le dossier " + commandes.PathFilenameAnalysis);
+ }
+
+
+ } catch (IOException e1) {
+ e1.printStackTrace();
+ } catch (CloneNotSupportedException e1) {
+ e1.printStackTrace();
+ }
+ System.out.println("Save as file: " + fileToSave.getAbsolutePath());
+ }
+ System.out.println( "Save as" );
+ }
+
+}
diff --git a/src/fenetres/create_act/actSetting.java b/src/fenetres/create_act/actSetting.java
new file mode 100644
index 0000000..58f116b
--- /dev/null
+++ b/src/fenetres/create_act/actSetting.java
@@ -0,0 +1,30 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import fenetres.create;
+import fenetres.setting;
+
+public class actSetting extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Settings" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/settingmini.png")) );
+ putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/setting.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Modifier les paramètres" );
+
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ setting.getInstance();
+ }
+
+}
diff --git a/src/fenetres/create_act/actSupprimeTitre.java b/src/fenetres/create_act/actSupprimeTitre.java
new file mode 100644
index 0000000..663a6ab
--- /dev/null
+++ b/src/fenetres/create_act/actSupprimeTitre.java
@@ -0,0 +1,38 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+
+import cXML.node;
+
+public class actSupprimeTitre extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Supprimer le titre" );
+ putValue( Action.SHORT_DESCRIPTION, "Supprime le titre" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ if(nod.getAttributs().get("titre")!=null) {
+ nod.supprimeAttribut("titre");
+ }
+ if(nod.getAttributs().get("titre1")!=null) {
+ nod.supprimeAttribut("titre1");
+ }
+ if(nod.getAttributs().get("titre2")!=null) {
+ nod.supprimeAttribut("titre2");
+ }
+ if(nod.getAttributs().get("titre3")!=null) {
+ nod.supprimeAttribut("titre3");
+ }
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actTitre1.java b/src/fenetres/create_act/actTitre1.java
new file mode 100644
index 0000000..dfbf27d
--- /dev/null
+++ b/src/fenetres/create_act/actTitre1.java
@@ -0,0 +1,34 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JOptionPane;
+
+import cXML.node;
+
+public class actTitre1 extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Titre 1" );
+ putValue( Action.SHORT_DESCRIPTION, "Titre 1" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ String titre = "";
+ if(nod.getAttributs().get("titre1")!=null) {
+ titre = nod.getAttributs().get("titre1");
+ }
+
+ String a = JOptionPane.showInputDialog(null,"Quel est le titre?",titre);
+ nod.titre1(a);
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actTitre2.java b/src/fenetres/create_act/actTitre2.java
new file mode 100644
index 0000000..24c72e2
--- /dev/null
+++ b/src/fenetres/create_act/actTitre2.java
@@ -0,0 +1,34 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JOptionPane;
+
+import cXML.node;
+
+public class actTitre2 extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Titre 2" );
+ putValue( Action.SHORT_DESCRIPTION, "Titre 2" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ String titre = "";
+ if(nod.getAttributs().get("titre2")!=null) {
+ titre = nod.getAttributs().get("titre2");
+ }
+
+ String a = JOptionPane.showInputDialog(null,"Quel est le titre?",titre);
+ nod.titre2(a);
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actTitre3.java b/src/fenetres/create_act/actTitre3.java
new file mode 100644
index 0000000..92772f8
--- /dev/null
+++ b/src/fenetres/create_act/actTitre3.java
@@ -0,0 +1,34 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JOptionPane;
+
+import cXML.node;
+
+public class actTitre3 extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Titre 3" );
+ putValue( Action.SHORT_DESCRIPTION, "Titre 3" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ String titre = "";
+ if(nod.getAttributs().get("titre3")!=null) {
+ titre = nod.getAttributs().get("titre3");
+ }
+
+ String a = JOptionPane.showInputDialog(null,"Quel est le titre?",titre);
+ nod.titre3(a);
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actTitrePrincipal.java b/src/fenetres/create_act/actTitrePrincipal.java
new file mode 100644
index 0000000..dcdfe95
--- /dev/null
+++ b/src/fenetres/create_act/actTitrePrincipal.java
@@ -0,0 +1,34 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JOptionPane;
+
+import cXML.node;
+
+public class actTitrePrincipal extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Titre principal" );
+ putValue( Action.SHORT_DESCRIPTION, "Titre principal" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ String titre = "";
+ if(nod.getAttributs().get("titre")!=null) {
+ titre = nod.getAttributs().get("titre");
+ }
+
+ String a = JOptionPane.showInputDialog(null,"Quel est le titre?",titre);
+ nod.titre(a);
+ fenetres.create.getTextNodeSelect().refreshAffichage(nod);
+ }
+
+}
diff --git a/src/fenetres/create_act/actTotalPoint.java b/src/fenetres/create_act/actTotalPoint.java
new file mode 100644
index 0000000..e8ff444
--- /dev/null
+++ b/src/fenetres/create_act/actTotalPoint.java
@@ -0,0 +1,29 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import calcul.calculNombrePointEvaluation;
+import fenetres.create;
+
+public class actTotalPoint extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Nombre de point" );
+ putValue( Action.SHORT_DESCRIPTION, "Nombre de point total dans l'exercice" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/totalpointmini.png")) );
+ putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/totalpoint.png")) );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ fenetres.create.getTextNodeSelect().afficheListeDesPointsDansToutExercice(calculNombrePointEvaluation.calculPointDansToutExercice());
+ }
+
+}
diff --git a/src/fenetres/create_act/actTotalPointNode.java b/src/fenetres/create_act/actTotalPointNode.java
new file mode 100644
index 0000000..98b0098
--- /dev/null
+++ b/src/fenetres/create_act/actTotalPointNode.java
@@ -0,0 +1,31 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import cXML.node;
+import calcul.calculNombrePointEvaluation;
+import fenetres.create;
+
+public class actTotalPointNode extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "Nombre de point" );
+ putValue( Action.SHORT_DESCRIPTION, "Nombre de point brut dans le node" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/totalpointnodemini.png")) );
+ putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/totalpointnode.png")) );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ fenetres.create.getTextNodeSelect().AfficheTotalPoint(nod,calculNombrePointEvaluation.calculNombreDepoint(nod,0));
+ }
+
+}
diff --git a/src/fenetres/create_act/actTousLesNodesEvaluer.java b/src/fenetres/create_act/actTousLesNodesEvaluer.java
new file mode 100644
index 0000000..604a5fd
--- /dev/null
+++ b/src/fenetres/create_act/actTousLesNodesEvaluer.java
@@ -0,0 +1,53 @@
+package fenetres.create_act;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ImageIcon;
+
+import MEPTL.commandes;
+import fenetres.create;
+
+public class actTousLesNodesEvaluer extends AbstractAction{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ {
+ putValue( Action.NAME, "" );
+ putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/touslesnodesmini.png")) );
+ putValue( Action.SHORT_DESCRIPTION, "Affiche tous les nodes" );
+ }
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if(fenetres.create.getTglbtnTousLesNodes().isSelected()) {
+ try {
+ commandes.sujetSauvegarde = commandes.sujet.clone();
+ commandes.sujet.supprimeTousLesNodesEvaluerFalseOuNull();
+ commandes.fichierAnalyseValide=false;
+ fenetres.create.getTextNodeSelect().setContentType("text/html");
+ fenetres.create.getTextNodeSelect().setText("
Affiche uniquement les nodes évalués par l'application.
"
+ + "
Le chemin vers chaque node évalué est constitué de node évalué. "
+ + "Si vous enregistrez maintenant, vous enregistrez le fichier d'analyse avec uniquement les nodes évalués.