diff --git a/analyseWriter.jar b/analyseWriter.jar
index fd51137..bc6775d 100644
Binary files a/analyseWriter.jar and b/analyseWriter.jar differ
diff --git a/bin/.gitignore b/bin/.gitignore
index 75cdbd6..f13ae4e 100644
--- a/bin/.gitignore
+++ b/bin/.gitignore
@@ -1,2 +1 @@
/app/
-/resources/
diff --git a/bin/app/about$1.class b/bin/app/about$1.class
index b84c663..93451be 100644
Binary files a/bin/app/about$1.class and b/bin/app/about$1.class differ
diff --git a/bin/app/about.class b/bin/app/about.class
index 2db717d..ab7f68f 100644
Binary files a/bin/app/about.class and b/bin/app/about.class differ
diff --git a/bin/app/evaluate$1.class b/bin/app/evaluate$1.class
index 7b7c3de..16a00d3 100644
Binary files a/bin/app/evaluate$1.class and b/bin/app/evaluate$1.class differ
diff --git a/bin/app/evaluate$2.class b/bin/app/evaluate$2.class
index 5d5a70a..940c81b 100644
Binary files a/bin/app/evaluate$2.class and b/bin/app/evaluate$2.class differ
diff --git a/bin/app/evaluate.class b/bin/app/evaluate.class
index 4c38959..b898509 100644
Binary files a/bin/app/evaluate.class and b/bin/app/evaluate.class differ
diff --git a/bin/app/filechooserXML.class b/bin/app/filechooserXML.class
index 845877a..a4f23db 100644
Binary files a/bin/app/filechooserXML.class and b/bin/app/filechooserXML.class differ
diff --git a/bin/app/mainApp$1.class b/bin/app/mainApp$1.class
index 23437ff..2b5da31 100644
Binary files a/bin/app/mainApp$1.class and b/bin/app/mainApp$1.class differ
diff --git a/bin/app/mainApp.class b/bin/app/mainApp.class
index e1dcb60..7b430ec 100644
Binary files a/bin/app/mainApp.class and b/bin/app/mainApp.class differ
diff --git a/bin/resources/documentation.pdf b/bin/resources/documentation.pdf
new file mode 100644
index 0000000..6ab34c2
Binary files /dev/null and b/bin/resources/documentation.pdf differ
diff --git a/bin/resources/documentation.png b/bin/resources/documentation.png
new file mode 100644
index 0000000..9b7ccd1
Binary files /dev/null and b/bin/resources/documentation.png differ
diff --git a/bin/resources/fichierCSVInfoXML.png b/bin/resources/fichierCSVInfoXML.png
new file mode 100644
index 0000000..566c86d
Binary files /dev/null and b/bin/resources/fichierCSVInfoXML.png differ
diff --git a/documentation analyseWriter.pdf b/documentation analyseWriter.pdf
index 6ab34c2..abba187 100644
Binary files a/documentation analyseWriter.pdf and b/documentation analyseWriter.pdf differ
diff --git a/icons/documentation.png b/icons/documentation.png
new file mode 100644
index 0000000..9b7ccd1
Binary files /dev/null and b/icons/documentation.png differ
diff --git a/icons/documentation.svg b/icons/documentation.svg
new file mode 100644
index 0000000..b5314b5
--- /dev/null
+++ b/icons/documentation.svg
@@ -0,0 +1,299 @@
+
+
diff --git a/icons/fichierCSVInfoXML.png b/icons/fichierCSVInfoXML.png
new file mode 100644
index 0000000..566c86d
Binary files /dev/null and b/icons/fichierCSVInfoXML.png differ
diff --git a/icons/fichier_csv_student_xml.svg b/icons/fichier_csv_student_xml.svg
new file mode 100644
index 0000000..1d830cf
--- /dev/null
+++ b/icons/fichier_csv_student_xml.svg
@@ -0,0 +1,299 @@
+
+
diff --git a/src/app/about.java b/src/app/about.java
index db3430e..902e69c 100644
--- a/src/app/about.java
+++ b/src/app/about.java
@@ -8,8 +8,6 @@ import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
-import javax.swing.filechooser.FileView;
-
import MEPTL.commandes;
import javax.swing.JButton;
import java.awt.event.ActionListener;
diff --git a/src/app/create.java b/src/app/create.java
index 9a7d55e..9b7848c 100644
--- a/src/app/create.java
+++ b/src/app/create.java
@@ -6,7 +6,6 @@ import java.awt.Dimension;
import java.awt.Font;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@@ -22,7 +21,6 @@ import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
-import javax.swing.JDialog;
import javax.swing.JEditorPane;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
@@ -108,7 +106,6 @@ public class create extends JFrame {
* Create the application.
*/
public create() {
- setResizable(false);
try {
initialize();
} catch (UnsupportedLookAndFeelException e) {
@@ -135,8 +132,9 @@ public class create extends JFrame {
//frame = new JFrame();
- System.out.println(this.getClass());
- setSize(1400,915);
+// System.out.println(this.getClass());
+// this.setExtendedState(MAXIMIZED_BOTH);
+ setSize(1400,920);
//setExtendedState(getExtendedState()|JFrame.MAXIMIZED_BOTH );
setTitle(commandes.Titre);
@@ -166,7 +164,7 @@ public class create extends JFrame {
getContentPane().add(panel, BorderLayout.CENTER);
panel.setLayout(null);
- tabbedPane.setBounds(812, 13, 561, 785);
+ tabbedPane.setBounds(816, 10, 600, 785);
panel.add(tabbedPane);
JPanel panelProperties = new JPanel();
@@ -419,7 +417,7 @@ public class create extends JFrame {
JScrollPane rightScrollPane = new JScrollPane( );
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftScrollPane, rightScrollPane );
- splitPane.setBounds(10, 13, 792, 783);
+ splitPane.setBounds(10, 10, 800, 783);
panel.add(splitPane);
rightScrollPane.setViewportView(textNodeSelect);
textNodeSelect.setFont(new Font("Monospaced", Font.PLAIN, 15));
diff --git a/src/app/evaluate.java b/src/app/evaluate.java
index 77de903..7481548 100644
--- a/src/app/evaluate.java
+++ b/src/app/evaluate.java
@@ -3,13 +3,10 @@ package app;
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
+
import javax.swing.AbstractAction;
import javax.swing.Action;
@@ -20,7 +17,6 @@ import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
-import javax.swing.JTextPane;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
import javax.swing.border.EmptyBorder;
@@ -32,6 +28,7 @@ import org.xml.sax.SAXException;
import MEPTL.commandes;
import MEPTL.ecritureSujet;
import MEPTL.meptl;
+import MEPTL.verificationFichierAnalyse;
import cXML.Run;
import cXML.node;
@@ -43,21 +40,21 @@ import net.miginfocom.swing.MigLayout;
import java.awt.event.InputEvent;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
-import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import java.awt.Color;
import java.awt.Desktop;
-
-import javax.swing.JToggleButton;
-import java.awt.FlowLayout;
+import javax.swing.JEditorPane;
public class evaluate extends JFrame {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
/**
*
*/
@SuppressWarnings("unused")
- private final long serialVersionUID = 1L;
private JToolBar toolBar = new JToolBar();
private JPanel contentPane;
private JLabel lblPath = new JLabel();
@@ -72,7 +69,7 @@ public class evaluate extends JFrame {
private JCheckBox chckbxNoLogo = new JCheckBox();
private JCheckBox chckbxVerif = new JCheckBox();
private JCheckBox chckbxNewLogo = new JCheckBox();
- private JTextPane txtpnmessages = new JTextPane();
+ private JEditorPane txtpnmessages = new JEditorPane();
private JProgressBar progressBar = new JProgressBar();
@@ -113,6 +110,8 @@ public class evaluate extends JFrame {
mnMenu_Liste_Etudiant.add(actChargeListeEtudiantCSV);
mnMenu_Liste_Etudiant.addSeparator();
mnMenu_Liste_Etudiant.add(actAfficheListeEtudiant );
+ mnMenu_Liste_Etudiant.add(actVerifCSV );
+
JMenu mnMenu_Logo = new JMenu("Logo");
menuBar.add(mnMenu_Logo);
@@ -182,6 +181,11 @@ public class evaluate extends JFrame {
btnInfoListeEtudiant.setHideActionText(true);
toolBar.add(btnInfoListeEtudiant);
+ JButton btnVerificationCSVavecFichierAnalyse = toolBar.add( actVerifCSV );
+ btnVerificationCSVavecFichierAnalyse.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXML.png")));
+ btnVerificationCSVavecFichierAnalyse.setHideActionText(true);
+ toolBar.add(btnVerificationCSVavecFichierAnalyse);
+
toolBar.addSeparator();
JButton btnFichierSVG = toolBar.add(actChargeLogo);
@@ -298,12 +302,12 @@ public class evaluate extends JFrame {
progressBar.setEnabled(false);
scrollPane.setColumnHeaderView(progressBar);
- txtpnmessages = new JTextPane();
+ txtpnmessages = new JEditorPane();
txtpnmessages.setFont(new Font("Tahoma", Font.PLAIN, 14));
txtpnmessages.setText("Charger un fichier d'analyse.");
scrollPane.setViewportView(txtpnmessages);
-
+ this.setExtendedState(MAXIMIZED_BOTH);
refreshLabel();
setVisible(true);
@@ -429,7 +433,7 @@ public class evaluate extends JFrame {
/**
- * Ouvre et affiche un node dans le composant JTree
+ * Ouvre et affiche un fichier XML
*/
private AbstractAction actOpen = new AbstractAction() {
@@ -437,7 +441,7 @@ public class evaluate extends JFrame {
{
putValue(LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierAnalyse.png")));
- putValue( Action.NAME, "Ouvrir un fichier d'analyse" );
+ putValue( Action.NAME, "Ouvrir un nouveau fichier d'analyse (CTRL+O)" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/fichierAnalyse.png")) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_O );
putValue( Action.SHORT_DESCRIPTION, "Ouvrir un nouveau fichier d'analyse (CTRL+O)" );
@@ -533,6 +537,74 @@ public class evaluate extends JFrame {
}
};
+ private AbstractAction actVerifCSV = new AbstractAction() {
+
+ private static final long serialVersionUID = 1L;
+ {
+ putValue(LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXML.png")));
+ putValue( Action.NAME, "Vérification du CSV avec les paramètres du fichier d'analyse (CTRL+B)" );
+ putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXML.png")) );
+ putValue( Action.MNEMONIC_KEY, KeyEvent.VK_U );
+ putValue( Action.SHORT_DESCRIPTION, "Vérification du CSV avec les paramètres du fichier d'analyse (CTRL+B)" );
+ putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_DOWN_MASK) );
+ }
+ @Override
+ public void actionPerformed( ActionEvent e ) {
+
+ if(commandes.fichierAnalyseValide) {
+ if(commandes.fourniCSV) {
+ node settingCSV = commandes.sujet.retourneFirstEnfantsByName("import_moodle");
+ if(settingCSV.isHasAttributs()) {
+ String email ="inconnu";
+ String name = "inconnu";
+ String firstname = "inconnu";
+ String id = "inconnu";
+ boolean avertissement = false;
+ if(settingCSV.getAttributs().get("email")!=null) {
+ email = settingCSV.getAttributs().get("email");
+ }
+ if(settingCSV.getAttributs().get("name")!=null) {
+ name = settingCSV.getAttributs().get("name");
+ }
+ if(settingCSV.getAttributs().get("firstname")!=null) {
+ firstname = settingCSV.getAttributs().get("firstname");
+ }
+ if(settingCSV.getAttributs().get("id")!=null) {
+ id = settingCSV.getAttributs().get("id");
+ }
+ if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(firstname)==null) {
+ txtpnmessages.setText("*** AVERTISSEMENT - Il n'y a pas le champ " + firstname + " dans le fichier CSV. ***");
+ avertissement=true;
+ }
+ if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(name)==null) {
+ txtpnmessages.setText("*** AVERTISSEMENT - Il n'y a pas le champ " + name + " dans le fichier CSV. ***");
+ avertissement=true;
+ }
+ if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(id)==null) {
+ txtpnmessages.setText("*** AVERTISSEMENT - Il n'y a pas le champ " + id + " dans le fichier CSV. ***");
+ avertissement=true;
+ }
+ if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(email)==null) {
+ txtpnmessages.setText("*** AVERTISSEMENT - Il n'y a pas le champ " + email + " dans le fichier CSV. ***");
+ avertissement=true;
+ }
+ if(!avertissement) {
+ txtpnmessages.setText("*** Le fichier CSV contenant la liste des étudiants peut être utilisé avec les paramètres du fichier d'analyse ***");
+ }
+ }else {
+ txtpnmessages.setText("*** Le fichier CSV contenant la liste des étudiants est vide ***");
+ }
+ }else {
+ txtpnmessages.setText("*** Veuillez charger un fichier CSV contenant la liste des étudiants ***");
+ new msgBox("Le fichier CSV contenant la liste des étudiants n'est pas chargé.",true,false,"Avertissement");
+ }
+ }else {
+ txtpnmessages.setText("*** Veuillez charger un fichier d'analyse ***");
+ new msgBox("Le fichier d'analyse n'est pas valide.",true,false,"Avertissement");
+ }
+ }
+ };
+
/**
* Gènère un nouveau fichier d'analyse à partir d'un fichier ODF
@@ -546,7 +618,7 @@ public class evaluate extends JFrame {
putValue( Action.NAME, "Génère un nouveau fichier d'analyse (CTRL+N)" );
putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierODF.png")) );
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_N );
- putValue( Action.SHORT_DESCRIPTION, "Génère un nouveau fichier d'analyse (CTRL+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) );
}
@@ -582,7 +654,8 @@ public class evaluate extends JFrame {
+"\nLe fichier sujet.xml a été généré dans le dossier :"
+"\n" + commandes.path
+"\n*************************");
- commandes.fichierAnalyseValide=true;
+ commandes.sujet = nodSujet;
+ new verificationFichierAnalyse();
} catch (ParserConfigurationException | SAXException | IOException | CloneNotSupportedException e1) {
e1.printStackTrace();
@@ -722,12 +795,13 @@ public class evaluate extends JFrame {
}
@Override public void actionPerformed( ActionEvent e ) {
- if(commandes.fichierAnalyseValide) {
- new create();
- dispose();
- }else {
- txtpnmessages.setText("*** Veuillez sélectionner un fichier d'analyse pour le modifier ***");
- }
+// if(commandes.fichierAnalyseValide) {
+//
+// }else {
+// txtpnmessages.setText("*** Veuillez sélectionner un fichier d'analyse pour le modifier ***");
+// }
+ new create();
+ dispose();
System.out.println( "Affiche la fenêtre pour la modification." );
}
};
@@ -789,9 +863,16 @@ public class evaluate extends JFrame {
System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath());
commandes.nameCSV = chooser.getSelectedFile().getAbsolutePath();
- commandes.fourniCSV=true;
commandes.nodeCSV = meptl.chargementFichierCSV();
txtpnmessages.setText(Run.ecritureNode(commandes.nodeCSV, 0).toString());
+ commandes.fourniCSV=true;
+ if(!commandes.nodeCSV.getNomElt().equals("fileCSV")) {
+ commandes.fourniCSV=false;
+ }
+ if(commandes.nodeCSV.getNodes().size()<=0) {
+ commandes.fourniCSV=false;
+ txtpnmessages.setText("*** Le fichier ne contient pas d'étudiant ***");
+ }
} else {
commandes.nameCSV = "";
commandes.fourniCSV=false;
diff --git a/src/app/filechooserXML.java b/src/app/filechooserXML.java
index d019f63..e6c498f 100644
--- a/src/app/filechooserXML.java
+++ b/src/app/filechooserXML.java
@@ -15,7 +15,6 @@ import javax.swing.filechooser.FileNameExtensionFilter;
import MEPTL.commandes;
import MEPTL.meptl;
import MEPTL.verificationFichierAnalyse;
-import cXML.Run;
import cXML.node;
public class filechooserXML extends JFileChooser {
diff --git a/src/app/mainApp.java b/src/app/mainApp.java
index a61ed1c..76367e3 100644
--- a/src/app/mainApp.java
+++ b/src/app/mainApp.java
@@ -1,10 +1,12 @@
package app;
-import java.awt.Color;
+import java.awt.Desktop;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.io.File;
+import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
@@ -64,7 +66,7 @@ public class mainApp extends JFrame implements ActionListener{
frmEvalwriter = new JFrame();
frmEvalwriter.setResizable(false);
frmEvalwriter.setTitle("analyseWriter");
- frmEvalwriter.setBounds(100, 100, 555, 315);
+ frmEvalwriter.setBounds(100, 100, 555, 380);
frmEvalwriter.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frmEvalwriter.getContentPane().setLayout(null);
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
@@ -76,7 +78,7 @@ public class mainApp extends JFrame implements ActionListener{
btnCreate.setFont(new Font("Tahoma", Font.PLAIN, 14));
btnCreate.addActionListener(this);
- btnCreate.setBounds(34, 180, 470, 58);
+ btnCreate.setBounds(34, 180, 470, 60);
frmEvalwriter.getContentPane().add(btnCreate);
actCharge = new JButton("Evaluer les fichiers des étudiants - Créer un fichier d'analyse");
@@ -85,7 +87,7 @@ public class mainApp extends JFrame implements ActionListener{
actCharge.setBackground(SystemColor.inactiveCaption);
actCharge.addActionListener(this);
actCharge.setFont(new Font("Tahoma", Font.PLAIN, 14));
- actCharge.setBounds(34, 110, 470, 58);
+ actCharge.setBounds(34, 110, 470, 60);
frmEvalwriter.getContentPane().add(actCharge);
JLabel lblNewLabel = new JLabel();
@@ -95,6 +97,34 @@ public class mainApp extends JFrame implements ActionListener{
lblNewLabel.setFont(new Font("Pacifico", Font.PLAIN, 26));
lblNewLabel.setBounds(34, 11, 470, 74);
frmEvalwriter.getContentPane().add(lblNewLabel);
+
+ JButton btnNewButton = new JButton("Informations");
+ btnNewButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ new about();
+ }
+ });
+ btnNewButton.setFont(new Font("Tahoma", Font.PLAIN, 14));
+ btnNewButton.setIcon(new ImageIcon(mainApp.class.getResource("/resources/apropos.png")));
+ btnNewButton.setBounds(34, 270, 220, 60);
+ frmEvalwriter.getContentPane().add(btnNewButton);
+
+ JButton btnDocumentation = new JButton("Documentation");
+ btnDocumentation.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ Desktop d = Desktop.getDesktop();
+ try {
+ d.open(new File(evaluate.class.getResource("/resources/documentation.pdf").getPath()));
+ } catch (IOException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+ btnDocumentation.setIcon(new ImageIcon(mainApp.class.getResource("/resources/documentation.png")));
+ btnDocumentation.setFont(new Font("Tahoma", Font.PLAIN, 14));
+ btnDocumentation.setBounds(284, 270, 220, 60);
+ frmEvalwriter.getContentPane().add(btnDocumentation);
}
@@ -112,5 +142,4 @@ public class mainApp extends JFrame implements ActionListener{
}
}
-
}
diff --git a/src/resources/fichierCSVInfoXML.png b/src/resources/fichierCSVInfoXML.png
new file mode 100644
index 0000000..566c86d
Binary files /dev/null and b/src/resources/fichierCSVInfoXML.png differ