848 lines
29 KiB
Java
848 lines
29 KiB
Java
package fenetres;
|
|
|
|
import java.awt.BorderLayout;
|
|
import java.awt.Color;
|
|
import java.awt.Dimension;
|
|
import java.awt.Font;
|
|
import java.awt.GridLayout;
|
|
import java.awt.event.MouseAdapter;
|
|
import java.awt.event.MouseEvent;
|
|
import java.util.Enumeration;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
|
|
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;
|
|
import javax.swing.JPopupMenu;
|
|
import javax.swing.JScrollPane;
|
|
import javax.swing.JSplitPane;
|
|
import javax.swing.JToggleButton;
|
|
import javax.swing.JToolBar;
|
|
import javax.swing.JTree;
|
|
import javax.swing.UnsupportedLookAndFeelException;
|
|
import javax.swing.tree.DefaultMutableTreeNode;
|
|
import javax.swing.tree.DefaultTreeCellRenderer;
|
|
import javax.swing.tree.TreeNode;
|
|
import javax.swing.tree.TreePath;
|
|
import javax.swing.tree.TreeSelectionModel;
|
|
|
|
import calc.commandes;
|
|
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.actAttribut;
|
|
import fenetres.create_act.actCoefficient;
|
|
import fenetres.create_act.actCollapseAll;
|
|
import fenetres.create_act.actCollapseNode;
|
|
import fenetres.create_act.actDeleteNode;
|
|
import fenetres.create_act.actDocumentation;
|
|
import fenetres.create_act.actDownNode;
|
|
import fenetres.create_act.actEvalNameNodeNon;
|
|
import fenetres.create_act.actEvalNameNodeOui;
|
|
import fenetres.create_act.actEvalNamePageNon;
|
|
import fenetres.create_act.actEvalNamePageOui;
|
|
import fenetres.create_act.actEvalueFalse;
|
|
import fenetres.create_act.actEvalueTrue;
|
|
import fenetres.create_act.actEvaluer;
|
|
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.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.actsautfalse;
|
|
import fenetres.create_act.actsauttrue;
|
|
import nodeAC.nodeAC;
|
|
|
|
|
|
|
|
|
|
public final class create extends JFrame {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
// les élément de create
|
|
private static JTree tree = new JTree();
|
|
private static DefaultMutableTreeNode selectNode;
|
|
private static afficheText textNodeSelect = new afficheText();
|
|
private JToolBar toolBarPrincipal;
|
|
|
|
|
|
private JMenuBar menuBar = new JMenuBar();
|
|
private static JButton buttonEvaluate;
|
|
|
|
private static JToggleButton tglbtnTousLesNodes;
|
|
|
|
private JPanel panelPrincipal;
|
|
|
|
|
|
private static create instance;
|
|
|
|
/**
|
|
* Create the application.
|
|
*/
|
|
public create() {
|
|
try {
|
|
initialize();
|
|
} catch (UnsupportedLookAndFeelException e) {
|
|
e.printStackTrace();
|
|
}
|
|
setVisible(true);
|
|
}
|
|
|
|
public static create getInstance() {
|
|
if (instance == null) {
|
|
instance = new create();
|
|
}
|
|
instance.setVisible(true);
|
|
return instance;
|
|
}
|
|
|
|
|
|
/**
|
|
* Initialize the contents of the frame.
|
|
* @throws UnsupportedLookAndFeelException
|
|
*/
|
|
private void initialize() throws UnsupportedLookAndFeelException {
|
|
|
|
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);
|
|
|
|
ImageIcon img = new ImageIcon(mainApp.class.getResource("/resources/evalcalc.png"));
|
|
setTitle(commandes.Titre + " " + commandes.version + " " + commandes.branch);
|
|
setIconImage(img.getImage());
|
|
|
|
setLocationRelativeTo( null );
|
|
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
|
|
|
// Construction et injection de la barre de menu
|
|
setJMenuBar( this.createMenuBar() );
|
|
tree.setVisibleRowCount(30);
|
|
|
|
// Ajoute le menu contextuel de la tree
|
|
tree.setComponentPopupMenu(null);
|
|
|
|
this.createToolBar();
|
|
|
|
panelPrincipal = new JPanel();
|
|
getContentPane().add(panelPrincipal, BorderLayout.NORTH);
|
|
|
|
this.createPopupMenuTree(null);
|
|
|
|
// 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 );
|
|
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));
|
|
|
|
getContentPane().add(splitPane, BorderLayout.CENTER);
|
|
panelPrincipal.setLayout(new GridLayout(1, 1, 0, 0));
|
|
panelPrincipal.add(toolBarPrincipal);
|
|
|
|
|
|
|
|
|
|
// 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");
|
|
|
|
if(commandes.fichierAnalyseValide) constructionTree();
|
|
|
|
this.setExtendedState(MAXIMIZED_BOTH);
|
|
|
|
ListenerAction();
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* Selection du nodeAC du tree et d'un nodeAC CXML
|
|
*/
|
|
private void ListenerAction() {
|
|
|
|
/**
|
|
* Selection d'un nodeAC dans le JTree.
|
|
*/
|
|
tree.addMouseListener(new MouseAdapter() {
|
|
@Override
|
|
public void mouseClicked(MouseEvent e) {
|
|
if(tree.getSelectionPath()!=null) {
|
|
selectNode = (DefaultMutableTreeNode) tree.getSelectionPath().getLastPathComponent();
|
|
nodeAC nod = (nodeAC) selectNode.getUserObject();
|
|
createPopupMenuTree(nod);
|
|
textNodeSelect.refreshAffichage(nod);
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
/**
|
|
* 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();
|
|
};
|
|
}
|
|
});
|
|
|
|
|
|
// 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);
|
|
// }
|
|
// }
|
|
// });
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* Création du menu contextuel du tree
|
|
* @return
|
|
*/
|
|
private void createPopupMenuTree(nodeAC nod) {
|
|
|
|
if(nod!=null) {
|
|
|
|
boolean nodeSetting = false;
|
|
boolean nodeFormatageDirectePasDeTitrePasAddMenu = false;
|
|
|
|
|
|
nodeAC nodStyleParent = nod.retourneParentAyantLAttribut("style:name");
|
|
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;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//Menu Evaluer
|
|
JMenu mnEvaluer = new JMenu("Evaluer");
|
|
mnEvaluer.add(new actEvalueTrue());
|
|
mnEvaluer.add(new actEvalueFalse());
|
|
|
|
//Menu arbre
|
|
JMenu mnManageTree = new JMenu("Arbre");
|
|
mnManageTree.add(new actUpNode());
|
|
mnManageTree.add(new actDownNode());
|
|
mnManageTree.addSeparator();
|
|
mnManageTree.add(new actExpandAll());
|
|
mnManageTree.add(new actExpandNode());
|
|
mnManageTree.addSeparator();
|
|
mnManageTree.add(new actCollapseAll());
|
|
mnManageTree.add(new actCollapseNode());
|
|
|
|
//Menu Saut niveau >1
|
|
JMenu mnSaut = new JMenu("Saut de ligne avant");
|
|
mnSaut.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png")));
|
|
mnSaut.add(new actsauttrue());
|
|
mnSaut.add(new actsautfalse());
|
|
|
|
//Menu saut niveau = 1
|
|
//Menu Saut
|
|
JMenu mnSautNiveau1 = new JMenu("Saut de ligne avant");
|
|
mnSautNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/sautmini.png")));
|
|
mnSautNiveau1.add(new actsauttrue());
|
|
mnSautNiveau1.add(new actsautfalse());
|
|
|
|
|
|
//Menu Titre niveau > 1
|
|
JMenu mnTitre = new JMenu("Titre");
|
|
mnTitre.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png")));
|
|
mnTitre.add(new actTitrePrincipal());
|
|
mnTitre.add(new actTitre1());
|
|
mnTitre.add(new actTitre2());
|
|
mnTitre.add(new actTitre3());
|
|
mnTitre.addSeparator();
|
|
mnTitre.add(new actSupprimeTitre());
|
|
|
|
//Menu Titre niveau = 1
|
|
JMenu mnTitreNiveau1 = new JMenu("Titre");
|
|
mnTitreNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/titremini.png")));
|
|
mnTitreNiveau1.add(new actTitrePrincipal());
|
|
mnTitreNiveau1.add(new actTitre1());
|
|
mnTitreNiveau1.add(new actTitre2());
|
|
mnTitreNiveau1.add(new actTitre3());
|
|
mnTitreNiveau1.addSeparator();
|
|
mnTitreNiveau1.add(new actSupprimeTitre());
|
|
|
|
//Menu ajoute un lien de menu niveau 1
|
|
JMenu mnAddMenuNiveau1= new JMenu("Lien"); //addMenu
|
|
mnAddMenuNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/addmenumini.png")));
|
|
mnAddMenuNiveau1.add(new actAddMenuTrue());
|
|
mnAddMenuNiveau1.add(new actAddMenuFalse());
|
|
|
|
//Menu ajoute un lien de menu niveau sup 1
|
|
JMenu mnAddMenuNiveauSup1= new JMenu("Lien"); //addMenu
|
|
mnAddMenuNiveauSup1.setIcon( new ImageIcon(create.class.getResource("/resources/addmenumini.png")));
|
|
mnAddMenuNiveauSup1.add(new actAddMenuTrue());
|
|
mnAddMenuNiveauSup1.add(new actAddMenuFalse());
|
|
|
|
|
|
//Menu Evaluer présence d'un nodeAC pour les nodes de niveau > 1
|
|
JMenu mnEvalNameNode = new JMenu("Evaluer la présence du nodeAC");
|
|
mnEvalNameNode.setIcon(new ImageIcon(create.class.getResource("/resources/evalnodemini.png")));
|
|
mnEvalNameNode.add(new actEvalNameNodeOui());
|
|
mnEvalNameNode.add(new actEvalNameNodeNon());
|
|
|
|
|
|
//Menu evalNamePage (pour les nodes page)
|
|
JMenu mnEvalNamePage = new JMenu("Evaluer le nom de la page");
|
|
mnEvalNamePage.setIcon(new ImageIcon(create.class.getResource("/resources/evalnamepagemini.png")));
|
|
mnEvalNamePage.add(new actEvalNamePageOui());
|
|
mnEvalNamePage.add(new actEvalNamePageNon());
|
|
|
|
|
|
//Menu Représentation dans le feedback
|
|
JMenu mnPourFeedback = new JMenu("Pour représentation feedback");
|
|
mnPourFeedback.add(mnSaut);
|
|
if(!nodeFormatageDirectePasDeTitrePasAddMenu) {
|
|
mnPourFeedback.addSeparator();
|
|
mnPourFeedback.add(mnTitre);
|
|
mnPourFeedback.addSeparator();
|
|
mnPourFeedback.add(mnAddMenuNiveauSup1);
|
|
}
|
|
|
|
|
|
//***************************
|
|
//** Menu nodeAC niveau = 1 ***
|
|
//***************************
|
|
JMenu mnNiveau1 = new JMenu("Attributs aW, niveau 1 ");
|
|
mnNiveau1.setIcon( new ImageIcon(create.class.getResource("/resources/attributanalysewritermini.png")));
|
|
mnNiveau1.add(new actCoefficient());
|
|
mnNiveau1.addSeparator();
|
|
mnNiveau1.add(mnSautNiveau1);
|
|
mnNiveau1.addSeparator();
|
|
mnNiveau1.add(mnTitreNiveau1);
|
|
mnNiveau1.addSeparator();
|
|
mnNiveau1.add(mnAddMenuNiveau1);
|
|
|
|
|
|
|
|
//*********************************************
|
|
//** La popupMenu qui s'affiche sur le tree ***
|
|
//*********************************************
|
|
JPopupMenu mnPopupTree = new JPopupMenu();
|
|
if(!nodeSetting) {
|
|
mnPopupTree.add(mnEvaluer);
|
|
}
|
|
if(nod.getLevel()==1 ) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(mnNiveau1);
|
|
}
|
|
|
|
//Pour les nodes de niveau supérieur à 1
|
|
if(nod.getLevel()>1 ) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(mnPourFeedback);
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(new actAttribut());
|
|
}
|
|
|
|
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(mnManageTree);
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(new actDeleteNode());
|
|
|
|
|
|
tree.setComponentPopupMenu(mnPopupTree);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 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 =*/
|
|
mnuFile.add( new actOpen() );
|
|
mnuFile.add( new actNewFichierAnalyse() );
|
|
mnuFile.addSeparator();
|
|
mnuFile.add( new actSave() );
|
|
mnuFile.add( new actSaveAs() );
|
|
mnuFile.addSeparator();
|
|
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( actCopy );
|
|
// mnuEdit.add( actCut );
|
|
// mnuEdit.add( actPaste );
|
|
|
|
menuBar.add(mnuEdit);
|
|
|
|
JMenu mnAffiche = new JMenu("Affichage");
|
|
menuBar.add(mnAffiche);
|
|
|
|
// chckbxtoolBarRecherche = new JCheckBoxMenuItem("Barre outils recherche nodeAC");
|
|
// chckbxtoolBarRecherche.setSelected(true);
|
|
// mnAffiche.add(chckbxtoolBarRecherche);
|
|
|
|
// Définition du menu Node
|
|
JMenu mnNode = new JMenu("Modifier");
|
|
mnNode.add( new actNodeFichier() );
|
|
mnNode.addSeparator();
|
|
menuBar.add(mnNode);
|
|
|
|
//Menu arbre
|
|
JMenu mnManageTree = new JMenu("Arbre");
|
|
mnManageTree.add(new actUpNode());
|
|
mnManageTree.add(new actDownNode());
|
|
mnManageTree.addSeparator();
|
|
mnManageTree.add(new actExpandAll());
|
|
mnManageTree.add(new actExpandNode());
|
|
mnManageTree.addSeparator();
|
|
mnManageTree.add(new actCollapseAll());
|
|
mnManageTree.add(new actCollapseNode());
|
|
mnNode.add(mnManageTree);
|
|
mnNode.addSeparator();
|
|
|
|
//Définition Evaluer
|
|
JMenu mnEvaluer = new JMenu("Evaluer");
|
|
mnEvaluer.add(new actEvalueTrue());
|
|
mnEvaluer.add(new actEvalueFalse());
|
|
mnNode.add(mnEvaluer);
|
|
|
|
|
|
|
|
// Définition du menu déroulant "Création évaluation" et de son contenu
|
|
JMenu mnuExercice = new JMenu( "Création évaluation" );
|
|
mnuExercice.setMnemonic( 'N' );
|
|
mnuExercice.add(new actEvaluer());
|
|
|
|
menuBar.add(mnuExercice);
|
|
|
|
// Définition du menu déroulant "Help" et de son contenu
|
|
JMenu mnuHelp = new JMenu( "Aide" );
|
|
mnuHelp.setMnemonic( 'H' );
|
|
|
|
mnuHelp.add( new actAPropos());
|
|
mnuHelp.add( new actDocumentation());
|
|
|
|
menuBar.add( mnuHelp );
|
|
|
|
return menuBar;
|
|
}
|
|
|
|
/* Methode de construction de la barre d'outils */
|
|
private void createToolBar() {
|
|
toolBarPrincipal = new JToolBar();
|
|
toolBarPrincipal.setFloatable(false);
|
|
toolBarPrincipal.setRollover(true);
|
|
|
|
toolBarPrincipal.setName("outils principaux");
|
|
|
|
JButton buttonLoadFile = toolBarPrincipal.add( new actOpen() );
|
|
buttonLoadFile.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyse.png")));
|
|
buttonLoadFile.setHideActionText(true);
|
|
toolBarPrincipal.add(buttonLoadFile);
|
|
|
|
JButton btnNewFichierAnalyse = toolBarPrincipal.add( new actNewFichierAnalyse() );
|
|
btnNewFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierODF.png")));
|
|
btnNewFichierAnalyse.setHideActionText(true);
|
|
toolBarPrincipal.add(btnNewFichierAnalyse);
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
buttonEvaluate = toolBarPrincipal.add( new actEvaluer() );
|
|
buttonEvaluate.setIcon(new ImageIcon(create.class.getResource("/resources/evaluate.png")));
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
JButton btnAfficheInformationFichierAnalyse = toolBarPrincipal.add( new actAfficheInformationFichierAnalyse() );
|
|
btnAfficheInformationFichierAnalyse.setIcon(new ImageIcon(create.class.getResource("/resources/fichierAnalyseInfo.png")));
|
|
btnAfficheInformationFichierAnalyse.setHideActionText(true);
|
|
toolBarPrincipal.add(btnAfficheInformationFichierAnalyse);
|
|
|
|
JButton btnNodeFichier = toolBarPrincipal.add( new actNodeFichier() );
|
|
btnNodeFichier.setIcon(new ImageIcon(create.class.getResource("/resources/nodeFichier.png")));
|
|
btnNodeFichier.setHideActionText(true);
|
|
toolBarPrincipal.add(btnNodeFichier);
|
|
|
|
JButton btnSetting = toolBarPrincipal.add( new actSetting());
|
|
btnSetting.setIcon(new ImageIcon(create.class.getResource("/resources/setting.png")));
|
|
toolBarPrincipal.add(btnSetting);
|
|
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
JButton btnEvaluerTrue = toolBarPrincipal.add( new actEvalueTrue() );
|
|
btnEvaluerTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertrue.png")));
|
|
btnEvaluerTrue.setHideActionText(true);
|
|
toolBarPrincipal.add(btnEvaluerTrue);
|
|
|
|
JButton btnEvaluerFalse = toolBarPrincipal.add(new actEvalueFalse() );
|
|
btnEvaluerFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluerfalse.png")));
|
|
btnEvaluerFalse.setHideActionText(true);
|
|
toolBarPrincipal.add(btnEvaluerFalse);
|
|
|
|
JButton btnEvaluerTouteLaBrancheEtLesEnfantTrue = toolBarPrincipal.add( new actEvaluerTousEnfantsTrue() );
|
|
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfants.png")));
|
|
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true);
|
|
toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantTrue);
|
|
|
|
JButton btnEvaluerTouteLaBrancheEtLesEnfantFalse = toolBarPrincipal.add( new actEvaluerTousEnfantsFalse() );
|
|
btnEvaluerTouteLaBrancheEtLesEnfantFalse.setIcon(new ImageIcon(create.class.getResource("/resources/evaluertouslesenfantsfaux.png")));
|
|
btnEvaluerTouteLaBrancheEtLesEnfantTrue.setHideActionText(true);
|
|
toolBarPrincipal.add(btnEvaluerTouteLaBrancheEtLesEnfantFalse);
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
|
|
JButton btnAttribut = new JButton(new actAttribut());
|
|
btnAttribut.setText("");
|
|
btnAttribut.setIcon(new ImageIcon(create.class.getResource("/resources/attribut.png")));
|
|
toolBarPrincipal.add(btnAttribut);
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
JButton btnTotalPoint = new JButton(new actTotalPoint());
|
|
btnTotalPoint.setToolTipText("Nombre de point total dans l'exercice.");
|
|
btnTotalPoint.setText("");
|
|
btnTotalPoint.setIcon(new ImageIcon(create.class.getResource("/resources/totalpoint.png")));
|
|
toolBarPrincipal.add(btnTotalPoint);
|
|
|
|
JButton btnTotalPointNode = toolBarPrincipal.add( new actTotalPointNode() );
|
|
btnTotalPointNode.setIcon(new ImageIcon(create.class.getResource("/resources/totalpointnode.png")));
|
|
btnTotalPointNode.setHideActionText(true);
|
|
toolBarPrincipal.add(btnTotalPointNode);
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
|
|
tglbtnTousLesNodes = new JToggleButton("");
|
|
tglbtnTousLesNodes.setAction(new actTousLesNodesEvaluer());
|
|
tglbtnTousLesNodes.setIcon(new ImageIcon(create.class.getResource("/resources/lesnodesevaluer.png")));
|
|
toolBarPrincipal.add(tglbtnTousLesNodes);
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
JButton btnAbout = toolBarPrincipal.add( new actAbout() );
|
|
btnAbout.setIcon(new ImageIcon(create.class.getResource("/resources/apropos.png")));
|
|
btnAbout.setHideActionText( true );
|
|
toolBarPrincipal.add(btnAbout);
|
|
|
|
|
|
JButton btnNewButton = toolBarPrincipal.add( new actTutoriels());
|
|
btnNewButton.setIcon(new ImageIcon(create.class.getResource("/resources/tutoriel.png")));
|
|
btnNewButton.setHideActionText(true);
|
|
toolBarPrincipal.add(btnNewButton);
|
|
|
|
toolBarPrincipal.addSeparator();
|
|
|
|
JButton buttonExit = toolBarPrincipal.add( new actExit() );
|
|
buttonExit.setHideActionText( true );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void closeWindows() {
|
|
if(JOptionPane.showConfirmDialog(null,"Voulez-vous quitter analyseWriter?", "Quitter", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
|
|
dispose();
|
|
}
|
|
}
|
|
|
|
public void closeDirectlyWindows() {
|
|
this.dispose();
|
|
}
|
|
|
|
// 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 nodeAC sujet.
|
|
*/
|
|
public static void constructionTree() {
|
|
|
|
|
|
DefaultMutableTreeNode root = null;
|
|
|
|
commandes.tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
|
|
commandes.tree.setExpandsSelectedPaths(true);
|
|
commandes.tree.setInvokesStopCellEditing(true);
|
|
|
|
tree.setExpandsSelectedPaths(true);
|
|
tree.setInvokesStopCellEditing(true);
|
|
|
|
//Construction si c'est un fichier d'analyse
|
|
if(commandes.sujet.getNomElt().equals("classeur")) {
|
|
root = new DefaultMutableTreeNode(commandes.sujet,true);
|
|
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()) ;
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Permet la construction du tree.
|
|
* @param nod
|
|
* @param parent
|
|
* @return
|
|
*/
|
|
private static DefaultMutableTreeNode addNodeMutable(nodeAC nod, DefaultMutableTreeNode parent) {
|
|
if(nod!=null) {
|
|
DefaultMutableTreeNode node1 = null;
|
|
for(int i = 0 ; i < nod.getNodes().size(); i++) {
|
|
if(!nod.getNodes().get(i).getNomElt().equals("settings")) {
|
|
node1 = new DefaultMutableTreeNode(nod.getNodes().get(i));
|
|
addNodeMutable(nod.getNodes().get(i), node1);
|
|
parent.add(node1);
|
|
}
|
|
}
|
|
}
|
|
return parent;
|
|
}
|
|
|
|
|
|
public static JTree getTree() {
|
|
return tree;
|
|
}
|
|
|
|
|
|
|
|
|
|
public static DefaultMutableTreeNode getSelectNode() {
|
|
return selectNode;
|
|
}
|
|
|
|
|
|
|
|
public static afficheText getTextNodeSelect() {
|
|
return textNodeSelect;
|
|
}
|
|
|
|
|
|
|
|
public static JToggleButton getTglbtnTousLesNodes() {
|
|
return tglbtnTousLesNodes;
|
|
}
|
|
|
|
public static JButton getButtonEvaluate() {
|
|
return buttonEvaluate;
|
|
}
|
|
|
|
public static void expandAll() {
|
|
Enumeration<?> topLevelNodes = ((TreeNode) tree.getModel().getRoot()).children();
|
|
while(topLevelNodes.hasMoreElements()) {
|
|
DefaultMutableTreeNode N = (DefaultMutableTreeNode) topLevelNodes.nextElement();
|
|
tree.expandPath(new TreePath(N.getPath()));
|
|
expandNode( N);
|
|
}
|
|
}
|
|
|
|
public static void collapseAll() {
|
|
Enumeration<?> topLevelNodes = ((TreeNode) tree.getModel().getRoot()).children();
|
|
while(topLevelNodes.hasMoreElements()) {
|
|
DefaultMutableTreeNode N = (DefaultMutableTreeNode) topLevelNodes.nextElement();
|
|
tree.collapsePath(new TreePath(N.getPath()));
|
|
collapseNode(N);
|
|
}
|
|
}
|
|
|
|
public static void expandNode(DefaultMutableTreeNode N) {
|
|
Enumeration<?> topLevelNodes = ((TreeNode) N).children();
|
|
while(topLevelNodes.hasMoreElements()) {
|
|
DefaultMutableTreeNode N1 = (DefaultMutableTreeNode) topLevelNodes.nextElement();
|
|
tree.expandPath(new TreePath(N1.getPath()));
|
|
expandNode(N1);
|
|
}
|
|
}
|
|
|
|
public static void collapseNode(DefaultMutableTreeNode N) {
|
|
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()));
|
|
}
|
|
|
|
|
|
// 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);
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//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");
|
|
//
|
|
// }
|
|
//}
|
|
|