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 ;
2024-04-19 12:15:37 +02:00
import java.awt.FlowLayout ;
2022-05-28 19:13:25 +02:00
import java.awt.Font ;
2022-12-09 21:07:55 +01:00
import java.awt.GridLayout ;
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.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.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 ;
2024-04-19 12:15:37 +02:00
import javax.swing.plaf.SplitPaneUI ;
import javax.swing.plaf.basic.BasicSplitPaneUI ;
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 ;
2024-04-14 18:19:37 +02:00
import action.actAllContent ;
2023-02-05 17:46:02 +01:00
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.actEvalAncrageNumeroAbsoluePageOui ;
2024-04-11 17:08:31 +02:00
import action.actEvalEnteteActive ;
import action.actEvalEntetePasActive ;
2024-04-10 18:10:58 +02:00
import action.actEvalFirstChildTrue ;
2024-04-18 13:54:25 +02:00
import action.actEvalFormatageDirect ;
import action.actEvalInitialCreator ;
2024-04-10 18:10:58 +02:00
import action.actEvalLastChildTrue ;
2024-04-10 14:49:44 +02:00
import action.actEvalNameNodeOui ;
2024-04-10 18:10:58 +02:00
import action.actEvalNamePageOui ;
2024-04-18 13:54:25 +02:00
import action.actEvalNameSequenceOui ;
2024-05-09 19:11:08 +02:00
import action.actEvalNombreParagraphe ;
2024-04-10 18:59:28 +02:00
import action.actEvalNumeroAbsoluePageOui ;
2024-04-10 18:10:58 +02:00
import action.actEvalNumeroPageOui ;
import action.actEvalPasParagrapheVideOui ;
2024-04-13 18:47:39 +02:00
import action.actEvalPiedPageActive ;
import action.actEvalPiedPagePasActive ;
2024-04-10 14:49:44 +02:00
import action.actEvalPlacementParagrapheOui ;
2024-04-10 13:43:43 +02:00
import action.actEvalSautPageColonneOui ;
2024-04-13 20:39:31 +02:00
import action.actEvalTabAlignementGaucheOui ;
2024-04-14 18:19:37 +02:00
import action.actEvalTabDefautStyleLeaderOui ;
2024-04-18 15:57:02 +02:00
import action.actEvalTextUserDefinedOui ;
2023-02-05 17:46:02 +01:00
import action.actEvalueFalse ;
import action.actEvalueTrue ;
import action.actEvaluer ;
2024-04-15 13:45:22 +02:00
import action.actEvaluerATraversAnalyseStyleTrue ;
2024-04-14 18:19:37 +02:00
import action.actEvaluerNomDuStyleHeriteTrue ;
import action.actEvaluerStyleTrue ;
2023-02-05 17:46:02 +01:00
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 ;
2024-04-14 18:19:37 +02:00
import action.actTitre2 ;
import action.actTitre3 ;
2023-02-05 17:46:02 +01:00
import action.actTotalPoint ;
import action.actTotalPointNode ;
import action.actTutoriels ;
import action.actUpNode ;
2024-04-18 13:54:25 +02:00
import action.actevalNameCreator ;
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-05-09 19:11:08 +02:00
import list.listeDesNodesContenantPargraphesOuTitres ;
2024-05-09 14:50:42 +02:00
import list.listeDesNodesContenantSaut ;
2024-04-10 14:49:44 +02:00
import list.listeDesNodesEvalPlacement ;
2024-04-07 09:17:57 +02:00
import list.listeDesNodesFormatageDirect ;
2024-04-11 18:34:53 +02:00
import list.listeDesNodesPourEvaluationEntetePage ;
2024-04-10 18:10:58 +02:00
import list.listeDesNodesPourEvaluerPage ;
2024-04-13 18:47:39 +02:00
import list.listeDesNodesPourEvaluerPiedDePage ;
2024-04-13 20:39:31 +02:00
import list.listeDesNodesTabStop ;
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 ;
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 ;
2024-04-18 13:54:25 +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-18 13:54:25 +02:00
private final JLabel lblNewLabel_1 = new JLabel ( " Les méthodes d'évaluation " ) ;
2024-04-17 22:15:19 +02:00
2024-05-09 19:11:08 +02:00
private final static JButton btnAttribut = new JButton ( new actAttribut ( ) ) ;
private final static JButton btnAllContent = new JButton ( new actAllContent ( ) ) ;
private final static JButton btnevalNameLegacyStyleTrue = new JButton ( new actEvaluerNomDuStyleHeriteTrue ( ) ) ;
private final static JButton btnanalyseStyletrue = new JButton ( new actEvaluerStyleTrue ( ) ) ;
private final static JButton btnevalSautPageColonnetrue = new JButton ( new actEvalSautPageColonneOui ( ) ) ;
private final static JButton btnevalNameNodetrue = new JButton ( new actEvalNameNodeOui ( ) ) ;
private final static JButton btnevalFormatageDirecttrue = new JButton ( new actEvalFormatageDirect ( ) ) ;
private final static JButton btnevalPlacementtrue = new JButton ( new actEvalPlacementParagrapheOui ( ) ) ;
private final static JButton btnevalFirstChildtrue = new JButton ( new actEvalFirstChildTrue ( ) ) ;
private final static JButton btnevalLastChildtrue = new JButton ( new actEvalLastChildTrue ( ) ) ;
private final static JButton btnevalAncrageNumeroAbsoluePagetrue = new JButton ( new actEvalAncrageNumeroAbsoluePageOui ( ) ) ;
private final static JButton btnevalPasParagrapheVidetrue = new JButton ( new actEvalPasParagrapheVideOui ( ) ) ;
private final static JButton btnevalNamePagetrue = new JButton ( new actEvalNamePageOui ( ) ) ;
private final static JButton btnevalNumeroPagetrue = new JButton ( new actEvalNumeroPageOui ( ) ) ;
private final static JButton btnevalNumeroAbsoluePagetrue = new JButton ( new actEvalNumeroAbsoluePageOui ( ) ) ;
private final static JButton btnevalEnteteActivetrue = new JButton ( new actEvalEnteteActive ( ) ) ;
private final static JButton btnevalEntetePasActivetrue = new JButton ( new actEvalEntetePasActive ( ) ) ;
private final static JButton btnEvalPiedPageActivetrue = new JButton ( new actEvalPiedPageActive ( ) ) ;
private final static JButton btnEvalPiedPagePasActivetrue = new JButton ( new actEvalPiedPagePasActive ( ) ) ;
private final static JButton btnevalTABAlignementAGauchetrue = new JButton ( new actEvalTabAlignementGaucheOui ( ) ) ;
private final static JButton btnevalTABStyleLeaderDefaulttrue = new JButton ( new actEvalTabDefautStyleLeaderOui ( ) ) ;
private final static JButton btnEvaluerATraversAnalyseStyletrue = new JButton ( new actEvaluerATraversAnalyseStyleTrue ( ) ) ;
private final static JButton btnevalNameInitialCreator = new JButton ( new actEvalInitialCreator ( ) ) ;
private final static JButton btnevalNameCreator = new JButton ( new actevalNameCreator ( ) ) ;
private final static JButton btnevalNameSequence = new JButton ( new actEvalNameSequenceOui ( ) ) ;
private final static JButton btnevalTextUserDefined = new JButton ( new actEvalTextUserDefinedOui ( ) ) ;
private final static JButton btnevalnombreparagraphe = new JButton ( new actEvalNombreParagraphe ( ) ) ;
2024-04-18 15:57:02 +02:00
2024-04-07 09:17:57 +02:00
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 ) ;
2024-04-17 22:15:19 +02:00
btnevalNameLegacyStyleTrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/heritagestyle.png " ) ) ) ;
2024-04-07 09:17:57 +02:00
btnevalNameLegacyStyleTrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnanalyseStyletrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evaluerstyle.png " ) ) ) ;
2024-04-07 09:17:57 +02:00
btnanalyseStyletrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalSautPageColonnetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/sautpagecolonne.png " ) ) ) ;
2024-04-10 13:43:43 +02:00
btnevalSautPageColonnetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalNameNodetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalnode.png " ) ) ) ;
2024-04-10 14:49:44 +02:00
btnevalNameNodetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalFormatageDirecttrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalformatagedirect.png " ) ) ) ;
2024-04-10 14:49:44 +02:00
btnevalFormatageDirecttrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalPlacementtrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/ordreparagraphe.png " ) ) ) ;
2024-04-10 14:49:44 +02:00
btnevalPlacementtrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalFirstChildtrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/premierenfant.png " ) ) ) ;
2024-04-10 18:10:58 +02:00
btnevalFirstChildtrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalLastChildtrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/dernierenfant.png " ) ) ) ;
2024-04-10 18:10:58 +02:00
btnevalLastChildtrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalAncrageNumeroAbsoluePagetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalnumeropageancrage.png " ) ) ) ;
2024-04-10 18:10:58 +02:00
btnevalAncrageNumeroAbsoluePagetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalPasParagrapheVidetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalpasparagraphevide.png " ) ) ) ;
2024-04-10 18:10:58 +02:00
btnevalPasParagrapheVidetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalNamePagetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalnamepage.png " ) ) ) ;
2024-04-10 18:10:58 +02:00
btnevalNamePagetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalNumeroPagetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalnumeropage.png " ) ) ) ;
2024-04-10 18:10:58 +02:00
btnevalNumeroPagetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalNumeroAbsoluePagetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalnumeroabsoluepage.png " ) ) ) ;
2024-04-10 18:59:28 +02:00
btnevalNumeroAbsoluePagetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalEnteteActivetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/enteteoui.png " ) ) ) ;
2024-04-11 17:08:31 +02:00
btnevalEnteteActivetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalEntetePasActivetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/entetenon.png " ) ) ) ;
2024-04-11 17:08:31 +02:00
btnevalEntetePasActivetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnEvalPiedPageActivetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/piedpageoui.png " ) ) ) ;
2024-04-13 18:47:39 +02:00
btnEvalPiedPageActivetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnEvalPiedPagePasActivetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/piedpagenon.png " ) ) ) ;
2024-04-13 18:47:39 +02:00
btnEvalPiedPagePasActivetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalTABAlignementAGauchetrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evaltabalgngauche.png " ) ) ) ;
2024-04-13 20:39:31 +02:00
btnevalTABAlignementAGauchetrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnevalTABStyleLeaderDefaulttrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evaltabstyleleader.png " ) ) ) ;
2024-04-14 18:19:37 +02:00
btnevalTABStyleLeaderDefaulttrue . setEnabled ( false ) ;
2024-04-17 22:15:19 +02:00
btnEvaluerATraversAnalyseStyletrue . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/atraversanalysestyle.png " ) ) ) ;
2024-04-15 13:45:22 +02:00
btnEvaluerATraversAnalyseStyletrue . setEnabled ( false ) ;
2024-04-18 13:54:25 +02:00
btnevalNameInitialCreator . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/auteurcreateur.png " ) ) ) ;
btnevalNameInitialCreator . setEnabled ( false ) ;
btnevalNameCreator . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/auteurediteur.png " ) ) ) ;
btnevalNameCreator . setEnabled ( false ) ;
btnevalNameSequence . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalnamesequence.png " ) ) ) ;
btnevalNameSequence . setEnabled ( false ) ;
2024-04-18 15:57:02 +02:00
btnevalTextUserDefined . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evaltextuserdefined.png " ) ) ) ;
btnevalTextUserDefined . setEnabled ( false ) ;
2024-05-09 19:11:08 +02:00
btnevalnombreparagraphe . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evalnombreparagraphe.png " ) ) ) ;
btnevalnombreparagraphe . 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 ( ) ;
2024-04-19 12:15:37 +02:00
// Utiliser un BoxLayout pour la barre d'outils (pour plusieurs lignes et redimensionnement)
// BoxLayout layout = new BoxLayout(toolBarPrincipal, BoxLayout.X_AXIS);
FlowLayout layout = new FlowLayout ( FlowLayout . LEFT ) ;
toolBarPrincipal . setLayout ( layout ) ;
getContentPane ( ) . add ( toolBarPrincipal , BorderLayout . NORTH ) ;
2022-06-19 21:01:30 +02:00
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 ) ;
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 ( ) ;
2024-04-19 12:15:37 +02:00
panelDroiteBoutons . setBackground ( Color . LIGHT_GRAY ) ;
2024-04-07 09:17:57 +02:00
panelDroiteBoutons . setBorder ( null ) ;
2024-04-14 18:19:37 +02:00
panelDroiteBoutons . setLayout ( new MigLayout ( " " , " [40px:n,fill][40px:n,fill][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] " ) ) ;
2024-04-07 09:17:57 +02:00
rightScrollPane . setViewportView ( panelDroiteBoutons ) ;
2024-04-19 12:15:37 +02:00
ScrollPaneTableBouton . setViewportView ( textNodeSelect ) ;
2024-04-14 18:19:37 +02:00
lblNewLabel_1 . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/evaluermini.png " ) ) ) ;
lblNewLabel_1 . setFont ( new Font ( " Tahoma " , Font . BOLD , 14 ) ) ;
panelDroiteBoutons . add ( lblNewLabel_1 , " cell 0 0 6 1,aligny center,grow " ) ;
2024-04-07 09:17:57 +02:00
btnAttribut . setText ( " " ) ;
2024-04-19 12:15:37 +02:00
2024-04-07 09:17:57 +02:00
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 " ) ) ) ;
2024-04-14 18:19:37 +02:00
btnevalNameNodetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalNameNodetrue , " cell 2 1 " ) ;
2024-04-07 09:17:57 +02:00
btnevalNameLegacyStyleTrue . setText ( " " ) ;
2024-04-17 22:15:19 +02:00
panelDroiteBoutons . add ( btnevalNameLegacyStyleTrue , " cell 3 1 " ) ;
2024-04-07 09:17:57 +02:00
btnanalyseStyletrue . setText ( " " ) ;
2024-04-17 22:15:19 +02:00
panelDroiteBoutons . add ( btnanalyseStyletrue , " cell 4 1 " ) ;
btnEvaluerATraversAnalyseStyletrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnEvaluerATraversAnalyseStyletrue , " cell 5 1 " ) ;
btnevalSautPageColonnetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalSautPageColonnetrue , " cell 0 2 " ) ;
2024-04-10 18:10:58 +02:00
btnevalFirstChildtrue . setText ( " " ) ;
2024-04-17 22:15:19 +02:00
panelDroiteBoutons . add ( btnevalFirstChildtrue , " cell 1 2 " ) ;
2024-04-10 18:10:58 +02:00
btnevalLastChildtrue . setText ( " " ) ;
2024-04-17 22:15:19 +02:00
panelDroiteBoutons . add ( btnevalLastChildtrue , " cell 2 2 " ) ;
2024-04-10 18:10:58 +02:00
2024-04-17 22:15:19 +02:00
btnevalPlacementtrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalPlacementtrue , " cell 3 2 " ) ;
btnevalFormatageDirecttrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalFormatageDirecttrue , " cell 4 2 " ) ;
2024-04-10 18:10:58 +02:00
btnevalAncrageNumeroAbsoluePagetrue . setText ( " " ) ;
2024-04-17 22:15:19 +02:00
panelDroiteBoutons . add ( btnevalAncrageNumeroAbsoluePagetrue , " cell 5 2 " ) ;
btnevalEnteteActivetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalEnteteActivetrue , " cell 0 3 " ) ;
2024-04-11 17:08:31 +02:00
btnevalEntetePasActivetrue . setText ( " " ) ;
2024-04-17 22:15:19 +02:00
panelDroiteBoutons . add ( btnevalEntetePasActivetrue , " cell 1 3 " ) ;
btnEvalPiedPageActivetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnEvalPiedPageActivetrue , " cell 2 3 " ) ;
2024-04-13 18:47:39 +02:00
btnEvalPiedPagePasActivetrue . setText ( " " ) ;
2024-04-17 22:15:19 +02:00
panelDroiteBoutons . add ( btnEvalPiedPagePasActivetrue , " cell 3 3 " ) ;
btnevalTABAlignementAGauchetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalTABAlignementAGauchetrue , " cell 4 3 " ) ;
2024-04-10 13:43:43 +02:00
2024-04-17 22:15:19 +02:00
btnevalTABStyleLeaderDefaulttrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalTABStyleLeaderDefaulttrue , " cell 5 3 " ) ;
btnevalNamePagetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalNamePagetrue , " cell 0 4 " ) ;
btnevalNumeroAbsoluePagetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalNumeroAbsoluePagetrue , " cell 1 4 " ) ;
btnevalNumeroPagetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalNumeroPagetrue , " cell 2 4 " ) ;
btnevalPasParagrapheVidetrue . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalPasParagrapheVidetrue , " cell 3 4 " ) ;
2024-04-18 13:54:25 +02:00
btnevalNameInitialCreator . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalNameInitialCreator , " cell 4 4 " ) ;
btnevalNameCreator . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalNameCreator , " cell 5 4 " ) ;
btnevalNameSequence . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalNameSequence , " cell 0 5 " ) ;
2024-04-18 15:57:02 +02:00
btnevalTextUserDefined . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalTextUserDefined , " cell 1 5 " ) ;
2024-05-09 19:11:08 +02:00
btnevalnombreparagraphe . setText ( " " ) ;
panelDroiteBoutons . add ( btnevalnombreparagraphe , " cell 2 5 " ) ;
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-04-14 18:19:37 +02:00
splitPane2 . setDividerLocation ( 0 . 4 ) ;
2024-04-19 12:15:37 +02:00
splitPane2 . setOneTouchExpandable ( true ) ;
SplitPaneUI spui = splitPane2 . getUI ( ) ;
if ( spui instanceof BasicSplitPaneUI ) {
( ( BasicSplitPaneUI ) spui ) . getDivider ( ) . addMouseListener ( new MouseAdapter ( ) {
@Override
public void mouseClicked ( MouseEvent arg0 ) {
if ( arg0 . getClickCount ( ) = = 2 ) {
Dimension size1 = rightScrollPane . getPreferredSize ( ) ;
int dividerLocation = splitPane2 . getOrientation ( ) = = JSplitPane . HORIZONTAL_SPLIT ?
size1 . width : size1 . height ;
splitPane2 . setDividerLocation ( dividerLocation ) ;
}
}
} ) ;
}
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 ) ;
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.
2024-04-18 13:54:25 +02:00
textNodeSelect . setEditable ( true ) ;
2022-12-10 10:00:28 +01:00
textNodeSelect . refreshAffichage ( nod ) ; //affiche des informations sur le node.
2024-04-18 13:54:25 +02:00
textNodeSelect . setEditable ( false ) ;
2022-12-10 10:00:28 +01:00
// 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.
2024-04-18 13:54:25 +02:00
textNodeSelect . setEditable ( true ) ;
2023-04-01 09:54:28 +02:00
textNodeSelect . refreshAffichage ( nod ) ; //affiche des informations sur le node.
2024-04-18 13:54:25 +02:00
textNodeSelect . setEditable ( false ) ;
2024-04-07 09:17:57 +02:00
btnevalNameLegacyStyleTrue . setEnabled ( false ) ;
btnanalyseStyletrue . setEnabled ( false ) ;
btnAllContent . setEnabled ( false ) ;
2024-04-10 13:43:43 +02:00
btnevalSautPageColonnetrue . setEnabled ( false ) ;
2024-04-10 14:49:44 +02:00
btnevalNameNodetrue . setEnabled ( false ) ;
btnevalFormatageDirecttrue . setEnabled ( false ) ;
btnevalPlacementtrue . setEnabled ( false ) ;
2024-04-10 18:10:58 +02:00
btnevalFirstChildtrue . setEnabled ( false ) ;
btnevalLastChildtrue . setEnabled ( false ) ;
btnevalAncrageNumeroAbsoluePagetrue . setEnabled ( false ) ;
btnevalPasParagrapheVidetrue . setEnabled ( false ) ;
btnevalNamePagetrue . setEnabled ( false ) ;
btnevalNumeroPagetrue . setEnabled ( false ) ;
2024-04-10 18:59:28 +02:00
btnevalNumeroAbsoluePagetrue . setEnabled ( false ) ;
2024-04-11 17:08:31 +02:00
btnevalEnteteActivetrue . setEnabled ( false ) ;
btnevalEntetePasActivetrue . setEnabled ( false ) ;
2024-04-13 18:47:39 +02:00
btnEvalPiedPageActivetrue . setEnabled ( false ) ;
btnEvalPiedPagePasActivetrue . setEnabled ( false ) ;
2024-04-13 20:39:31 +02:00
btnevalTABAlignementAGauchetrue . setEnabled ( false ) ;
2024-04-14 18:19:37 +02:00
btnevalTABStyleLeaderDefaulttrue . setEnabled ( false ) ;
2024-04-18 13:54:25 +02:00
btnEvaluerATraversAnalyseStyletrue . setEnabled ( false ) ;
btnevalNameInitialCreator . setEnabled ( false ) ;
btnevalNameCreator . setEnabled ( false ) ;
btnevalNameSequence . setEnabled ( false ) ;
2024-04-18 15:57:02 +02:00
btnevalTextUserDefined . setEnabled ( false ) ;
2024-05-09 19:11:08 +02:00
btnevalnombreparagraphe . setEnabled ( false ) ;
2024-04-07 09:17:57 +02:00
if ( listeDesNodesAllContent . isAllContent ( nod ) ) {
btnAllContent . setEnabled ( true ) ;
}
if ( listeDesNodesFormatageDirect . isFormatageDirect ( nod ) ) {
btnevalNameLegacyStyleTrue . setEnabled ( true ) ;
2024-04-10 14:49:44 +02:00
btnevalFormatageDirecttrue . setEnabled ( true ) ;
2024-04-07 09:17:57 +02:00
}
2024-05-09 14:50:42 +02:00
if ( listeDesNodesContenantSaut . isNodesContenantSaut ( nod ) ) {
btnevalSautPageColonnetrue . setEnabled ( true ) ;
}
2024-04-07 09:17:57 +02:00
if ( listeDesNodesAnalyseStyle . isAnalyseStyle ( nod ) ) {
btnanalyseStyletrue . setEnabled ( true ) ;
}
2024-04-10 14:49:44 +02:00
if ( listeEvalNameNode . isNodeEvalNameNode ( nod ) ) {
btnevalNameNodetrue . setEnabled ( true ) ;
}
if ( listeDesNodesEvalPlacement . isPlacement ( nod ) ) {
btnevalPlacementtrue . setEnabled ( true ) ;
2024-04-11 18:41:30 +02:00
if ( nod . retourneLeNodeFrereAvant ( ) = = null ) {
btnevalFirstChildtrue . setEnabled ( true ) ;
}
if ( nod . retourneLeNodeFrereApres ( ) = = null ) {
btnevalLastChildtrue . setEnabled ( true ) ;
}
2024-04-10 18:10:58 +02:00
}
if ( listeDesNodesAncrable . isAncrable ( nod ) ) {
btnevalAncrageNumeroAbsoluePagetrue . setEnabled ( true ) ;
}
if ( listeDesNodesPourEvaluerPage . isPage ( nod ) ) {
btnevalPasParagrapheVidetrue . setEnabled ( true ) ;
btnevalNamePagetrue . setEnabled ( true ) ;
btnevalNumeroPagetrue . setEnabled ( true ) ;
2024-04-10 18:59:28 +02:00
btnevalNumeroAbsoluePagetrue . setEnabled ( true ) ;
2024-04-11 18:34:53 +02:00
}
if ( listeDesNodesPourEvaluationEntetePage . isEntete ( nod ) ) {
2024-04-17 22:15:19 +02:00
if ( nod . isHasEnfant ( ) ) {
btnevalEnteteActivetrue . setEnabled ( true ) ;
} else {
btnevalEntetePasActivetrue . setEnabled ( true ) ;
}
2024-04-10 14:49:44 +02:00
}
2024-04-13 18:47:39 +02:00
if ( listeDesNodesPourEvaluerPiedDePage . isPiedDePage ( nod ) ) {
2024-04-17 22:15:19 +02:00
if ( nod . isHasEnfant ( ) ) {
btnEvalPiedPageActivetrue . setEnabled ( true ) ;
} else {
btnEvalPiedPagePasActivetrue . setEnabled ( true ) ;
2024-04-20 11:17:53 +02:00
}
2024-04-13 20:39:31 +02:00
}
2024-04-14 18:19:37 +02:00
if ( listeDesNodesTabStop . AlignementDefaut ( nod ) ) {
2024-04-13 20:39:31 +02:00
btnevalTABAlignementAGauchetrue . setEnabled ( true ) ;
2024-04-13 18:47:39 +02:00
}
2024-04-14 18:19:37 +02:00
if ( listeDesNodesTabStop . RemplissageDefaut ( nod ) ) {
btnevalTABStyleLeaderDefaulttrue . setEnabled ( true ) ;
}
2024-04-15 13:45:22 +02:00
if ( nod . getNomElt ( ) . equals ( " style:style " ) ) {
btnEvaluerATraversAnalyseStyletrue . setEnabled ( true ) ;
}
2024-04-18 13:54:25 +02:00
if ( nod . getNomElt ( ) . equals ( " meta:initial-creator " ) ) {
btnevalNameInitialCreator . setEnabled ( true ) ;
}
if ( nod . getNomElt ( ) . equals ( " dc:creator " ) ) {
btnevalNameCreator . setEnabled ( true ) ;
}
if ( nod . getNomElt ( ) . equals ( " text:sequence-decl " ) ) {
btnevalNameSequence . setEnabled ( true ) ;
}
2024-04-18 15:57:02 +02:00
if ( nod . getNomElt ( ) . equals ( " text:user-defined " ) ) {
btnevalTextUserDefined . setEnabled ( true ) ;
}
2024-05-09 19:11:08 +02:00
if ( listeDesNodesContenantPargraphesOuTitres . isNodesContenantPargraphesOuTitres ( nod ) ) {
btnevalnombreparagraphe . setEnabled ( true ) ;
}
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 ) {
2024-05-18 18:05:38 +02:00
new actExit ( ) . actionPerformed ( null ) ;
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 ( ) ;
2024-04-19 12:15:37 +02:00
toolBarPrincipal . setFloatable ( true ) ;
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 ( ) ) ;
2024-04-27 17:01:17 +02:00
btnChargeEvaluation . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/BaseEvaluations.png " ) ) ) ;
2023-02-18 18:05:42 +01:00
btnChargeEvaluation . setHideActionText ( true ) ;
toolBarPrincipal . add ( btnChargeEvaluation ) ;
2023-04-01 09:54:28 +02:00
JButton btnSaveEvaluation = toolBarPrincipal . add ( new actSaveEvaluation ( ) ) ;
btnSaveEvaluation . setIcon ( new ImageIcon ( create . class . getResource ( " /resources/saveEvaluation.png " ) ) ) ;
btnSaveEvaluation . setHideActionText ( true ) ;
toolBarPrincipal . add ( btnSaveEvaluation ) ;
2022-06-02 15:47:54 +02:00
2024-04-29 08:37:05 +02:00
toolBarPrincipal . addSeparator ( ) ;
2022-06-19 21:01:30 +02:00
JButton btnNewFichierAnalyse = toolBarPrincipal . add ( new actNewFichierAnalyse ( ) ) ;
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
}
2024-05-17 10:04:49 +02:00
2024-04-18 13:54:25 +02:00
// /**
2024-05-17 10:04:49 +02:00
// * Ferme l'application.</br>
2024-04-18 13:54:25 +02:00
// */
2024-05-17 10:04:49 +02:00
// public void closeWindows() {
// int H = commandes.evaluationChargeEnMemoire.hashCode();
// if(H==commandes.hashCodeEvaluationSave){
// if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
// baseDonneesEvaluations.ferme();
// evaluate.ferme();
// fermeCreate();
// }
// }else{
// if(JOptionPane.showConfirmDialog(null,"Vous avez apporté des modifications à cette évaluation.\nVoulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
// baseDonneesEvaluations.ferme();
// create.fermeCreate();
// }
// }
//
// }
2022-06-01 21:38:37 +02:00
2024-05-17 10:04:49 +02:00
// public void closeDirectlyWindows() {
// int H = commandes.evaluationChargeEnMemoire.hashCode();
// if(H==commandes.hashCodeEvaluationSave){
// if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
// baseDonneesEvaluations.ferme();
// evaluate.ferme();
// fermeCreate();
// }
// }else{
// if(JOptionPane.showConfirmDialog(null,"Vous avez apporté des modifications à cette évaluation.\nVoulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
// baseDonneesEvaluations.ferme();
// create.fermeCreate();
// }
// }
// }
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 ( ) ) ;
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 ( ) ;
fenetres . create . getButtonEvaluate ( ) . setEnabled ( true ) ;
2023-06-22 13:51:14 +02:00
fenetres . create . getTextNodeSelect ( ) . afficheChargementFichierAnalyse ( ) ;
2024-05-09 19:11:08 +02:00
btnevalNameLegacyStyleTrue . setEnabled ( false ) ;
btnanalyseStyletrue . setEnabled ( false ) ;
btnAllContent . setEnabled ( false ) ;
btnevalSautPageColonnetrue . setEnabled ( false ) ;
btnevalNameNodetrue . setEnabled ( false ) ;
btnevalFormatageDirecttrue . setEnabled ( false ) ;
btnevalPlacementtrue . setEnabled ( false ) ;
btnevalFirstChildtrue . setEnabled ( false ) ;
btnevalLastChildtrue . setEnabled ( false ) ;
btnevalAncrageNumeroAbsoluePagetrue . setEnabled ( false ) ;
btnevalPasParagrapheVidetrue . setEnabled ( false ) ;
btnevalNamePagetrue . setEnabled ( false ) ;
btnevalNumeroPagetrue . setEnabled ( false ) ;
btnevalNumeroAbsoluePagetrue . setEnabled ( false ) ;
btnevalEnteteActivetrue . setEnabled ( false ) ;
btnevalEntetePasActivetrue . setEnabled ( false ) ;
btnEvalPiedPageActivetrue . setEnabled ( false ) ;
btnEvalPiedPagePasActivetrue . setEnabled ( false ) ;
btnevalTABAlignementAGauchetrue . setEnabled ( false ) ;
btnevalTABStyleLeaderDefaulttrue . setEnabled ( false ) ;
btnEvaluerATraversAnalyseStyletrue . setEnabled ( false ) ;
btnevalNameInitialCreator . setEnabled ( false ) ;
btnevalNameCreator . setEnabled ( false ) ;
btnevalNameSequence . setEnabled ( false ) ;
btnevalTextUserDefined . setEnabled ( false ) ;
btnevalnombreparagraphe . setEnabled ( false ) ;
2023-06-22 13:51:14 +02:00
} else {
2022-12-11 08:30:19 +01:00
fenetres . create . getTextNodeSelect ( ) . setContentType ( " text/plain " ) ;
}
}
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