analyseWriter/src/fenetres/CustomInputDialogActivateSt...

84 lines
3.8 KiB
Java

package fenetres;
import java.awt.Color;
import java.awt.Font;
import java.util.ArrayList;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import MEPTL.commandes;
import cXML.node;
public class CustomInputDialogActivateStyleDansLaStructure {
public static void showCustominputDialog(node nod) {
JLabel lblTitre = new JLabel("<html><h2>EvaluerATraversAnalyseStyle<h2></html>");
lblTitre.setForeground(new Color(50,50,200));
JLabel lblExpliaction = new JLabel("<html><p>Si la méthode est activée alors ce style est évalué uniquement <br>"
+ "dans la structure à partir de la méthode analyseStyle.<br>"
+ "Cette méthode convient pour les formatages directs (surcharges) <br>"
+ "des paragraphes ou des caractères.</p>");
lblExpliaction.setFont(new Font("Tahoma", Font.BOLD, 12));
lblExpliaction.setForeground(Color.blue);
ImageIcon icon = new ImageIcon(create.class.getResource("/resources/atraversanalysestyle.png"));
Object[] message = {
lblTitre,
lblExpliaction,
};
String[] options = {"Active", "Désactive"};
int optionSelected = JOptionPane.showOptionDialog(
null,
message,
"Ajouter ou supprimer la méthode EvaluerATraversAnalyseStyle",
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE,
icon,
options,
options[0]);
if (optionSelected == 0) { // Bouton "Ajouter" sélectionné
nod.getAttributs().put("EvaluerATraversAnalyseStyle", "true");
nod.evaluerTrue();
nod.changeLesCodesEvaluateursVersCodeATraversAnalyseStyle();
//************************************************************************************************
//** Place l'attribut analyseStyle=true au style qui doit être évaluer à travers d'analyseStyle ** **
//************************************************************************************************
String nameStyle = nod.getAttributs().get("style:name");
ArrayList<node> nodP = commandes.sujet.retourneEnfantsContainAttribut("text:style-name");
for(int i =0 ; i < nodP.size();i++) {
if(nodP.get(i).getAttributs().get("text:style-name").equals(nameStyle)) {
nodP.get(i).getAttributs().put("analyseStyle", "true");
}
}
} else if (optionSelected == 1) { // Bouton "Désactivé" sélectionné
nod.getAttributs().put("EvaluerATraversAnalyseStyle", "false");
nod.changeLesCodesEvaluateursVersCodeATraversAnalyseStyle();
nod.supprimeAttribut("EvaluerATraversAnalyseStyle");
nod.evaluerFalse();
//***************************************************************************************************************
//** Place l'attribut EvaluerATraversAnalyseStyle=true au style qui doit être évaluer à travers d'analyseStyle **
//** S'il y a des attributs évaluer avec ‽ alors change par ‼ **
//***************************************************************************************************************
String nameStyle = nod.getAttributs().get("style:name");
ArrayList<node> nodP = commandes.sujet.retourneEnfantsContainAttribut("text:style-name");
for(int i =0 ; i < nodP.size();i++) {
if(nodP.get(i).getAttributs().get("text:style-name").equals(nameStyle)) {
nodP.get(i).supprimeAttribut("analyseStyle");
}
}
} else { // Si la boîte de dialogue est annulée ou fermée
}
}
}