141 lines
4.3 KiB
Java
141 lines
4.3 KiB
Java
package menucontextuel;
|
|
|
|
import javax.swing.ImageIcon;
|
|
import javax.swing.JMenu;
|
|
import javax.swing.JPopupMenu;
|
|
|
|
import action.actAttribut;
|
|
import action.actCoefficient;
|
|
import action.actCopy;
|
|
import action.actDeleteNode;
|
|
import action.actOu;
|
|
import action.actPaste;
|
|
import cXML.node;
|
|
import fenetres.create;
|
|
import list.listeDesNodesAEvaluer;
|
|
import list.listeDesNodesAllContent;
|
|
import list.listeDesNodesAvecOU;
|
|
import list.listeDesNodesContientEnfant;
|
|
import list.listeDesNodesPourEvaluationEntetePage;
|
|
import list.listeDesNodesPourEvaluerPage;
|
|
import list.listeDesNodesPourEvaluerPiedDePage;
|
|
import list.listeDesNodesRechercheByContenu;
|
|
import list.listeEvalNameNode;
|
|
import list.listeRechercheParAnchorPageNumber;
|
|
import sousmenuArbre.mnArbre;
|
|
import sousmenuEvaluation.mnEvaluer;
|
|
|
|
/**
|
|
* Le menu contextuel des nodes dans le tree.</br>
|
|
* @author pabr6
|
|
*
|
|
*/
|
|
public class CreatePopupMenu extends JPopupMenu {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
/**
|
|
* Création de la popupmenu.</br>
|
|
* @param nod
|
|
*/
|
|
public CreatePopupMenu(node nod ) {
|
|
|
|
if(nod!=null) {
|
|
|
|
|
|
//**************************************************************
|
|
//** La popupMenu qui s'affiche sur le tree pour les niveau 1 **
|
|
//**************************************************************
|
|
JPopupMenu mnPopupTree = new JPopupMenu();
|
|
mnPopupTree.add( mnEvaluer.menu());
|
|
if(nod.getLevel()==1 ) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(new actCoefficient());
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(MnGroupePourFeedbackNiveau1.menu(nod));
|
|
if(nod.getNomElt().equals("structurepage")) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add( MnGroupeMethodeEvaluer.menu(nod));
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(MnGroupeMethodeEvaluerMultiple.menu(nod));
|
|
}
|
|
}
|
|
|
|
//********************************************
|
|
//** Pour les nodes de niveau supérieur à 1 **
|
|
//********************************************
|
|
if(nod.getLevel()>1 ) {
|
|
|
|
// Le groupe représentation dans le feedback
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(MnGroupePourFeedback.menu(nod));
|
|
|
|
// Le groupe méthode de recherche
|
|
if(listeDesNodesRechercheByContenu.isRechercheByContenu(nod)||listeRechercheParAnchorPageNumber.isRechercheParAnchorPageNumber(nod)) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(mnGroupeRechercheContenu.menu(nod));
|
|
}
|
|
|
|
|
|
// Le groupe méthode évaluer le node
|
|
if(listeEvalNameNode.isNodeEvalNameNode(nod)||listeDesNodesAllContent.isAllContent(nod)||
|
|
listeDesNodesPourEvaluationEntetePage.isEntete(nod) || listeDesNodesPourEvaluerPiedDePage.isPiedDePage(nod)||
|
|
listeDesNodesPourEvaluerPage.isPage(nod) || listeDesNodesAEvaluer.isAEvaluer(nod)) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(MnGroupeMethodeEvaluer.menu(nod));
|
|
}
|
|
|
|
// Le groupe méthode évaluer les nodes enfants
|
|
if(listeDesNodesContientEnfant.isContientEnfant(nod) && nod.getNodes().size()>0) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(MnGroupeMethodeEvaluerMultiple.menu(nod));
|
|
}
|
|
|
|
// Le groupe accès aux attributs
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(new actAttribut());
|
|
|
|
// Le OU
|
|
if(listeDesNodesAvecOU.isOU(nod)) {
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(mnOu());
|
|
}
|
|
|
|
|
|
}
|
|
|
|
// Le groupe Arbre
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(mnArbre.menu());
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(new actCopy());
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(new actPaste());
|
|
mnPopupTree.addSeparator();
|
|
mnPopupTree.add(new actDeleteNode());
|
|
|
|
|
|
//*************************************
|
|
//** Applique le popMenu sur la tree **
|
|
//*************************************
|
|
create.getTree().setComponentPopupMenu(mnPopupTree);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Menu permettant insérer le node OU.</br>
|
|
* Uniquement accésible pour les nodes avec recherche par contenu.</br>
|
|
* @return
|
|
*/
|
|
private JMenu mnOu() {
|
|
JMenu mnOu = new JMenu("Insérer un node OU");
|
|
mnOu.setIcon(new ImageIcon(create.class.getResource("/resources/oumini.png")));
|
|
mnOu.add( new actOu());
|
|
return mnOu;
|
|
}
|
|
|
|
|
|
}
|