analyseWriter/src/fenetres/create.java

1056 lines
38 KiB
Java
Raw Normal View History

2022-06-19 21:01:30 +02:00
package fenetres;
import java.awt.BorderLayout;
import java.awt.Color;
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.util.Enumeration;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
2022-06-01 21:38:37 +02:00
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.KeyStroke;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
2022-06-01 21:38:37 +02:00
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
import MEPTL.commandes;
2022-06-02 15:47:54 +02:00
import MEPTL.ecritureSujet;
import cXML.Run;
2022-06-01 21:38:37 +02:00
import cXML.node;
2022-06-19 21:01:30 +02:00
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.actCopy;
2022-06-19 21:01:30 +02:00
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;
2022-06-20 09:45:00 +02:00
import fenetres.create_act.actEvalNumeroAbsoluePageNon;
import fenetres.create_act.actEvalNumeroAbsoluePageOui;
import fenetres.create_act.actEvalNumeroPageNon;
import fenetres.create_act.actEvalNumeroPageOui;
2022-06-19 21:01:30 +02:00
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.actPaste;
2022-06-19 21:01:30 +02:00
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;
2022-06-09 09:13:46 +02:00
import javax.swing.JToggleButton;
2022-06-19 21:01:30 +02:00
import java.awt.GridLayout;
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-06-19 21:01:30 +02:00
public final class create extends JFrame {
private static final long serialVersionUID = 1L;
// les élément 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-06-20 09:45:00 +02:00
// private toolBarRecherche bRecherche;
2022-06-19 21:01:30 +02:00
2022-06-20 09:45:00 +02:00
// private JCheckBoxMenuItem chckbxtoolBarRecherche;
2022-06-19 21:01:30 +02:00
private JMenuBar menuBar = new JMenuBar();
2022-06-19 21:01:30 +02:00
private static JButton buttonEvaluate;
private static JToggleButton tglbtnTousLesNodes;
private JPanel panelPrincipal;
2022-06-20 09:45:00 +02:00
// private JPanel panel;
2022-06-19 21:01:30 +02:00
private static create instance;
/**
* Create the application.
*/
public create() {
try {
initialize();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
setVisible(true);
}
2022-06-19 21:01:30 +02:00
public static create getInstance() {
if (instance == null) {
instance = new create();
}
instance.setVisible(true);
return instance;
}
2022-06-03 21:30:14 +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
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
2022-06-06 18:59:42 +02:00
setTitle(commandes.Titre + " " + commandes.version + " " + commandes.branch);
setIconImage(img.getImage());
setLocationRelativeTo( null );
2022-06-15 08:03:17 +02:00
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
// Construction et injection de la barre de menu
setJMenuBar( this.createMenuBar() );
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-06-19 21:01:30 +02:00
this.createToolBar();
panelPrincipal = new JPanel();
getContentPane().add(panelPrincipal, BorderLayout.NORTH);
2022-06-02 17:48:14 +02:00
this.createPopupMenuTree(null);
2022-06-19 21:01:30 +02:00
// The content of the window
if(commandes.fichierAnalyseValide) tree = commandes.tree;
JScrollPane leftScrollPane = new JScrollPane( );
leftScrollPane.setPreferredSize( new Dimension(400, 0) );
JScrollPane rightScrollPane = new JScrollPane( );
JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftScrollPane, rightScrollPane );
2022-06-04 15:43:08 +02:00
splitPane.setBounds(10, 10, 1364, 783);
rightScrollPane.setViewportView(textNodeSelect);
textNodeSelect.setFont(new Font("Monospaced", Font.PLAIN, 15));
leftScrollPane.setViewportView(tree);
tree.setFont(new Font("Tahoma", Font.PLAIN, 14));
2022-06-06 09:50:45 +02:00
getContentPane().add(splitPane, 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
2022-06-20 09:45:00 +02:00
// panelPrincipal.add(bRecherche, "cell 0 1,alignx left,aligny top");
// panelPrincipal.add(bRecherche2, "cell 0 1,alignx left,aligny top");
// panelPrincipal.add(label, "cell 2 1,alignx left,aligny center");
2022-06-19 21:01:30 +02:00
2022-06-02 15:47:54 +02:00
if(commandes.fichierAnalyseValide) constructionTree();
2022-06-06 09:50:45 +02:00
this.setExtendedState(MAXIMIZED_BOTH);
ListenerAction();
}
2022-06-14 20:09:16 +02:00
/**
* Selection du node du tree et d'un node CXML
*/
private void ListenerAction() {
2022-06-15 08:03:17 +02:00
/**
* Selection d'un node dans le JTree.
*/
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-06-05 18:42:06 +02:00
node nod = (node) selectNode.getUserObject();
createPopupMenuTree(nod);
textNodeSelect.refreshAffichage(nod);
}
2022-06-01 21:38:37 +02:00
}
});
2022-06-15 08:03:17 +02:00
/**
* Fermeture de la fenêtre.
*/
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) {
dispose();
};
}
});
2022-06-20 09:45:00 +02:00
// 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);
// }
// }
// });
2022-06-19 21:01:30 +02:00
2022-06-06 18:59:42 +02:00
}
2022-06-01 21:38:37 +02:00
/**
* Création du menu contextuel du tree
* @return
*/
2022-06-02 17:48:14 +02:00
private void createPopupMenuTree(node nod) {
2022-06-04 21:12:59 +02:00
2022-06-02 17:48:14 +02:00
if(nod!=null) {
2022-06-02 22:19:32 +02:00
// boolean nodeSetting = false;
// boolean nodeFormatageDirectePasDeTitrePasAddMenu = false;
//
//
// node nodStyleParent = nod.retourneParentAyantLAttribut("style:name");
// if(!nod.getNomElt().equals("page")) {
// if(nodStyleParent!=null) {
// String nomDuStle = nodStyleParent.getAttributs().get("style:name");
// Pattern p = Pattern.compile("^P[0-9]{1,}$|^T[0-9]{1,}$");
// Matcher m = p.matcher(nomDuStle);
// if(m.find()) {
// nodeFormatageDirectePasDeTitrePasAddMenu = true;
// }
// }
// }
2022-06-05 11:19:09 +02:00
//Menu Evaluer
2022-06-02 17:48:14 +02:00
JMenu mnEvaluer = new JMenu("Evaluer");
2022-06-19 21:01:30 +02:00
mnEvaluer.add(new actEvalueTrue());
mnEvaluer.add(new actEvalueFalse());
2022-06-02 17:48:14 +02:00
2022-06-05 11:19:09 +02:00
//Menu arbre
2022-06-02 17:48:14 +02:00
JMenu mnManageTree = new JMenu("Arbre");
2022-06-19 21:01:30 +02:00
mnManageTree.add(new actUpNode());
mnManageTree.add(new actDownNode());
2022-06-04 21:12:59 +02:00
mnManageTree.addSeparator();
2022-06-19 21:01:30 +02:00
mnManageTree.add(new actExpandAll());
mnManageTree.add(new actExpandNode());
2022-06-02 17:48:14 +02:00
mnManageTree.addSeparator();
2022-06-19 21:01:30 +02:00
mnManageTree.add(new actCollapseAll());
mnManageTree.add(new actCollapseNode());
2022-06-02 17:48:14 +02:00
2022-06-06 18:59:42 +02:00
//Menu Saut niveau >1
2022-06-02 22:19:32 +02:00
JMenu mnSaut = new JMenu("Saut de ligne avant");
mnSaut.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png")));
2022-06-19 21:01:30 +02:00
mnSaut.add(new actsauttrue());
mnSaut.add(new actsautfalse());
2022-06-02 17:48:14 +02:00
2022-06-06 18:59:42 +02:00
//Menu saut niveau = 1
2022-06-05 11:19:09 +02:00
//Menu Saut
JMenu mnSautNiveau1 = new JMenu("Saut de ligne avant");
mnSautNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png")));
2022-06-19 21:01:30 +02:00
mnSautNiveau1.add(new actsauttrue());
mnSautNiveau1.add(new actsautfalse());
2022-06-05 11:19:09 +02:00
2022-06-06 18:59:42 +02:00
//Menu Titre niveau > 1
2022-06-02 22:19:32 +02:00
JMenu mnTitre = new JMenu("Titre");
mnTitre.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png")));
2022-06-19 21:01:30 +02:00
mnTitre.add(new actTitrePrincipal());
mnTitre.add(new actTitre1());
mnTitre.add(new actTitre2());
mnTitre.add(new actTitre3());
2022-06-04 21:12:59 +02:00
mnTitre.addSeparator();
2022-06-19 21:01:30 +02:00
mnTitre.add(new actSupprimeTitre());
2022-06-02 17:48:14 +02:00
2022-06-06 18:59:42 +02:00
//Menu Titre niveau = 1
2022-06-05 11:19:09 +02:00
JMenu mnTitreNiveau1 = new JMenu("Titre");
mnTitreNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png")));
2022-06-19 21:01:30 +02:00
mnTitreNiveau1.add(new actTitrePrincipal());
mnTitreNiveau1.add(new actTitre1());
mnTitreNiveau1.add(new actTitre2());
mnTitreNiveau1.add(new actTitre3());
2022-06-05 11:19:09 +02:00
mnTitreNiveau1.addSeparator();
2022-06-19 21:01:30 +02:00
mnTitreNiveau1.add(new actSupprimeTitre());
2022-06-02 22:19:32 +02:00
2022-06-06 18:59:42 +02:00
//Menu ajoute un lien de menu niveau 1
JMenu mnAddMenuNiveau1= new JMenu("Lien"); //addMenu
mnAddMenuNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/addmenumini.png")));
2022-06-19 21:01:30 +02:00
mnAddMenuNiveau1.add(new actAddMenuTrue());
mnAddMenuNiveau1.add(new actAddMenuFalse());
2022-06-02 22:19:32 +02:00
2022-06-06 18:59:42 +02:00
//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")));
2022-06-19 21:01:30 +02:00
mnAddMenuNiveauSup1.add(new actAddMenuTrue());
mnAddMenuNiveauSup1.add(new actAddMenuFalse());
2022-06-06 18:59:42 +02:00
//Menu recherche par l'index
JMenu mnRechercheIndex = new JMenu("Recherche par l'index");
mnRechercheIndex.setIcon(new ImageIcon(create.class.getResource("/resources/rechercheindexmini.png")));
2022-06-19 21:01:30 +02:00
mnRechercheIndex.add( new actRechercheIndextrue()) ;
2022-06-06 18:59:42 +02:00
mnRechercheIndex.addSeparator();
2022-06-19 21:01:30 +02:00
mnRechercheIndex.add(new actRechercheIndexfalse());
2022-06-06 18:59:42 +02:00
//Menu recherche par le contenu Exact
JMenu mnRechercheContenu = new JMenu("Recherche par le contenu exact");
2022-06-06 18:59:42 +02:00
mnRechercheContenu.setIcon(new ImageIcon(create.class.getResource("/resources/recherchecontenumini.png")));
2022-06-19 21:01:30 +02:00
mnRechercheContenu.add( new actRechercheContenutrue());
2022-06-06 18:59:42 +02:00
mnRechercheContenu.addSeparator();
2022-06-19 21:01:30 +02:00
mnRechercheContenu.add( new actRechercheContenufalse());
2022-06-06 18:59:42 +02:00
//Menu recherche par le contenu plus proche voisin
2022-06-11 12:10:28 +02:00
JMenu mnRechercheContenuPlusProcheVoisin = new JMenu("Recherche par le plus proche voisin");
2022-06-19 21:01:30 +02:00
mnRechercheContenuPlusProcheVoisin.setIcon(new ImageIcon(create.class.getResource("/resources/recherchecontenuplusprochevoisinmini.png")));
mnRechercheContenuPlusProcheVoisin.add( new actRechercheContenuPlusProcheVoisintrue());
mnRechercheContenuPlusProcheVoisin.addSeparator();
2022-06-19 21:01:30 +02:00
mnRechercheContenuPlusProcheVoisin.add(new actRechercheContenuPlusProcheVoisinfalse());
2022-06-09 09:13:46 +02:00
//Menu analyseStyle (évaluer le style du paragraphe)
2022-06-06 18:59:42 +02:00
JMenu mnAnalyseStyle = new JMenu("Evaluer le style");
mnAnalyseStyle.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerstylemini.png")));
2022-06-19 21:01:30 +02:00
mnAnalyseStyle.add(new actEvaluerStyleTrue());
2022-06-06 18:59:42 +02:00
mnAnalyseStyle.addSeparator();
2022-06-19 21:01:30 +02:00
mnAnalyseStyle.add( new actEvaluerStyleFalse());
2022-06-06 18:59:42 +02:00
//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")));
2022-06-19 21:01:30 +02:00
mnevalEntetePasActive.add(new actEvalEntetePasActive());
mnevalEntetePasActive.add(new actEvalEnteteActive());
//Menu evalPiedPagePasActive (pour les style:footer-style)
2022-06-16 16:45:48 +02:00
JMenu mnEvalPiedPagePasActive = new JMenu("Pied page pas activé");
mnEvalPiedPagePasActive.setIcon(new ImageIcon(create.class.getResource("/resources/piedpagenonmini.png")));
2022-06-19 21:01:30 +02:00
mnEvalPiedPagePasActive.add(new actEvalPiedPagePasActive());
mnEvalPiedPagePasActive.add(new actEvalPiedPageActive());
2022-06-06 18:59:42 +02:00
//Menu Evaluer présence d'un node pour les nodes de niveau > 1
2022-06-04 21:12:59 +02:00
JMenu mnEvalNameNode = new JMenu("Evaluer la présence du node");
mnEvalNameNode.setIcon(new ImageIcon(create.class.getResource("/resources/evalnodemini.png")));
2022-06-19 21:01:30 +02:00
mnEvalNameNode.add(new actEvalNameNodeOui());
mnEvalNameNode.add(new actEvalNameNodeNon());
2022-06-02 22:19:32 +02:00
2022-06-16 16:45:48 +02:00
//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")));
2022-06-19 21:01:30 +02:00
mnEvalNameSequence.add(new actEvalNameSequenceOui());
mnEvalNameSequence.add(new actEvalNameSequenceNon());
2022-06-16 16:45:48 +02:00
2022-06-20 09:45:00 +02:00
//Menu evalNamePage (pour les nodes page)
2022-06-16 17:41:16 +02:00
JMenu mnEvalNamePage = new JMenu("Evaluer le nom de la page");
mnEvalNamePage.setIcon(new ImageIcon(create.class.getResource("/resources/evalnamepagemini.png")));
2022-06-19 21:01:30 +02:00
mnEvalNamePage.add(new actEvalNamePageOui());
mnEvalNamePage.add(new actEvalNamePageNon());
2022-06-16 17:41:16 +02:00
2022-06-20 09:45:00 +02:00
//Menu evalNumeroPage (pour les nodes page)
JMenu mnEvalNumeroPage = new JMenu("Evaluer le numéro de la page");
mnEvalNumeroPage.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeropagemini.png")));
mnEvalNumeroPage.add(new actEvalNumeroPageOui());
mnEvalNumeroPage.add(new actEvalNumeroPageNon());
//Menu evalNumeroPage (pour les nodes page)
JMenu mnEvalNumeroAbsoluePage = new JMenu("Evaluer le numéro absolue de la page");
mnEvalNumeroAbsoluePage.setIcon(new ImageIcon(create.class.getResource("/resources/evalnumeroabsoluepagemini.png")));
mnEvalNumeroAbsoluePage.add(new actEvalNumeroAbsoluePageOui());
mnEvalNumeroAbsoluePage.add(new actEvalNumeroAbsoluePageNon());
2022-06-16 16:45:48 +02:00
2022-06-09 09:13:46 +02:00
//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")));
2022-06-19 21:01:30 +02:00
mnRechercheParNumeroPageAncrer.add( new actRechercheAnchorPageNumberTrue());
2022-06-09 09:13:46 +02:00
mnRechercheParNumeroPageAncrer.addSeparator();
2022-06-19 21:01:30 +02:00
mnRechercheParNumeroPageAncrer.add( new actRechercheAnchorPageNumberFalse());
//Menu Représentation dans le feedback
JMenu mnPourFeedback = new JMenu("Pour représentation feedback");
mnPourFeedback.add(mnSaut);
mnPourFeedback.addSeparator();
mnPourFeedback.add(mnTitre);
mnPourFeedback.addSeparator();
mnPourFeedback.add(mnAddMenuNiveauSup1);
2022-06-19 21:01:30 +02:00
2022-06-09 09:13:46 +02:00
2022-06-06 18:59:42 +02:00
//***************************
//** Menu node niveau = 1 ***
//***************************
2022-06-05 11:19:09 +02:00
JMenu mnNiveau1 = new JMenu("Attributs aW, niveau 1 ");
2022-06-09 09:13:46 +02:00
mnNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/attributanalysewritermini.png")));
2022-06-19 21:01:30 +02:00
mnNiveau1.add(new actCoefficient());
2022-06-05 11:19:09 +02:00
mnNiveau1.addSeparator();
mnNiveau1.add(mnSautNiveau1);
mnNiveau1.addSeparator();
mnNiveau1.add(mnTitreNiveau1);
2022-06-06 18:59:42 +02:00
mnNiveau1.addSeparator();
mnNiveau1.add(mnAddMenuNiveau1);
2022-06-05 11:19:09 +02:00
2022-06-19 21:01:30 +02:00
2022-06-05 11:19:09 +02:00
2022-06-19 21:01:30 +02:00
//*********************************************
//** La popupMenu qui s'affiche sur le tree ***
//*********************************************
2022-06-02 22:19:32 +02:00
JPopupMenu mnPopupTree = new JPopupMenu();
mnPopupTree.add(mnEvaluer);
2022-06-19 21:01:30 +02:00
if(nod.getLevel()==1 ) {
2022-06-02 17:48:14 +02:00
mnPopupTree.addSeparator();
2022-06-05 11:19:09 +02:00
mnPopupTree.add(mnNiveau1);
2022-06-02 17:48:14 +02:00
}
2022-06-19 21:01:30 +02:00
//Pour les nodes de niveau supérieur à 1
if(nod.getLevel()>1 ) {
2022-06-05 11:19:09 +02:00
mnPopupTree.addSeparator();
2022-06-19 21:01:30 +02:00
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);
2022-06-20 09:45:00 +02:00
mnPopupTree.addSeparator();
mnPopupTree.add(mnEvalNumeroPage);
mnPopupTree.addSeparator();
mnPopupTree.add(mnEvalNumeroAbsoluePage);
2022-06-19 21:01:30 +02:00
}
2022-06-02 22:19:32 +02:00
mnPopupTree.addSeparator();
2022-06-19 21:01:30 +02:00
mnPopupTree.add(new actAttribut());
2022-06-05 11:19:09 +02:00
}
2022-06-19 21:01:30 +02:00
2022-06-02 17:48:14 +02:00
mnPopupTree.addSeparator();
mnPopupTree.add(mnManageTree);
2022-06-19 21:01:30 +02:00
mnPopupTree.addSeparator();
mnPopupTree.add(new actDeleteNode());
2022-06-02 17:48:14 +02:00
tree.setComponentPopupMenu(mnPopupTree);
2022-06-05 18:42:06 +02:00
}
}
2022-06-19 21:01:30 +02:00
2022-06-01 21:38:37 +02:00
/* Methode de construction de la barre de menu */
private JMenuBar createMenuBar() {
// La barre de menu à proprement parler
menuBar = new JMenuBar();
// Définition du menu déroulant "File" et de son contenu
JMenu mnuFile = new JMenu( "Fichier" );
mnuFile.setMnemonic( 'F' );
/*JMenuItem mnuNewFile =*/
2022-06-19 21:01:30 +02:00
mnuFile.add( new actOpen() );
mnuFile.add( new actNewFichierAnalyse() );
2022-06-06 09:50:45 +02:00
mnuFile.addSeparator();
2022-06-19 21:01:30 +02:00
mnuFile.add( new actSave() );
mnuFile.add( new actSaveAs() );
mnuFile.addSeparator();
2022-06-19 21:01:30 +02:00
mnuFile.add( new actExit() );
menuBar.add(mnuFile);
// Définition du menu déroulant "Edit" et de son contenu
JMenu mnuEdit = new JMenu( "Edition" );
mnuEdit.setMnemonic( 'E' );
mnuEdit.add( actUndo );
mnuEdit.add( actRedo );
mnuEdit.addSeparator();
mnuEdit.add( new actCopy() );
mnuEdit.add( actCut );
mnuEdit.add( new actPaste() );
menuBar.add(mnuEdit);
2022-06-20 09:45:00 +02:00
// chckbxtoolBarRecherche = new JCheckBoxMenuItem("Barre outils recherche node");
// chckbxtoolBarRecherche.setSelected(true);
// mnAffiche.add(chckbxtoolBarRecherche);
2022-06-19 21:01:30 +02: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");
2022-06-19 21:01:30 +02:00
mnManageTree.add(new actUpNode());
mnManageTree.add(new actDownNode());
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-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());
2022-06-06 09:50:45 +02:00
mnNode.add(mnEvaluer);
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
JMenu mnuExercice = new JMenu( "Création évaluation" );
mnuExercice.setMnemonic( 'N' );
2022-06-19 21:01:30 +02:00
mnuExercice.add(new actEvaluer());
menuBar.add(mnuExercice);
// Définition du menu déroulant "Help" et de son contenu
JMenu mnuHelp = new JMenu( "Aide" );
mnuHelp.setMnemonic( 'H' );
2022-06-19 21:01:30 +02:00
mnuHelp.add( new actAPropos());
mnuHelp.add( new actDocumentation());
menuBar.add( mnuHelp );
return menuBar;
}
/* Methode de construction de la barre d'outils */
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-06-19 21:01:30 +02:00
toolBarPrincipal.setName("outils principaux");
JButton buttonLoadFile = toolBarPrincipal.add( new actOpen() );
buttonLoadFile.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyse.png")));
2022-06-01 21:38:37 +02:00
buttonLoadFile.setHideActionText(true);
2022-06-19 21:01:30 +02:00
toolBarPrincipal.add(buttonLoadFile);
2022-06-02 15:47:54 +02:00
2022-06-19 21:01:30 +02:00
JButton btnNewFichierAnalyse = toolBarPrincipal.add( new actNewFichierAnalyse() );
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-06-19 21:01:30 +02:00
buttonEvaluate = toolBarPrincipal.add( new actEvaluer() );
buttonEvaluate.setIcon(new ImageIcon(create.class.getResource("/resources/evaluate.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() );
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() );
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-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() );
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() );
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() );
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() );
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());
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-09 09:13:46 +02:00
tglbtnTousLesNodes = new JToggleButton("");
2022-06-19 21:01:30 +02:00
tglbtnTousLesNodes.setAction(new actTousLesNodesEvaluer());
2022-06-09 09:13:46 +02:00
tglbtnTousLesNodes.setIcon(new ImageIcon(create.class.getResource("/resources/lesnodesevaluer.png")));
2022-06-19 21:01:30 +02:00
toolBarPrincipal.add(tglbtnTousLesNodes);
2022-06-09 09:13:46 +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() );
btnAbout.setIcon(new ImageIcon(create.class.getResource("/resources/apropos.png")));
btnAbout.setHideActionText( true );
2022-06-19 21:01:30 +02:00
toolBarPrincipal.add(btnAbout);
2022-06-01 21:38:37 +02:00
2022-06-19 21:01:30 +02:00
JButton btnNewButton = toolBarPrincipal.add( new actTutoriels());
2022-06-09 09:13:46 +02:00
btnNewButton.setIcon(new ImageIcon(create.class.getResource("/resources/tutoriel.png")));
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() );
buttonExit.setHideActionText( true );
2022-06-05 18:42:06 +02:00
}
2022-06-01 21:38:37 +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" );
}
};
/**
*
*/
private AbstractAction actRedo = new AbstractAction() {
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
/**
*
*/
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" );
}
};
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) {
dispose();
}
}
2022-06-01 21:38:37 +02:00
2022-06-19 21:01:30 +02:00
public void closeDirectlyWindows() {
this.dispose();
}
2022-06-01 21:38:37 +02:00
// public static void expandOrCollapsePath (JTree tree,TreePath treePath,int level,int currentLevel,boolean expand) {
// System.out.println("Exp level="+currentLevel+", exp="+expand + ", level=" + level);
// if (expand && level<=currentLevel && level>0) return;
//
// TreeNode treeNode = ( TreeNode ) treePath.getLastPathComponent();
// TreeModel treeModel=tree.getModel();
// if ( treeModel.getChildCount(treeNode) >= 0 ) {
// for ( int i = 0; i < treeModel.getChildCount(treeNode); i++ ) {
// TreeNode n = ( TreeNode )treeModel.getChild(treeNode, i);
// TreePath path = treePath.pathByAddingChild( n );
// expandOrCollapsePath(tree,path,level,currentLevel+1,expand);
// }
// if (!expand && currentLevel<level) return;
// }
// if (expand) {
// tree.expandPath( treePath );
//// System.err.println("Path expanded at level "+currentLevel+"-"+treePath);
// } else {
// tree.collapsePath(treePath);
//// System.err.println("Path collapsed at level "+currentLevel+"-"+treePath);
// }
// }
/**
* 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;
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);
//Construction si c'est un fichier d'analyse
2022-06-02 15:47:54 +02:00
if(commandes.sujet.getNomElt().equals("fichier")) {
root = new DefaultMutableTreeNode(commandes.sujet,true);
2022-06-12 09:39:22 +02:00
root = addNodeMutable(commandes.sujet, root);
commandes.tree = new JTree(root);
DefaultTreeCellRenderer cellRenderer = (DefaultTreeCellRenderer) commandes.tree.getCellRenderer();
cellRenderer.setOpenIcon(new ImageIcon(create.class.getResource("/resources/treeOpen.png")));
cellRenderer.setClosedIcon(new ImageIcon(create.class.getResource("/resources/treeClose.png")));
cellRenderer.setLeafIcon(new ImageIcon(create.class.getResource("/resources/treeLeaf.png")));
cellRenderer.setBackgroundNonSelectionColor(new Color(255, 255, 221));
cellRenderer.setBackgroundSelectionColor(new Color(0, 0, 128));
cellRenderer.setBorderSelectionColor(Color.black);
cellRenderer.setTextSelectionColor(Color.white);
cellRenderer.setTextNonSelectionColor(Color.blue);
tree.setCellRenderer(cellRenderer);
// tree.setCellRenderer(new MyTreeCellRenderer());
tree.setModel(commandes.tree.getModel()) ;
}
}
2022-06-09 09:13:46 +02:00
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;
for(int i = 0 ; i < nod.getNodes().size(); i++) {
if(!nod.getNodes().get(i).getNomElt().equals("setting")) {
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-06-19 21:01:30 +02:00
public static JTree getTree() {
return tree;
}
public static DefaultMutableTreeNode getSelectNode() {
return selectNode;
}
public static afficheText getTextNodeSelect() {
return textNodeSelect;
}
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 static JToggleButton getTglbtnTousLesNodes() {
return tglbtnTousLesNodes;
}
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-06-02 15:47:54 +02:00
// void saySomething(String eventDescription, TreeExpansionEvent e) {
// System.out.println(eventDescription + "; " + "path = " + e.getPath());
// }
//
//
// // Required by TreeExpansionListener interface.
// public void treeExpanded(TreeExpansionEvent e) {
// saySomething("Tree-expanded event detected", e);
// }
//
// // Required by TreeExpansionListener interface.
// public void treeCollapsed(TreeExpansionEvent e) {
// saySomething("Tree-collapsed event detected", e);
// }
}
2022-06-02 15:47:54 +02:00
//class MyTreeWillExpandListener implements TreeWillExpandListener {
//
//
// public void treeWillExpand(TreeExpansionEvent evt) throws ExpandVetoException {
// JTree tree = (JTree) evt.getSource();
//
// TreePath path = evt.getPath();
// boolean veto = false;
// if (veto) {
// throw new ExpandVetoException(evt);
// }
// }
//
// public void treeWillCollapse(TreeExpansionEvent evt) throws ExpandVetoException {
// JTree tree = (JTree) evt.getSource();
//
// TreePath path = evt.getPath();
// boolean veto = false;
// if (veto) {
// throw new ExpandVetoException(evt);
// }
// }
//}
//class MyTreeExpansionListener implements TreeExpansionListener {
//
// public ArrayList<TreePath> Chemin = new ArrayList<TreePath>();
//
// public ArrayList<TreePath> getChemin() {
// return Chemin;
// }
//
// public void setChemin(ArrayList<TreePath> chemin) {
// Chemin = chemin;
// }
//
// public void treeExpanded(TreeExpansionEvent evt) {
// TreePath path = evt.getPath();
// Chemin.add(path);
// System.out.println("treeExpanded");
// }
//
// public void treeCollapsed(TreeExpansionEvent evt) {
// TreePath path = evt.getPath();
// Chemin.remove(path);
// System.out.println("treeCollapsed");
//
// }
//}