analyseWriter/src/action/actEvalNumeroAbsoluePageOui...

65 lines
2.5 KiB
Java

package action;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import cXML.node;
import fenetres.baliseStyle;
import fenetres.create;
public class actEvalNumeroAbsoluePageOui extends AbstractAction{
/**
*
*/
private static final long serialVersionUID = 1L;
{
putValue( Action.NAME, "Oui, combien de point?" );
putValue( Action.SHORT_DESCRIPTION, "Evaluer le numéro absolue de la page" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evalnumeroabsoluepagetruemini.png")) );
}
@Override
public void actionPerformed(ActionEvent e) {
node nod = (node) fenetres.create.getSelectNode().getUserObject();
int point = 0;
if(nod.getAttributs().get("evalNumeroAbsoluePage")!=null) {
point = Integer.valueOf(nod.getAttributs().get("evalNumeroAbsoluePage"));
}
String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point);
if(a!=null)if(!a.isBlank()){
try {
point = Integer.valueOf(a);
if(point<=0) {
if(nod.getNomElt().equals("page")) nod.supprimeAttribut("evalNumeroAbsoluePage");
if(nod.getNomElt().equals("structurepage")) ajouteAToutesLesPages(nod,0);
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un nombre entier POSITIF SUPÉRIEUR à zéro.<br>Cependant,l'attribut <b>evalNumeroAbsoluePage</b> a été supprimé.</h2>");
}else {
if(nod.getNomElt().equals("page")) nod.getAttributs().put("evalNumeroAbsoluePage", String.valueOf(point));
if(nod.getNomElt().equals("structurepage")) ajouteAToutesLesPages(nod,point);
}
} catch (Exception e2) {
fenetres.create.getTextNodeSelect().setText(baliseStyle.balise());
fenetres.create.getTextNodeSelect().setText("<h2>Erreur la valeur doit être un <b>nombre entier</b>.<br>L'attribut n'a pas été modifiée.</h2>");
}
}
fenetres.create.getTextNodeSelect().refreshAffichage(nod);
}
private void ajouteAToutesLesPages(node nod,Integer point) {
for(int i=0; i < nod.getNodes().size();i++) {
if(point>0) {
nod.getNodes().get(i).getAttributs().put("evalNumeroAbsoluePage", String.valueOf(point));
}else {
nod.getNodes().get(i).supprimeAttribut("evalNumeroAbsoluePage");
}
}
}
}