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.
* @author pabr6 * */ public class CreatePopupMenu extends JPopupMenu { private static final long serialVersionUID = 1L; /** * Création de la popupmenu.
* @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.
* Uniquement accésible pour les nodes avec recherche par contenu.
* @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; } }