2022-06-19 21:01:30 +02:00
|
|
|
package fenetres;
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
import java.awt.BorderLayout;
|
2023-02-14 09:20:58 +01:00
|
|
|
import java.awt.Color;
|
2022-05-28 19:13:25 +02:00
|
|
|
import java.awt.Dimension;
|
|
|
|
import java.awt.Font;
|
2022-12-09 21:07:55 +01:00
|
|
|
import java.awt.GridLayout;
|
2022-05-28 19:13:25 +02:00
|
|
|
import java.awt.event.ActionEvent;
|
2022-12-09 21:07:55 +01:00
|
|
|
import java.awt.event.InputEvent;
|
2022-05-28 19:13:25 +02:00
|
|
|
import java.awt.event.KeyEvent;
|
|
|
|
import java.awt.event.MouseAdapter;
|
|
|
|
import java.awt.event.MouseEvent;
|
|
|
|
import java.util.Enumeration;
|
2022-12-09 21:07:55 +01:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
import javax.swing.AbstractAction;
|
|
|
|
import javax.swing.Action;
|
|
|
|
import javax.swing.ImageIcon;
|
|
|
|
import javax.swing.JButton;
|
|
|
|
import javax.swing.JFrame;
|
2023-04-01 09:54:28 +02:00
|
|
|
import javax.swing.JLabel;
|
2022-05-28 19:13:25 +02:00
|
|
|
import javax.swing.JMenu;
|
|
|
|
import javax.swing.JMenuBar;
|
2022-12-09 21:07:55 +01:00
|
|
|
import javax.swing.JMenuItem;
|
2022-05-28 19:13:25 +02:00
|
|
|
import javax.swing.JOptionPane;
|
|
|
|
import javax.swing.JPanel;
|
|
|
|
import javax.swing.JScrollPane;
|
|
|
|
import javax.swing.JSplitPane;
|
|
|
|
import javax.swing.JToolBar;
|
|
|
|
import javax.swing.JTree;
|
|
|
|
import javax.swing.KeyStroke;
|
2024-04-07 09:17:57 +02:00
|
|
|
import javax.swing.SwingConstants;
|
2022-05-28 19:13:25 +02:00
|
|
|
import javax.swing.UnsupportedLookAndFeelException;
|
2023-04-01 09:54:28 +02:00
|
|
|
import javax.swing.event.TreeSelectionEvent;
|
|
|
|
import javax.swing.event.TreeSelectionListener;
|
2022-05-28 19:13:25 +02:00
|
|
|
import javax.swing.tree.DefaultMutableTreeNode;
|
2022-11-24 12:33:03 +01:00
|
|
|
import javax.swing.tree.TreeModel;
|
2022-06-01 21:38:37 +02:00
|
|
|
import javax.swing.tree.TreeNode;
|
|
|
|
import javax.swing.tree.TreePath;
|
2022-05-28 19:13:25 +02:00
|
|
|
import javax.swing.tree.TreeSelectionModel;
|
2022-12-09 21:07:55 +01:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
import MEPTL.commandes;
|
2023-02-05 17:46:02 +01:00
|
|
|
import action.actAPropos;
|
|
|
|
import action.actAbout;
|
|
|
|
import action.actAfficheInformationFichierAnalyse;
|
|
|
|
import action.actAttribut;
|
|
|
|
import action.actCollapseAll;
|
|
|
|
import action.actCollapseNode;
|
|
|
|
import action.actDeleteNode;
|
|
|
|
import action.actDocumentation;
|
|
|
|
import action.actDownNode;
|
2024-04-10 18:10:58 +02:00
|
|
|
import action.actEvalAncrageNumeroAbsoluePageNon;
|
|
|
|
import action.actEvalAncrageNumeroAbsoluePageOui;
|
2024-04-11 17:08:31 +02:00
|
|
|
import action.actEvalEnteteActive;
|
|
|
|
import action.actEvalEnteteActiveNon;
|
|
|
|
import action.actEvalEntetePasActive;
|
|
|
|
import action.actEvalEntetePasActiveNon;
|
2024-04-10 18:10:58 +02:00
|
|
|
import action.actEvalFirstChildFalse;
|
|
|
|
import action.actEvalFirstChildTrue;
|
2024-04-10 14:49:44 +02:00
|
|
|
import action.actEvalFormatageDirectNon;
|
|
|
|
import action.actEvalFormatageDirectOui;
|
2024-04-10 18:10:58 +02:00
|
|
|
import action.actEvalLastChildFalse;
|
|
|
|
import action.actEvalLastChildTrue;
|
2024-04-10 14:49:44 +02:00
|
|
|
import action.actEvalNameNodeNon;
|
|
|
|
import action.actEvalNameNodeOui;
|
2024-04-10 18:10:58 +02:00
|
|
|
import action.actEvalNamePageNon;
|
|
|
|
import action.actEvalNamePageOui;
|
2024-04-10 18:59:28 +02:00
|
|
|
import action.actEvalNumeroAbsoluePageNon;
|
|
|
|
import action.actEvalNumeroAbsoluePageOui;
|
2024-04-10 18:10:58 +02:00
|
|
|
import action.actEvalNumeroPageNon;
|
|
|
|
import action.actEvalNumeroPageOui;
|
|
|
|
import action.actEvalPasParagrapheVideNon;
|
|
|
|
import action.actEvalPasParagrapheVideOui;
|
2024-04-10 14:49:44 +02:00
|
|
|
import action.actEvalPlacementParagrapheOui;
|
2024-04-10 13:43:43 +02:00
|
|
|
import action.actEvalSautPageColonneNon;
|
|
|
|
import action.actEvalSautPageColonneOui;
|
2023-02-05 17:46:02 +01:00
|
|
|
import action.actEvalueFalse;
|
|
|
|
import action.actEvalueTrue;
|
|
|
|
import action.actEvaluer;
|
|
|
|
import action.actEvaluerTousEnfantsFalse;
|
|
|
|
import action.actEvaluerTousEnfantsTrue;
|
|
|
|
import action.actExit;
|
|
|
|
import action.actExpandAll;
|
|
|
|
import action.actExpandNode;
|
|
|
|
import action.actLicence;
|
|
|
|
import action.actNewFichierAnalyse;
|
|
|
|
import action.actNodeFichier;
|
2023-04-01 09:54:28 +02:00
|
|
|
import action.actOpenBaseEvaluation;
|
|
|
|
import action.actSaveEvaluation;
|
2023-02-05 17:46:02 +01:00
|
|
|
import action.actSetting;
|
2024-03-04 14:14:53 +01:00
|
|
|
import action.actTitre1;
|
2023-02-05 17:46:02 +01:00
|
|
|
import action.actTotalPoint;
|
|
|
|
import action.actTotalPointNode;
|
|
|
|
import action.actTutoriels;
|
|
|
|
import action.actUpNode;
|
2024-03-04 14:14:53 +01:00
|
|
|
import action.actTitre2;
|
|
|
|
import action.actTitre3;
|
2024-04-07 09:17:57 +02:00
|
|
|
import action.actAllContent;
|
|
|
|
import action.actEvaluerNomDuStyleHeriteTrue;
|
|
|
|
import action.actEvaluerNomDuStyleHeriteFalse;
|
|
|
|
import action.actEvaluerStyleTrue;
|
|
|
|
import action.actEvaluerStyleFalse;
|
2022-05-28 19:13:25 +02:00
|
|
|
import cXML.Run;
|
2022-06-01 21:38:37 +02:00
|
|
|
import cXML.node;
|
2024-04-07 09:17:57 +02:00
|
|
|
import list.listeDesNodesAllContent;
|
|
|
|
import list.listeDesNodesAnalyseStyle;
|
2024-04-10 18:10:58 +02:00
|
|
|
import list.listeDesNodesAncrable;
|
2024-04-10 14:49:44 +02:00
|
|
|
import list.listeDesNodesEvalPlacement;
|
2024-04-07 09:17:57 +02:00
|
|
|
import list.listeDesNodesFormatageDirect;
|
2024-04-10 18:10:58 +02:00
|
|
|
import list.listeDesNodesPourEvaluerPage;
|
2024-04-10 14:49:44 +02:00
|
|
|
import list.listeEvalNameNode;
|
2023-02-05 17:46:02 +01:00
|
|
|
import menucontextuel.CreatePopupMenu;
|
2024-04-07 09:17:57 +02:00
|
|
|
import net.miginfocom.swing.MigLayout;
|
|
|
|
|
2024-03-21 09:19:25 +01:00
|
|
|
import java.awt.event.ActionListener;
|
2022-06-20 09:45:00 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-12-11 08:30:19 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @author pablo rodriguez
|
|
|
|
*
|
|
|
|
*/
|
2022-06-19 21:01:30 +02:00
|
|
|
public final class create extends JFrame {
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
2022-07-10 11:42:47 +02:00
|
|
|
// les éléments de create
|
2022-06-19 21:01:30 +02:00
|
|
|
private static JTree tree = new JTree();
|
|
|
|
private static DefaultMutableTreeNode selectNode;
|
|
|
|
private static afficheText textNodeSelect = new afficheText();
|
|
|
|
private JToolBar toolBarPrincipal;
|
2022-05-28 19:13:25 +02:00
|
|
|
private JMenuBar menuBar = new JMenuBar();
|
2022-06-19 21:01:30 +02:00
|
|
|
private static JButton buttonEvaluate;
|
2022-12-11 08:30:19 +01:00
|
|
|
private JPanel panelPrincipal;
|
2024-04-07 09:17:57 +02:00
|
|
|
private JPanel panelDroiteBoutons= new JPanel();
|
2022-06-19 21:01:30 +02:00
|
|
|
private static create instance;
|
2023-02-18 18:05:42 +01:00
|
|
|
public static boolean isDispose = true;
|
2023-04-01 09:54:28 +02:00
|
|
|
private static JLabel lblInfo = new JLabel("Fichier d'analyse");
|
2024-04-06 16:10:30 +02:00
|
|
|
|
2024-04-07 09:17:57 +02:00
|
|
|
|
|
|
|
private final JButton btnAllContent = new JButton(new actAllContent());
|
|
|
|
private final JButton btnAttribut= new JButton(new actAttribut());
|
|
|
|
private final JButton btnevalNameLegacyStyleTrue = new JButton(new actEvaluerNomDuStyleHeriteTrue());
|
|
|
|
private final JButton btnevalNameLegacyStyleFalse = new JButton(new actEvaluerNomDuStyleHeriteFalse());
|
|
|
|
private final JButton btnanalyseStyletrue = new JButton(new actEvaluerStyleTrue());
|
|
|
|
private final JButton btnanalyseStylefalse = new JButton(new actEvaluerStyleFalse());
|
2024-04-10 13:43:43 +02:00
|
|
|
private final JButton btnevalSautPageColonnetrue = new JButton(new actEvalSautPageColonneOui());
|
|
|
|
private final JButton btnevalSautPageColonnefalse = new JButton(new actEvalSautPageColonneNon());
|
2024-04-10 14:49:44 +02:00
|
|
|
private final JButton btnevalNameNodetrue = new JButton(new actEvalNameNodeOui());
|
|
|
|
private final JButton btnevalNameNodefalse = new JButton(new actEvalNameNodeNon());
|
|
|
|
private final JButton btnevalFormatageDirecttrue = new JButton(new actEvalFormatageDirectOui());
|
|
|
|
private final JButton btnevalFormatageDirectfalse = new JButton(new actEvalFormatageDirectNon());
|
|
|
|
private final JButton btnevalPlacementtrue = new JButton(new actEvalPlacementParagrapheOui());
|
|
|
|
private final JButton btnevalPlacementfalse = new JButton(new actEvalPlacementParagrapheOui());
|
2024-04-10 18:10:58 +02:00
|
|
|
private final JButton btnevalFirstChildtrue = new JButton(new actEvalFirstChildTrue());
|
|
|
|
private final JButton btnevalFirstChildfalse = new JButton(new actEvalFirstChildFalse());
|
|
|
|
private final JButton btnevalLastChildtrue = new JButton(new actEvalLastChildTrue());
|
|
|
|
private final JButton btnevalLastChildfalse = new JButton(new actEvalLastChildFalse());
|
|
|
|
private final JButton btnevalAncrageNumeroAbsoluePagetrue = new JButton(new actEvalAncrageNumeroAbsoluePageOui());
|
|
|
|
private final JButton btnevalAncrageNumeroAbsoluePagefalse = new JButton(new actEvalAncrageNumeroAbsoluePageNon());
|
|
|
|
private final JButton btnevalPasParagrapheVidetrue = new JButton(new actEvalPasParagrapheVideOui());
|
|
|
|
private final JButton btnevalPasParagrapheVidefalse = new JButton(new actEvalPasParagrapheVideNon());
|
|
|
|
private final JButton btnevalNamePagetrue = new JButton(new actEvalNamePageOui());
|
|
|
|
private final JButton btnevalNamePagefalse = new JButton(new actEvalNamePageNon());
|
|
|
|
private final JButton btnevalNumeroPagetrue = new JButton(new actEvalNumeroPageOui());
|
|
|
|
private final JButton btnevalNumeroPagefalse = new JButton(new actEvalNumeroPageNon());
|
2024-04-10 18:59:28 +02:00
|
|
|
private final JButton btnevalNumeroAbsoluePagetrue = new JButton(new actEvalNumeroAbsoluePageOui());
|
|
|
|
private final JButton btnevalNumeroAbsoluePagefalse = new JButton(new actEvalNumeroAbsoluePageNon());
|
2024-04-11 17:08:31 +02:00
|
|
|
private final JButton btnevalEnteteActivetrue = new JButton(new actEvalEnteteActive());
|
|
|
|
private final JButton btnevalEnteteActivefalse = new JButton(new actEvalEnteteActiveNon());
|
|
|
|
private final JButton btnevalEntetePasActivetrue = new JButton(new actEvalEntetePasActive());
|
|
|
|
private final JButton btnevalEntetePasActivefalse = new JButton(new actEvalEntetePasActiveNon());
|
2024-04-10 14:49:44 +02:00
|
|
|
|
2024-04-07 09:17:57 +02:00
|
|
|
// private AbstractAction allContent = new actAllContent();
|
|
|
|
|
2024-04-06 15:13:13 +02:00
|
|
|
// private static JTable table = new JTable();
|
2022-05-28 19:13:25 +02:00
|
|
|
/**
|
2022-12-11 08:30:19 +01:00
|
|
|
* Création de la fenêtre.</br>
|
2022-05-28 19:13:25 +02:00
|
|
|
*/
|
|
|
|
public create() {
|
2024-04-07 09:17:57 +02:00
|
|
|
btnAllContent.setEnabled(false);
|
|
|
|
btnevalNameLegacyStyleTrue.setIcon(new ImageIcon(create.class.getResource("/resources/heritagestyletrue.png")));
|
|
|
|
btnevalNameLegacyStyleTrue.setEnabled(false);
|
|
|
|
btnevalNameLegacyStyleFalse.setIcon(new ImageIcon(create.class.getResource("/resources/heritagestylefalse.png")));
|
|
|
|
btnevalNameLegacyStyleFalse.setEnabled(false);
|
|
|
|
btnanalyseStyletrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerstyletrue.png")));
|
|
|
|
btnanalyseStyletrue.setEnabled(false);
|
|
|
|
btnanalyseStylefalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerstylefalse.png")));
|
|
|
|
btnanalyseStylefalse.setEnabled(false);
|
2024-04-10 13:43:43 +02:00
|
|
|
btnevalSautPageColonnetrue.setIcon(new ImageIcon(create.class.getResource("/resources/sautpagecolonnetrue.png")));
|
|
|
|
btnevalSautPageColonnetrue.setEnabled(false);
|
|
|
|
btnevalSautPageColonnefalse.setIcon(new ImageIcon(create.class.getResource("/resources/sautpagecolonnefalse.png")));
|
|
|
|
btnevalSautPageColonnefalse.setEnabled(false);
|
2024-04-10 14:49:44 +02:00
|
|
|
btnevalNameNodetrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalnodetrue.png")));
|
|
|
|
btnevalNameNodetrue.setEnabled(false);
|
|
|
|
btnevalNameNodefalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalnodefalse.png")));
|
|
|
|
btnevalNameNodefalse.setEnabled(false);
|
|
|
|
btnevalFormatageDirecttrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalformatagedirecttrue.png")));
|
|
|
|
btnevalFormatageDirecttrue.setEnabled(false);
|
|
|
|
btnevalFormatageDirectfalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalformatagedirectfalse.png")));
|
|
|
|
btnevalFormatageDirectfalse.setEnabled(false);
|
|
|
|
btnevalPlacementtrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalplacementparagraphetrue.png")));
|
|
|
|
btnevalPlacementtrue.setEnabled(false);
|
|
|
|
btnevalPlacementfalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalplacementparagraphefalse.png")));
|
|
|
|
btnevalPlacementfalse.setEnabled(false);
|
2024-04-10 18:10:58 +02:00
|
|
|
btnevalFirstChildtrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalFirstChildtrue.png")));
|
|
|
|
btnevalFirstChildtrue.setEnabled(false);
|
|
|
|
btnevalFirstChildfalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalFirstChildfalse.png")));
|
|
|
|
btnevalFirstChildfalse.setEnabled(false);
|
|
|
|
btnevalLastChildtrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalLastChildtrue.png")));
|
|
|
|
btnevalLastChildtrue.setEnabled(false);
|
|
|
|
btnevalLastChildfalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalLastChildfalse.png")));
|
|
|
|
btnevalLastChildfalse.setEnabled(false);
|
|
|
|
btnevalAncrageNumeroAbsoluePagetrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeropageancragetrue.png")));
|
|
|
|
btnevalAncrageNumeroAbsoluePagetrue.setEnabled(false);
|
|
|
|
btnevalAncrageNumeroAbsoluePagefalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeropageancragefalse.png")));
|
|
|
|
btnevalAncrageNumeroAbsoluePagefalse.setEnabled(false);
|
|
|
|
btnevalPasParagrapheVidetrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalpasparagraphevidetrue.png")));
|
|
|
|
btnevalPasParagrapheVidetrue.setEnabled(false);
|
|
|
|
btnevalPasParagrapheVidefalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalpasparagraphevidefalse.png")));
|
|
|
|
btnevalPasParagrapheVidefalse.setEnabled(false);
|
|
|
|
btnevalNamePagetrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalnamepagetrue.png")));
|
|
|
|
btnevalNamePagetrue.setEnabled(false);
|
|
|
|
btnevalNamePagefalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalnamepagefalse.png")));
|
|
|
|
btnevalNamePagefalse.setEnabled(false);
|
|
|
|
btnevalNumeroPagetrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeropagetrue.png")));
|
|
|
|
btnevalNumeroPagetrue.setEnabled(false);
|
|
|
|
btnevalNumeroPagefalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeropagefalse.png")));
|
|
|
|
btnevalNumeroPagefalse.setEnabled(false);
|
2024-04-10 18:59:28 +02:00
|
|
|
btnevalNumeroAbsoluePagetrue.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeroabsoluepagetrue.png")));
|
|
|
|
btnevalNumeroAbsoluePagetrue.setEnabled(false);
|
|
|
|
btnevalNumeroAbsoluePagefalse.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeroabsoluepagefalse.png")));
|
|
|
|
btnevalNumeroAbsoluePagefalse.setEnabled(false);
|
2024-04-11 17:08:31 +02:00
|
|
|
btnevalEnteteActivetrue.setIcon(new ImageIcon(create.class.getResource("/resources/actEvalEnteteActivetrue.png")));
|
|
|
|
btnevalEnteteActivetrue.setEnabled(false);
|
|
|
|
btnevalEnteteActivefalse.setIcon(new ImageIcon(create.class.getResource("/resources/actEvalEnteteActivefalse.png")));
|
|
|
|
btnevalEnteteActivefalse.setEnabled(false);
|
|
|
|
btnevalEntetePasActivetrue.setIcon(new ImageIcon(create.class.getResource("/resources/actEvalEntetePasActivetrue.png")));
|
|
|
|
btnevalEntetePasActivetrue.setEnabled(false);
|
|
|
|
btnevalEntetePasActivefalse.setIcon(new ImageIcon(create.class.getResource("/resources/actEvalEntetePasActivefalse.png")));
|
|
|
|
btnevalEntetePasActivefalse.setEnabled(false);
|
2024-04-10 18:59:28 +02:00
|
|
|
|
2023-02-12 17:12:11 +01:00
|
|
|
setBackground(new Color(255, 255, 255));
|
2022-05-28 19:13:25 +02:00
|
|
|
try {
|
|
|
|
initialize();
|
|
|
|
} catch (UnsupportedLookAndFeelException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
setVisible(true);
|
|
|
|
}
|
2022-06-19 21:01:30 +02:00
|
|
|
|
2022-12-11 08:30:19 +01:00
|
|
|
/**
|
|
|
|
* Obtient l'instance encours.</br>
|
|
|
|
* @return l'instance de la fenêtre.</br>
|
|
|
|
*/
|
2022-06-19 21:01:30 +02:00
|
|
|
public static create getInstance() {
|
2023-04-01 09:54:28 +02:00
|
|
|
if (isDispose) {
|
2022-06-19 21:01:30 +02:00
|
|
|
instance = new create();
|
|
|
|
}
|
|
|
|
instance.setVisible(true);
|
2022-12-11 08:30:19 +01:00
|
|
|
lectureFichierDejaCharger();
|
2023-04-01 09:54:28 +02:00
|
|
|
refreshLabelInfo();
|
2023-02-18 18:05:42 +01:00
|
|
|
isDispose=false;
|
2022-06-19 21:01:30 +02:00
|
|
|
return instance;
|
|
|
|
}
|
|
|
|
|
2023-04-01 09:54:28 +02:00
|
|
|
/**
|
|
|
|
* Ferme la fenêtre et quitte.
|
|
|
|
*/
|
|
|
|
public static void fermeCreate() {
|
|
|
|
if(!isDispose) {
|
|
|
|
isDispose=true;
|
|
|
|
instance.dispose();
|
|
|
|
}
|
|
|
|
}
|
2022-06-03 21:30:14 +02:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
/**
|
|
|
|
* Initialize the contents of the frame.
|
|
|
|
* @throws UnsupportedLookAndFeelException
|
|
|
|
*/
|
|
|
|
private void initialize() throws UnsupportedLookAndFeelException {
|
|
|
|
|
2022-06-09 09:13:46 +02:00
|
|
|
setSize(1200,800);
|
|
|
|
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
|
|
|
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
|
|
|
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
|
2022-06-13 21:56:16 +02:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
|
2022-06-06 18:59:42 +02:00
|
|
|
setTitle(commandes.Titre + " " + commandes.version + " " + commandes.branch);
|
2022-05-28 19:13:25 +02:00
|
|
|
setIconImage(img.getImage());
|
|
|
|
|
|
|
|
setLocationRelativeTo( null );
|
2022-06-15 08:03:17 +02:00
|
|
|
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
// Construction et injection de la barre de menu
|
|
|
|
setJMenuBar( this.createMenuBar() );
|
2023-06-22 13:51:14 +02:00
|
|
|
|
|
|
|
// coloration et nombre de ligne de l'arbre
|
2023-02-12 17:12:11 +01:00
|
|
|
tree.setBackground(new Color(255, 255, 255));
|
2022-06-01 21:38:37 +02:00
|
|
|
tree.setVisibleRowCount(30);
|
|
|
|
|
|
|
|
// Ajoute le menu contextuel de la tree
|
2022-06-02 17:48:14 +02:00
|
|
|
tree.setComponentPopupMenu(null);
|
2022-05-28 19:13:25 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
this.createToolBar();
|
|
|
|
|
|
|
|
panelPrincipal = new JPanel();
|
|
|
|
getContentPane().add(panelPrincipal, BorderLayout.NORTH);
|
|
|
|
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
// The content of the window
|
|
|
|
if(commandes.fichierAnalyseValide) tree = commandes.tree;
|
|
|
|
|
2023-04-01 09:54:28 +02:00
|
|
|
JPanel panelLeft = new JPanel();
|
|
|
|
panelLeft.setLayout(new BorderLayout());
|
|
|
|
|
|
|
|
JPanel panelNorth = new JPanel();
|
|
|
|
panelNorth.setLayout(new GridLayout(2,1,0,0));
|
|
|
|
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
JScrollPane leftScrollPane = new JScrollPane( );
|
2022-06-13 17:43:41 +02:00
|
|
|
leftScrollPane.setPreferredSize( new Dimension(400, 0) );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
|
|
|
JLabel lblNewLabel = new JLabel("");
|
|
|
|
lblNewLabel.setIcon(new ImageIcon(create.class.getResource("/resources/accueil fichier anlyse.png")));
|
|
|
|
panelNorth.add(lblNewLabel);
|
|
|
|
lblInfo.setFont(new Font("Tahoma", Font.BOLD, 12));
|
|
|
|
|
|
|
|
panelNorth.add(lblInfo);
|
|
|
|
|
|
|
|
panelLeft.add(panelNorth,BorderLayout.NORTH);
|
|
|
|
|
|
|
|
panelLeft.add(leftScrollPane,BorderLayout.CENTER);
|
|
|
|
|
2024-04-07 09:17:57 +02:00
|
|
|
JScrollPane rightScrollPane = new JScrollPane();
|
|
|
|
textNodeSelect.setBackground(Color.LIGHT_GRAY);
|
|
|
|
// rightScrollPane.setViewportView(textNodeSelect);
|
|
|
|
textNodeSelect.setFont(new Font("Monospaced", Font.PLAIN, 15));
|
2023-06-22 13:51:14 +02:00
|
|
|
|
2024-04-07 09:17:57 +02:00
|
|
|
JScrollPane ScrollPaneTableBouton = new JScrollPane( );
|
|
|
|
|
|
|
|
panelDroiteBoutons.setBorder(null);
|
|
|
|
panelDroiteBoutons.setLayout(new MigLayout("", "[40px:n,fill][40px:n,fill][40px:n,fill][40px:n,fill]", "[20px][40px][40px][60px][60px][60px][60px][60px][60px][60px][60px][60px][60px]"));
|
|
|
|
|
|
|
|
// ScrollPaneTableBouton = new JScrollPane(panelDroiteBoutons);
|
|
|
|
|
|
|
|
rightScrollPane.setViewportView(panelDroiteBoutons);
|
|
|
|
ScrollPaneTableBouton = new JScrollPane(textNodeSelect);
|
|
|
|
btnAttribut.setText("");
|
|
|
|
|
|
|
|
|
|
|
|
// Ligne 2
|
|
|
|
btnAttribut.setHorizontalAlignment(SwingConstants.LEFT);
|
|
|
|
btnAttribut.setForeground(new Color(0, 128, 192));
|
|
|
|
panelDroiteBoutons.add(btnAttribut, "cell 0 1,grow");
|
|
|
|
btnAttribut.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/attribut.png")));
|
|
|
|
|
|
|
|
btnAllContent.setText("");
|
|
|
|
btnAllContent.setHorizontalAlignment(SwingConstants.LEFT);
|
|
|
|
btnAllContent.setForeground(new Color(0, 128, 192));
|
|
|
|
panelDroiteBoutons.add(btnAllContent, "cell 1 1,grow");
|
|
|
|
btnAllContent.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/allcontent.png")));
|
|
|
|
|
|
|
|
btnevalNameLegacyStyleTrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNameLegacyStyleTrue, "cell 0 2");
|
|
|
|
|
|
|
|
btnevalNameLegacyStyleFalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNameLegacyStyleFalse, "cell 1 2");
|
|
|
|
|
|
|
|
btnanalyseStyletrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnanalyseStyletrue, "cell 2 2");
|
|
|
|
|
|
|
|
btnanalyseStylefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnanalyseStylefalse, "cell 3 2");
|
|
|
|
|
2024-04-10 13:43:43 +02:00
|
|
|
btnevalSautPageColonnetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalSautPageColonnetrue, "cell 0 3");
|
2024-04-07 09:17:57 +02:00
|
|
|
|
2024-04-10 13:43:43 +02:00
|
|
|
btnevalSautPageColonnefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalSautPageColonnefalse, "cell 1 3");
|
2024-04-10 14:49:44 +02:00
|
|
|
|
|
|
|
btnevalNameNodetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNameNodetrue, "cell 2 1");
|
|
|
|
|
|
|
|
btnevalNameNodefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNameNodefalse, "cell 3 1");
|
|
|
|
|
|
|
|
btnevalFormatageDirecttrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalFormatageDirecttrue, "cell 2 3");
|
|
|
|
|
|
|
|
btnevalFormatageDirectfalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalFormatageDirectfalse, "cell 3 3");
|
|
|
|
|
|
|
|
btnevalPlacementtrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalPlacementtrue, "cell 0 4");
|
|
|
|
|
|
|
|
btnevalPlacementfalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalPlacementfalse, "cell 1 4");
|
2024-04-10 18:10:58 +02:00
|
|
|
|
|
|
|
btnevalFirstChildtrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalFirstChildtrue, "cell 2 4");
|
|
|
|
|
|
|
|
btnevalFirstChildfalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalFirstChildfalse, "cell 3 4");
|
|
|
|
|
|
|
|
btnevalLastChildtrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalLastChildtrue, "cell 0 5");
|
|
|
|
|
|
|
|
btnevalLastChildfalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalLastChildfalse, "cell 1 5");
|
|
|
|
|
|
|
|
btnevalAncrageNumeroAbsoluePagetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalAncrageNumeroAbsoluePagetrue, "cell 2 5");
|
|
|
|
|
|
|
|
btnevalAncrageNumeroAbsoluePagefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalAncrageNumeroAbsoluePagefalse, "cell 3 5");
|
|
|
|
|
|
|
|
btnevalPasParagrapheVidetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalPasParagrapheVidetrue, "cell 0 6");
|
|
|
|
|
|
|
|
btnevalPasParagrapheVidefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalPasParagrapheVidefalse, "cell 1 6");
|
|
|
|
|
|
|
|
btnevalNamePagetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNamePagetrue, "cell 2 6");
|
|
|
|
|
|
|
|
btnevalNamePagefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNamePagefalse, "cell 3 6");
|
|
|
|
|
|
|
|
btnevalNumeroPagetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNumeroPagetrue, "cell 0 7");
|
|
|
|
|
|
|
|
btnevalNumeroPagefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNumeroPagefalse, "cell 1 7");
|
2024-04-10 18:59:28 +02:00
|
|
|
|
|
|
|
btnevalNumeroAbsoluePagetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNumeroAbsoluePagetrue, "cell 2 7");
|
|
|
|
|
|
|
|
btnevalNumeroAbsoluePagefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalNumeroAbsoluePagefalse, "cell 3 7");
|
2024-04-11 17:08:31 +02:00
|
|
|
|
|
|
|
btnevalEnteteActivetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalEnteteActivetrue, "cell 0 8");
|
|
|
|
|
|
|
|
btnevalEnteteActivefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalEnteteActivefalse, "cell 1 8");
|
|
|
|
|
|
|
|
btnevalEntetePasActivetrue.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalEntetePasActivetrue, "cell 2 8");
|
|
|
|
|
|
|
|
btnevalEntetePasActivefalse.setText("");
|
|
|
|
panelDroiteBoutons.add(btnevalEntetePasActivefalse, "cell 3 8");
|
2024-04-10 13:43:43 +02:00
|
|
|
|
|
|
|
|
2024-04-06 16:20:55 +02:00
|
|
|
JSplitPane splitPane2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, rightScrollPane, ScrollPaneTableBouton );
|
2023-06-22 13:51:14 +02:00
|
|
|
splitPane2.setBounds(10, 10, 1364, 783);
|
2024-03-01 18:21:34 +01:00
|
|
|
splitPane2.setBounds(10, 10, 1364, 783);
|
2024-04-07 11:27:37 +02:00
|
|
|
splitPane2.setDividerLocation(0.28);
|
2023-06-22 13:51:14 +02:00
|
|
|
|
|
|
|
JSplitPane splitPane1 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panelLeft, splitPane2 );
|
|
|
|
splitPane1.setBounds(10, 10, 1364, 783); //10, 10, 1364, 783
|
|
|
|
splitPane1.setDividerLocation(0.25);
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
leftScrollPane.setViewportView(tree);
|
2023-02-12 17:12:11 +01:00
|
|
|
tree.setFont(new Font("Tahoma", Font.PLAIN, 16));
|
2022-05-28 19:13:25 +02:00
|
|
|
|
2023-06-22 13:51:14 +02:00
|
|
|
getContentPane().add(splitPane1, BorderLayout.CENTER);
|
2022-06-20 09:45:00 +02:00
|
|
|
panelPrincipal.setLayout(new GridLayout(1, 1, 0, 0));
|
|
|
|
panelPrincipal.add(toolBarPrincipal);
|
2022-06-19 21:01:30 +02:00
|
|
|
|
2024-04-07 09:17:57 +02:00
|
|
|
|
|
|
|
|
2022-12-13 08:27:40 +01:00
|
|
|
if(commandes.fichierAnalyseValide) {
|
|
|
|
tree.setVisible(true);
|
|
|
|
constructionTree();
|
|
|
|
}else {
|
|
|
|
tree.setVisible(false);
|
|
|
|
}
|
2024-03-01 18:21:34 +01:00
|
|
|
|
2022-06-06 09:50:45 +02:00
|
|
|
|
|
|
|
this.setExtendedState(MAXIMIZED_BOTH);
|
2022-12-21 17:54:28 +01:00
|
|
|
rightScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
ListenerAction();
|
2022-12-11 08:30:19 +01:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-06-14 20:09:16 +02:00
|
|
|
/**
|
2022-12-11 08:30:19 +01:00
|
|
|
* Selection du node du tree et d'un node CXML.</br>
|
|
|
|
* Fermeture de la fenêtre.<br>
|
2022-06-14 20:09:16 +02:00
|
|
|
*/
|
2022-05-28 19:13:25 +02:00
|
|
|
private void ListenerAction() {
|
|
|
|
|
2022-06-15 08:03:17 +02:00
|
|
|
/**
|
2022-12-10 10:00:28 +01:00
|
|
|
* Selection d'un node dans le JTree.</br>
|
2022-06-15 08:03:17 +02:00
|
|
|
*/
|
2022-05-28 19:13:25 +02:00
|
|
|
tree.addMouseListener(new MouseAdapter() {
|
|
|
|
@Override
|
|
|
|
public void mouseClicked(MouseEvent e) {
|
2022-06-01 21:38:37 +02:00
|
|
|
if(tree.getSelectionPath()!=null) {
|
2022-06-19 21:01:30 +02:00
|
|
|
selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
|
2022-12-10 10:00:28 +01:00
|
|
|
node nod = (node) selectNode.getUserObject(); //node sélectionné.
|
2023-02-05 17:46:02 +01:00
|
|
|
new CreatePopupMenu(nod); // création du popup menu.
|
2022-12-10 10:00:28 +01:00
|
|
|
textNodeSelect.refreshAffichage(nod); //affiche des informations sur le node.
|
|
|
|
// refreshTree(); //repaint l'arbre.
|
|
|
|
if(tree.isCollapsed(tree.getSelectionPath())){
|
|
|
|
tree.expandPath(tree.getSelectionPath()); //Etend le node sélectionné.
|
2022-12-11 08:30:19 +01:00
|
|
|
}else {
|
|
|
|
tree.collapsePath(tree.getSelectionPath());
|
2022-12-10 10:00:28 +01:00
|
|
|
}
|
2022-05-28 19:13:25 +02:00
|
|
|
}
|
2022-06-01 21:38:37 +02:00
|
|
|
}
|
|
|
|
});
|
2022-06-15 08:03:17 +02:00
|
|
|
|
2023-04-01 09:54:28 +02:00
|
|
|
/**
|
|
|
|
* Selection d'un node sans la souris.
|
|
|
|
*/
|
|
|
|
tree.addTreeSelectionListener(new TreeSelectionListener() {
|
|
|
|
@Override
|
|
|
|
public void valueChanged(TreeSelectionEvent e) {
|
|
|
|
if(tree.getSelectionPath()!=null) {
|
|
|
|
selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
|
|
|
|
node nod = (node) selectNode.getUserObject(); //node sélectionné.
|
|
|
|
new CreatePopupMenu(nod); // création du popup menu.
|
|
|
|
textNodeSelect.refreshAffichage(nod); //affiche des informations sur le node.
|
2024-04-07 09:17:57 +02:00
|
|
|
|
|
|
|
btnevalNameLegacyStyleTrue.setEnabled(false);
|
|
|
|
btnevalNameLegacyStyleFalse.setEnabled(false);
|
|
|
|
btnanalyseStyletrue.setEnabled(false);
|
|
|
|
btnanalyseStylefalse.setEnabled(false);
|
|
|
|
btnAllContent.setEnabled(false);
|
2024-04-10 13:43:43 +02:00
|
|
|
btnevalSautPageColonnetrue.setEnabled(false);
|
|
|
|
btnevalSautPageColonnefalse.setEnabled(false);
|
2024-04-10 14:49:44 +02:00
|
|
|
btnevalNameNodetrue.setEnabled(false);
|
|
|
|
btnevalNameNodefalse.setEnabled(false);
|
|
|
|
btnevalFormatageDirecttrue.setEnabled(false);
|
|
|
|
btnevalFormatageDirectfalse.setEnabled(false);
|
|
|
|
btnevalPlacementtrue.setEnabled(false);
|
|
|
|
btnevalPlacementfalse.setEnabled(false);
|
2024-04-10 18:10:58 +02:00
|
|
|
btnevalFirstChildtrue.setEnabled(false);
|
|
|
|
btnevalFirstChildfalse.setEnabled(false);
|
|
|
|
btnevalLastChildtrue.setEnabled(false);
|
|
|
|
btnevalLastChildfalse.setEnabled(false);
|
|
|
|
btnevalAncrageNumeroAbsoluePagetrue.setEnabled(false);
|
|
|
|
btnevalAncrageNumeroAbsoluePagefalse.setEnabled(false);
|
|
|
|
btnevalPasParagrapheVidetrue.setEnabled(false);
|
|
|
|
btnevalPasParagrapheVidefalse.setEnabled(false);
|
|
|
|
btnevalNamePagetrue.setEnabled(false);
|
|
|
|
btnevalNamePagefalse.setEnabled(false);
|
|
|
|
btnevalNumeroPagetrue.setEnabled(false);
|
|
|
|
btnevalNumeroPagefalse.setEnabled(false);
|
2024-04-10 18:59:28 +02:00
|
|
|
btnevalNumeroAbsoluePagetrue.setEnabled(false);
|
|
|
|
btnevalNumeroAbsoluePagefalse.setEnabled(false);
|
2024-04-11 17:08:31 +02:00
|
|
|
btnevalEnteteActivetrue.setEnabled(false);
|
|
|
|
btnevalEnteteActivefalse.setEnabled(false);
|
|
|
|
btnevalEntetePasActivetrue.setEnabled(false);
|
|
|
|
btnevalEntetePasActivefalse.setEnabled(false);
|
2024-04-07 09:17:57 +02:00
|
|
|
|
|
|
|
if(listeDesNodesAllContent.isAllContent(nod)) {
|
|
|
|
btnAllContent.setEnabled(true);
|
|
|
|
}
|
|
|
|
if(listeDesNodesFormatageDirect.isFormatageDirect(nod)) {
|
|
|
|
btnevalNameLegacyStyleTrue.setEnabled(true);
|
|
|
|
btnevalNameLegacyStyleFalse.setEnabled(true);
|
2024-04-10 13:43:43 +02:00
|
|
|
btnevalSautPageColonnetrue.setEnabled(true);
|
|
|
|
btnevalSautPageColonnefalse.setEnabled(true);
|
2024-04-10 14:49:44 +02:00
|
|
|
btnevalFormatageDirecttrue.setEnabled(true);
|
|
|
|
btnevalFormatageDirectfalse.setEnabled(true);
|
2024-04-07 09:17:57 +02:00
|
|
|
}
|
|
|
|
if(listeDesNodesAnalyseStyle.isAnalyseStyle(nod)) {
|
|
|
|
btnanalyseStyletrue.setEnabled(true);
|
|
|
|
btnanalyseStylefalse.setEnabled(true);
|
|
|
|
}
|
2024-04-10 14:49:44 +02:00
|
|
|
if(listeEvalNameNode.isNodeEvalNameNode(nod)) {
|
|
|
|
btnevalNameNodetrue.setEnabled(true);
|
|
|
|
btnevalNameNodefalse.setEnabled(true);
|
|
|
|
}
|
|
|
|
if(listeDesNodesEvalPlacement.isPlacement(nod)) {
|
|
|
|
btnevalPlacementtrue.setEnabled(true);
|
|
|
|
btnevalPlacementfalse.setEnabled(true);
|
2024-04-10 18:10:58 +02:00
|
|
|
btnevalFirstChildtrue.setEnabled(true);
|
|
|
|
btnevalFirstChildfalse.setEnabled(true);
|
|
|
|
btnevalLastChildtrue.setEnabled(true);
|
|
|
|
btnevalLastChildfalse.setEnabled(true);
|
|
|
|
}
|
|
|
|
if(listeDesNodesAncrable.isAncrable(nod)) {
|
|
|
|
btnevalAncrageNumeroAbsoluePagetrue.setEnabled(true);
|
|
|
|
btnevalAncrageNumeroAbsoluePagefalse.setEnabled(true);
|
|
|
|
}
|
|
|
|
if(listeDesNodesPourEvaluerPage.isPage(nod)) {
|
|
|
|
btnevalPasParagrapheVidetrue.setEnabled(true);
|
|
|
|
btnevalPasParagrapheVidefalse.setEnabled(true);
|
|
|
|
btnevalNamePagetrue.setEnabled(true);
|
|
|
|
btnevalNamePagefalse.setEnabled(true);
|
|
|
|
btnevalNumeroPagetrue.setEnabled(true);
|
|
|
|
btnevalNumeroPagefalse.setEnabled(true);
|
2024-04-10 18:59:28 +02:00
|
|
|
btnevalNumeroAbsoluePagetrue.setEnabled(true);
|
|
|
|
btnevalNumeroAbsoluePagefalse.setEnabled(true);
|
2024-04-11 17:08:31 +02:00
|
|
|
btnevalEnteteActivetrue.setEnabled(false);
|
|
|
|
btnevalEnteteActivefalse.setEnabled(false);
|
|
|
|
btnevalEntetePasActivetrue.setEnabled(false);
|
|
|
|
btnevalEntetePasActivefalse.setEnabled(false);
|
2024-04-10 14:49:44 +02:00
|
|
|
}
|
2023-04-01 09:54:28 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
2022-06-15 08:03:17 +02:00
|
|
|
|
|
|
|
/**
|
2022-12-10 10:00:28 +01:00
|
|
|
* Fermeture de la fenêtre.</br>
|
2022-06-15 08:03:17 +02:00
|
|
|
*/
|
|
|
|
addWindowListener(new java.awt.event.WindowAdapter() {
|
|
|
|
@Override
|
|
|
|
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
|
|
|
|
if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
|
2023-04-01 09:54:28 +02:00
|
|
|
baseDonneesEvaluations.ferme();
|
|
|
|
evaluate.ferme();
|
|
|
|
fermeCreate();
|
2022-06-15 08:03:17 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2024-04-07 09:17:57 +02:00
|
|
|
|
2022-06-15 08:03:17 +02:00
|
|
|
|
2022-11-13 08:58:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2022-12-16 17:50:51 +01:00
|
|
|
* Repaint l'arbre.</br>
|
2022-11-13 08:58:51 +01:00
|
|
|
*/
|
2023-04-01 09:54:28 +02:00
|
|
|
@SuppressWarnings("unused")
|
2022-11-13 08:58:51 +01:00
|
|
|
private void refreshTree() {
|
|
|
|
tree.repaint();
|
2022-06-06 18:59:42 +02:00
|
|
|
}
|
2022-06-01 21:38:37 +02:00
|
|
|
|
|
|
|
|
2022-12-10 10:00:28 +01:00
|
|
|
/**
|
|
|
|
* Methode de construction de la barre de menu.</br>
|
|
|
|
* */
|
2022-05-28 19:13:25 +02:00
|
|
|
private JMenuBar createMenuBar() {
|
|
|
|
|
|
|
|
// La barre de menu à proprement parler
|
|
|
|
menuBar = new JMenuBar();
|
|
|
|
|
|
|
|
// Définition du menu déroulant "File" et de son contenu
|
2023-04-01 09:54:28 +02:00
|
|
|
JMenu mnuFile = new JMenu( "Base des évaluations" );
|
2022-05-28 19:13:25 +02:00
|
|
|
mnuFile.setMnemonic( 'F' );
|
2023-04-01 09:54:28 +02:00
|
|
|
JMenuItem menuItem_3 = mnuFile.add( new actOpenBaseEvaluation() );
|
|
|
|
menuItem_3.setText("Base des évaluations");
|
2022-06-06 09:50:45 +02:00
|
|
|
mnuFile.addSeparator();
|
2023-04-01 09:54:28 +02:00
|
|
|
JMenuItem menuItem_4 = mnuFile.add( new actSaveEvaluation());
|
|
|
|
menuItem_4.setText("Enregistrer l'évaluation");
|
2024-04-07 09:17:57 +02:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
mnuFile.addSeparator();
|
2023-04-01 09:54:28 +02:00
|
|
|
JMenuItem menuItem_5 = mnuFile.add( new actExit());
|
|
|
|
menuItem_5.setText("Quitter");
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
menuBar.add(mnuFile);
|
2024-03-01 18:21:34 +01:00
|
|
|
|
2022-06-06 09:50:45 +02:00
|
|
|
// Définition du menu Node
|
|
|
|
JMenu mnNode = new JMenu("Modifier");
|
2022-06-19 21:01:30 +02:00
|
|
|
mnNode.add( new actNodeFichier() );
|
2022-06-06 09:50:45 +02:00
|
|
|
mnNode.addSeparator();
|
|
|
|
menuBar.add(mnNode);
|
|
|
|
|
|
|
|
//Menu arbre
|
|
|
|
JMenu mnManageTree = new JMenu("Arbre");
|
2024-03-04 14:14:53 +01:00
|
|
|
JMenuItem menuMoveUp = mnManageTree.add(new actUpNode());
|
|
|
|
menuMoveUp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.SHIFT_DOWN_MASK));
|
2022-11-22 22:17:32 +01:00
|
|
|
JMenuItem menuItem_2 = mnManageTree.add(new actDownNode());
|
|
|
|
menuItem_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.SHIFT_DOWN_MASK));
|
2022-06-06 09:50:45 +02:00
|
|
|
mnManageTree.addSeparator();
|
2022-06-19 21:01:30 +02:00
|
|
|
mnManageTree.add(new actExpandAll());
|
|
|
|
mnManageTree.add(new actExpandNode());
|
2022-06-06 09:50:45 +02:00
|
|
|
mnManageTree.addSeparator();
|
2022-06-19 21:01:30 +02:00
|
|
|
mnManageTree.add(new actCollapseAll());
|
|
|
|
mnManageTree.add(new actCollapseNode());
|
2022-11-22 22:17:32 +01:00
|
|
|
mnManageTree.addSeparator();
|
|
|
|
JMenuItem menuItem_1 = mnManageTree.add(new actDeleteNode());
|
|
|
|
menuItem_1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_DOWN_MASK));
|
2022-06-06 09:50:45 +02:00
|
|
|
mnNode.add(mnManageTree);
|
|
|
|
mnNode.addSeparator();
|
|
|
|
|
|
|
|
//Définition Evaluer
|
|
|
|
JMenu mnEvaluer = new JMenu("Evaluer");
|
2022-06-19 21:01:30 +02:00
|
|
|
mnEvaluer.add(new actEvalueTrue());
|
|
|
|
mnEvaluer.add(new actEvalueFalse());
|
2024-04-07 09:17:57 +02:00
|
|
|
mnEvaluer.addSeparator();
|
|
|
|
mnEvaluer.add(new actAttribut());
|
|
|
|
mnEvaluer.addSeparator();
|
|
|
|
mnEvaluer.add(new actAllContent());
|
2022-06-06 09:50:45 +02:00
|
|
|
mnNode.add(mnEvaluer);
|
2024-03-04 14:14:53 +01:00
|
|
|
mnNode.addSeparator();
|
|
|
|
|
|
|
|
//Les titres pour la représentation
|
|
|
|
JMenu mnLesTitres= new JMenu("Les titres");
|
|
|
|
mnNode.add(mnLesTitres);
|
|
|
|
JMenuItem mnTitre1 = mnLesTitres.add(new actTitre1());
|
2024-04-06 16:20:55 +02:00
|
|
|
mnTitre1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, InputEvent.SHIFT_DOWN_MASK));
|
2024-03-04 14:14:53 +01:00
|
|
|
JMenuItem mnTitre2 = mnLesTitres.add(new actTitre2());
|
2024-04-06 16:20:55 +02:00
|
|
|
mnTitre2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, InputEvent.SHIFT_DOWN_MASK));
|
2024-03-04 14:14:53 +01:00
|
|
|
JMenuItem mnTitre3 = mnLesTitres.add(new actTitre3());
|
2024-04-06 16:20:55 +02:00
|
|
|
mnTitre3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, InputEvent.SHIFT_DOWN_MASK));
|
2022-06-06 09:50:45 +02:00
|
|
|
|
2022-06-01 21:38:37 +02:00
|
|
|
|
2022-06-06 09:50:45 +02:00
|
|
|
// Définition du menu déroulant "Création évaluation" et de son contenu
|
2024-04-07 09:17:57 +02:00
|
|
|
JMenu mnuExercice = new JMenu( "Evaluer les fichiers des étudiants" );
|
2022-05-28 19:13:25 +02:00
|
|
|
mnuExercice.setMnemonic( 'N' );
|
2022-06-19 21:01:30 +02:00
|
|
|
mnuExercice.add(new actEvaluer());
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
menuBar.add(mnuExercice);
|
|
|
|
|
|
|
|
// Définition du menu déroulant "Help" et de son contenu
|
2022-12-08 21:35:00 +01:00
|
|
|
JMenu mnuHelp = new JMenu( "Aides" );
|
2022-05-28 19:13:25 +02:00
|
|
|
mnuHelp.setMnemonic( 'H' );
|
2022-06-19 21:01:30 +02:00
|
|
|
mnuHelp.add( new actAPropos());
|
2022-12-08 21:35:00 +01:00
|
|
|
mnuHelp.addSeparator();
|
2022-06-19 21:01:30 +02:00
|
|
|
mnuHelp.add( new actDocumentation());
|
2022-12-08 21:35:00 +01:00
|
|
|
mnuHelp.addSeparator();
|
|
|
|
mnuHelp.add( new actTutoriels());
|
|
|
|
mnuHelp.addSeparator();
|
|
|
|
mnuHelp.add( new actLicence());
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
menuBar.add( mnuHelp );
|
|
|
|
|
|
|
|
return menuBar;
|
|
|
|
}
|
|
|
|
|
2022-12-11 08:30:19 +01:00
|
|
|
/**
|
|
|
|
* Methode de construction de la barre d'outils/</br>
|
|
|
|
*/
|
2022-05-28 19:13:25 +02:00
|
|
|
private void createToolBar() {
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal = new JToolBar();
|
2022-06-20 09:45:00 +02:00
|
|
|
toolBarPrincipal.setFloatable(false);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.setRollover(true);
|
2022-05-28 19:13:25 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.setName("outils principaux");
|
|
|
|
|
2023-04-01 09:54:28 +02:00
|
|
|
JButton btnChargeEvaluation = toolBarPrincipal.add( new actOpenBaseEvaluation() );
|
2023-02-18 18:05:42 +01:00
|
|
|
btnChargeEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/chargehistoriqueevaluation.png")));
|
|
|
|
btnChargeEvaluation.setHideActionText(true);
|
|
|
|
toolBarPrincipal.add(btnChargeEvaluation);
|
|
|
|
|
|
|
|
toolBarPrincipal.addSeparator();
|
2023-02-16 21:47:23 +01:00
|
|
|
|
2023-04-01 09:54:28 +02:00
|
|
|
JButton btnSaveEvaluation = toolBarPrincipal.add( new actSaveEvaluation() );
|
2024-04-10 12:29:17 +02:00
|
|
|
btnSaveEvaluation.addActionListener(new ActionListener() {
|
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
|
}
|
|
|
|
});
|
2023-04-01 09:54:28 +02:00
|
|
|
btnSaveEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/saveEvaluation.png")));
|
|
|
|
btnSaveEvaluation.setHideActionText(true);
|
|
|
|
toolBarPrincipal.add(btnSaveEvaluation);
|
2022-06-02 15:47:54 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnNewFichierAnalyse = toolBarPrincipal.add( new actNewFichierAnalyse() );
|
2024-03-21 09:19:25 +01:00
|
|
|
btnNewFichierAnalyse.addActionListener(new ActionListener() {
|
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
|
}
|
|
|
|
});
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2023-04-13 15:51:29 +02:00
|
|
|
|
2022-06-02 15:47:54 +02:00
|
|
|
btnNewFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierODF.png")));
|
|
|
|
btnNewFichierAnalyse.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnNewFichierAnalyse);
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.addSeparator();
|
2022-05-28 19:13:25 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
buttonEvaluate = toolBarPrincipal.add( new actEvaluer() );
|
2022-12-08 21:35:00 +01:00
|
|
|
buttonEvaluate.setIcon(new ImageIcon(create.class.getResource("/resources/versevaluate.png")));
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.addSeparator();
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnAfficheInformationFichierAnalyse = toolBarPrincipal.add( new actAfficheInformationFichierAnalyse() );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-09 09:13:46 +02:00
|
|
|
btnAfficheInformationFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyseInfo.png")));
|
|
|
|
btnAfficheInformationFichierAnalyse.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnAfficheInformationFichierAnalyse);
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnNodeFichier = toolBarPrincipal.add( new actNodeFichier() );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-01 21:38:37 +02:00
|
|
|
btnNodeFichier.setIcon(new ImageIcon(create.class.getResource("/resources/nodeFichier.png")));
|
|
|
|
btnNodeFichier.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnNodeFichier);
|
2022-05-28 19:13:25 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnSetting = toolBarPrincipal.add( new actSetting());
|
2022-06-11 12:10:28 +02:00
|
|
|
btnSetting.setIcon(new ImageIcon(create.class.getResource("/resources/setting.png")));
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnSetting);
|
2022-06-11 12:10:28 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.addSeparator();
|
2022-06-06 18:59:42 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnEvaluerTrue = toolBarPrincipal.add( new actEvalueTrue() );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-06 18:59:42 +02:00
|
|
|
btnEvaluerTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertrue.png")));
|
|
|
|
btnEvaluerTrue.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnEvaluerTrue);
|
2022-06-06 18:59:42 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnEvaluerFalse = toolBarPrincipal.add(new actEvalueFalse() );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-06 18:59:42 +02:00
|
|
|
btnEvaluerFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerfalse.png")));
|
|
|
|
btnEvaluerFalse.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnEvaluerFalse);
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnEvaluerTouteLaBrancheEtLesEnfantTrue = toolBarPrincipal.add( new actEvaluerTousEnfantsTrue() );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-09 09:13:46 +02:00
|
|
|
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfants.png")));
|
|
|
|
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantTrue);
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnEvaluerTouteLaBrancheEtLesEnfantFalse = toolBarPrincipal.add( new actEvaluerTousEnfantsFalse() );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-09 09:13:46 +02:00
|
|
|
btnEvaluerTouteLaBrancheEtLesEnfantFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfantsfaux.png")));
|
|
|
|
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantFalse);
|
2022-06-06 18:59:42 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.addSeparator();
|
2022-06-06 18:59:42 +02:00
|
|
|
|
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnAttribut = new JButton(new actAttribut());
|
2022-06-06 18:59:42 +02:00
|
|
|
btnAttribut.setText("");
|
|
|
|
btnAttribut.setIcon(new ImageIcon(create.class.getResource("/resources/attribut.png")));
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnAttribut);
|
2022-06-06 18:59:42 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.addSeparator();
|
2022-06-06 18:59:42 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnTotalPoint = new JButton(new actTotalPoint());
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-14 21:24:10 +02:00
|
|
|
btnTotalPoint.setToolTipText("Nombre de point total dans l'exercice.");
|
2022-06-06 18:59:42 +02:00
|
|
|
btnTotalPoint.setText("");
|
|
|
|
btnTotalPoint.setIcon(new ImageIcon(create.class.getResource("/resources/totalpoint.png")));
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnTotalPoint);
|
2022-06-06 18:59:42 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnTotalPointNode = toolBarPrincipal.add( new actTotalPointNode() );
|
2022-06-06 18:59:42 +02:00
|
|
|
btnTotalPointNode.setIcon(new ImageIcon(create.class.getResource("/resources/totalpointnode.png")));
|
|
|
|
btnTotalPointNode.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnTotalPointNode);
|
2022-06-06 18:59:42 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.addSeparator();
|
2022-06-04 15:43:08 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton btnAbout = toolBarPrincipal.add( new actAbout() );
|
2022-05-28 19:13:25 +02:00
|
|
|
btnAbout.setIcon(new ImageIcon(create.class.getResource("/resources/apropos.png")));
|
2024-04-06 13:44:21 +02:00
|
|
|
if(commandes.newVersion) btnAbout.setIcon(new ImageIcon(create.class.getResource("/resources/apropos_new.png")));
|
2022-05-28 19:13:25 +02:00
|
|
|
btnAbout.setHideActionText( true );
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnAbout);
|
2022-05-28 19:13:25 +02:00
|
|
|
|
2022-06-01 21:38:37 +02:00
|
|
|
|
2022-12-24 15:48:19 +01:00
|
|
|
JButton btnNewButton = toolBarPrincipal.add( new actDocumentation());
|
2022-12-08 21:35:00 +01:00
|
|
|
btnNewButton.setIcon(new ImageIcon(create.class.getResource("/resources/documentation.png")));
|
2022-06-09 09:13:46 +02:00
|
|
|
btnNewButton.setHideActionText(true);
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.add(btnNewButton);
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
toolBarPrincipal.addSeparator();
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
JButton buttonExit = toolBarPrincipal.add( new actExit() );
|
2023-04-01 09:54:28 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
buttonExit.setHideActionText( true );
|
2022-05-28 19:13:25 +02:00
|
|
|
}
|
|
|
|
|
2022-06-01 21:38:37 +02:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
/**
|
2022-12-11 08:30:19 +01:00
|
|
|
* Annule une action.</br>
|
2022-05-28 19:13:25 +02:00
|
|
|
*/
|
2023-04-04 14:29:25 +02:00
|
|
|
@SuppressWarnings("unused")
|
2022-05-28 19:13:25 +02:00
|
|
|
private AbstractAction actUndo = new AbstractAction() {
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
{
|
|
|
|
putValue( Action.NAME, "Annuler" );
|
|
|
|
putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/undo.png") ) );
|
|
|
|
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_U );
|
|
|
|
putValue( Action.SHORT_DESCRIPTION, "Annuler (CTRL+Z)" );
|
|
|
|
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override public void actionPerformed( ActionEvent e ) {
|
|
|
|
System.out.println( "Undo" );
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
2023-04-04 14:29:25 +02:00
|
|
|
@SuppressWarnings("unused")
|
2022-05-28 19:13:25 +02:00
|
|
|
private AbstractAction actRedo = new AbstractAction() {
|
|
|
|
|
2022-11-24 17:01:49 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
2022-05-28 19:13:25 +02:00
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
{
|
|
|
|
putValue( Action.NAME, "Refaire" );
|
|
|
|
putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/redo.png") ) );
|
|
|
|
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_R );
|
|
|
|
putValue( Action.SHORT_DESCRIPTION, "Refaire (CTRL+U)" );
|
|
|
|
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override public void actionPerformed( ActionEvent e ) {
|
|
|
|
System.out.println( "Redo" );
|
|
|
|
}
|
|
|
|
};
|
2022-06-19 21:01:30 +02:00
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
2023-04-04 14:29:25 +02:00
|
|
|
@SuppressWarnings("unused")
|
2022-05-28 19:13:25 +02:00
|
|
|
private AbstractAction actCut = new AbstractAction() {
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
{
|
|
|
|
putValue( Action.NAME, "Couper" );
|
|
|
|
putValue( Action.SMALL_ICON, new ImageIcon( getClass().getResource("/cut.png") ) );
|
|
|
|
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_T );
|
|
|
|
putValue( Action.SHORT_DESCRIPTION, "Couper (CTRL+X)" );
|
|
|
|
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK ) );
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override public void actionPerformed( ActionEvent e ) {
|
|
|
|
System.out.println( "Cut" );
|
|
|
|
}
|
|
|
|
};
|
2024-04-07 09:17:57 +02:00
|
|
|
|
2022-06-15 20:47:04 +02:00
|
|
|
|
2022-12-10 10:00:28 +01:00
|
|
|
/**
|
|
|
|
* Ferme l'application.</br>
|
|
|
|
*/
|
2022-06-19 21:01:30 +02:00
|
|
|
public void closeWindows() {
|
|
|
|
if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
|
2023-02-18 18:05:42 +01:00
|
|
|
isDispose=true;
|
|
|
|
dispose();
|
2022-06-19 21:01:30 +02:00
|
|
|
}
|
|
|
|
}
|
2022-06-01 21:38:37 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
public void closeDirectlyWindows() {
|
2023-02-18 18:05:42 +01:00
|
|
|
isDispose=true;
|
2022-06-19 21:01:30 +02:00
|
|
|
this.dispose();
|
|
|
|
}
|
2022-06-01 21:38:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
/**
|
|
|
|
* Construction du Tree avec le node sujet.
|
|
|
|
*/
|
2022-06-19 21:01:30 +02:00
|
|
|
public static void constructionTree() {
|
2022-06-01 21:38:37 +02:00
|
|
|
|
|
|
|
Run.parentAndLevel(commandes.sujet, commandes.sujet, 0);
|
|
|
|
|
2022-06-12 09:39:22 +02:00
|
|
|
DefaultMutableTreeNode root = null;
|
2022-05-28 19:13:25 +02:00
|
|
|
|
|
|
|
commandes.tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
|
|
|
|
commandes.tree.setExpandsSelectedPaths(true);
|
|
|
|
commandes.tree.setInvokesStopCellEditing(true);
|
|
|
|
|
2022-06-01 21:38:37 +02:00
|
|
|
tree.setExpandsSelectedPaths(true);
|
|
|
|
tree.setInvokesStopCellEditing(true);
|
2022-11-13 08:58:51 +01:00
|
|
|
|
2022-06-13 17:43:41 +02:00
|
|
|
//Construction si c'est un fichier d'analyse
|
2022-06-02 15:47:54 +02:00
|
|
|
if(commandes.sujet.getNomElt().equals("fichier")) {
|
2022-11-13 08:58:51 +01:00
|
|
|
|
2022-06-13 17:43:41 +02:00
|
|
|
root = new DefaultMutableTreeNode(commandes.sujet,true);
|
2022-11-13 08:58:51 +01:00
|
|
|
|
2022-06-12 09:39:22 +02:00
|
|
|
root = addNodeMutable(commandes.sujet, root);
|
2022-11-13 08:58:51 +01:00
|
|
|
|
2022-06-13 17:43:41 +02:00
|
|
|
commandes.tree = new JTree(root);
|
|
|
|
|
2022-11-13 08:58:51 +01:00
|
|
|
tree.setCellRenderer(new MyTreeCellRenderer());
|
|
|
|
// tree.setCellRenderer(new MyCellRenderer());
|
2022-06-13 17:43:41 +02:00
|
|
|
|
|
|
|
tree.setModel(commandes.tree.getModel()) ;
|
2022-11-13 08:58:51 +01:00
|
|
|
|
2023-04-01 09:54:28 +02:00
|
|
|
refreshLabelInfo();
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2023-04-01 09:54:28 +02:00
|
|
|
/**
|
|
|
|
* Rafraichi le label info contenant le nm du fichier d'analyse.
|
|
|
|
*/
|
|
|
|
private static void refreshLabelInfo() {
|
|
|
|
//Mise à jour du label info
|
|
|
|
if(commandes.sujet.getAttributs().get("analysis_filename")!=null) {
|
|
|
|
lblInfo.setText(commandes.sujet.getAttributs().get("analysis_filename"));
|
|
|
|
}else {
|
|
|
|
lblInfo.setText("fichier d'analyse");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-06-12 09:39:22 +02:00
|
|
|
/**
|
|
|
|
* Permet la construction du tree.
|
|
|
|
* @param nod
|
|
|
|
* @param parent
|
|
|
|
* @return
|
|
|
|
*/
|
2022-06-19 21:01:30 +02:00
|
|
|
private static DefaultMutableTreeNode addNodeMutable(node nod, DefaultMutableTreeNode parent) {
|
2022-06-12 09:39:22 +02:00
|
|
|
if(nod!=null) {
|
|
|
|
DefaultMutableTreeNode node1 = null;
|
2022-11-13 08:58:51 +01:00
|
|
|
|
2022-06-12 09:39:22 +02:00
|
|
|
for(int i = 0 ; i < nod.getNodes().size(); i++) {
|
2022-11-13 08:58:51 +01:00
|
|
|
// Le node setting ne doit pas s'afficher dans le JTree
|
2022-06-13 17:43:41 +02:00
|
|
|
if(!nod.getNodes().get(i).getNomElt().equals("setting")) {
|
2022-11-13 08:58:51 +01:00
|
|
|
|
2022-06-13 17:43:41 +02:00
|
|
|
node1 = new DefaultMutableTreeNode(nod.getNodes().get(i));
|
|
|
|
addNodeMutable(nod.getNodes().get(i), node1);
|
|
|
|
parent.add(node1);
|
|
|
|
}
|
2022-06-12 09:39:22 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return parent;
|
|
|
|
}
|
2022-06-09 09:13:46 +02:00
|
|
|
|
2022-12-11 08:30:19 +01:00
|
|
|
/**
|
|
|
|
* Lecture du fichier déjà chargé.</br>
|
|
|
|
*/
|
|
|
|
private static void lectureFichierDejaCharger() {
|
|
|
|
if(commandes.fichierAnalyseValide) {
|
2022-12-13 08:27:40 +01:00
|
|
|
tree.setVisible(true);
|
2022-12-11 08:30:19 +01:00
|
|
|
fenetres.create.constructionTree();
|
|
|
|
fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse();
|
2023-04-04 14:29:25 +02:00
|
|
|
// fenetres.create.getTglbtnTousLesNodes().setSelected(false);
|
2022-12-11 08:30:19 +01:00
|
|
|
fenetres.create.getButtonEvaluate().setEnabled(true);
|
2023-06-22 13:51:14 +02:00
|
|
|
fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse();
|
2024-04-06 15:13:13 +02:00
|
|
|
// table.setModel(new myTableModel(commandes.sujet.retourneFirstEnfantsByName("structurepage")));
|
|
|
|
// table.setVisible(true);
|
2023-06-22 13:51:14 +02:00
|
|
|
}else {
|
2022-12-11 08:30:19 +01:00
|
|
|
fenetres.create.getTextNodeSelect().setContentType("text/plain");
|
2024-04-06 15:13:13 +02:00
|
|
|
// table.setVisible(false);
|
2022-12-11 08:30:19 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
public static JTree getTree() {
|
|
|
|
return tree;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-11-24 12:33:03 +01:00
|
|
|
public static void setTree(TreeModel newModel) {
|
|
|
|
tree.setModel(newModel);
|
|
|
|
}
|
2022-06-19 21:01:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
public static DefaultMutableTreeNode getSelectNode() {
|
|
|
|
return selectNode;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static afficheText getTextNodeSelect() {
|
|
|
|
return textNodeSelect;
|
2022-05-28 19:13:25 +02:00
|
|
|
}
|
2022-06-19 21:01:30 +02:00
|
|
|
|
2022-06-01 21:38:37 +02:00
|
|
|
|
|
|
|
|
2023-04-04 14:29:25 +02:00
|
|
|
// public static JToggleButton getTglbtnTousLesNodes() {
|
|
|
|
// return tglbtnTousLesNodes;
|
|
|
|
// }
|
2022-06-19 21:01:30 +02:00
|
|
|
|
|
|
|
public static JButton getButtonEvaluate() {
|
|
|
|
return buttonEvaluate;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void expandAll() {
|
2022-06-01 21:38:37 +02:00
|
|
|
Enumeration<?> topLevelNodes = ((TreeNode) tree.getModel().getRoot()).children();
|
|
|
|
while(topLevelNodes.hasMoreElements()) {
|
|
|
|
DefaultMutableTreeNode N = (DefaultMutableTreeNode) topLevelNodes.nextElement();
|
|
|
|
tree.expandPath(new TreePath(N.getPath()));
|
|
|
|
expandNode( N);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
public static void collapseAll() {
|
2022-06-01 21:38:37 +02:00
|
|
|
Enumeration<?> topLevelNodes = ((TreeNode) tree.getModel().getRoot()).children();
|
|
|
|
while(topLevelNodes.hasMoreElements()) {
|
|
|
|
DefaultMutableTreeNode N = (DefaultMutableTreeNode) topLevelNodes.nextElement();
|
|
|
|
tree.collapsePath(new TreePath(N.getPath()));
|
|
|
|
collapseNode(N);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
public static void expandNode(DefaultMutableTreeNode N) {
|
2022-06-01 21:38:37 +02:00
|
|
|
Enumeration<?> topLevelNodes = ((TreeNode) N).children();
|
|
|
|
while(topLevelNodes.hasMoreElements()) {
|
|
|
|
DefaultMutableTreeNode N1 = (DefaultMutableTreeNode) topLevelNodes.nextElement();
|
|
|
|
tree.expandPath(new TreePath(N1.getPath()));
|
|
|
|
expandNode(N1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-06-19 21:01:30 +02:00
|
|
|
public static void collapseNode(DefaultMutableTreeNode N) {
|
2022-06-01 21:38:37 +02:00
|
|
|
Enumeration<?> topLevelNodes = ((TreeNode) N).children();
|
|
|
|
while(topLevelNodes.hasMoreElements()) {
|
|
|
|
DefaultMutableTreeNode N1 = (DefaultMutableTreeNode) topLevelNodes.nextElement();
|
|
|
|
tree.collapsePath(new TreePath(N1.getPath()));
|
|
|
|
collapseNode( N1 );
|
|
|
|
}
|
|
|
|
tree.collapsePath(new TreePath(N.getPath()));
|
|
|
|
}
|
2022-12-21 17:54:28 +01:00
|
|
|
|
2022-06-13 17:43:41 +02:00
|
|
|
|
2022-06-22 16:15:17 +02:00
|
|
|
|
2022-06-02 15:47:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-05-28 19:13:25 +02:00
|
|
|
}
|
2022-06-02 15:47:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-11 08:30:19 +01:00
|
|
|
|
2022-06-02 15:47:54 +02:00
|
|
|
|