Beispiel #1
0
 private void lireTabClasseFormu(Programme prog, StringBuffer buf, int indent, Argument arg) {
   Classe cl = (Classe) arg.getClasseOfTab(prog);
   String zone = "zone_" + arg.nom;
   zone = Divers.remplacer(zone, ".", "_");
   for (Iterator<org.javascool.proglets.plurialgo.langages.modele.Variable> iter =
           cl.proprietes.iterator();
       iter.hasNext(); ) {
     Variable prop = (Variable) iter.next();
     if (prop.isOut()) continue;
     // Argument arg = new Argument(this.nom+"[i1]"+"."+prop.nom, prop.type, null);
     if (prop.isSimple()) {
       instr_pere.addVariable(new Variable("i1", "ENTIER"));
       Argument arg1 = new Argument(arg.nom + "." + prop.nom, "TAB_" + prop.type, arg.mode);
       lireFormu(prog, buf, indent, arg1);
       Divers.remplacer(buf, arg.nom + "." + prop.nom + "[i1]", arg.nom + "[i1]" + "." + prop.nom);
     }
     if (prop.isTabSimple()) {
       instr_pere.addVariable(new Variable("i1", "ENTIER"));
       instr_pere.addVariable(new Variable("ii", "ENTIER"));
       Argument arg1 =
           new Argument(arg.nom + "." + prop.nom, "MAT_" + prop.getTypeOfTab(), arg.mode);
       lireMatFormu(prog, buf, indent, arg1, "i1", "ii");
       Divers.remplacer(
           buf, arg.nom + "." + prop.nom + "[ii][i1]", arg.nom + "[ii]" + "." + prop.nom + "[i1]");
     }
   }
 }
Beispiel #2
0
 private void constrTabClasseFormu(
     Programme prog, StringBuffer buf, int indent, String msg, String p_pere, Argument arg) {
   this.constrLabelFormu(prog, buf, indent, msg, p_pere, arg);
   Classe cl = (Classe) arg.getClasseOfTab(prog);
   Divers.indenter(buf, indent);
   String p_zone = "p_" + arg.nom;
   p_zone = Divers.remplacer(p_zone, ".", "_");
   String zone = "zone_" + arg.nom;
   zone = Divers.remplacer(zone, ".", "_");
   int nb_prop = cl.proprietes.size() - cl.compterMode("OUT");
   Divers.ecrire(buf, p_zone + "=new JPanel(new GridLayout(" + 2 + "," + nb_prop + ")); ");
   Divers.ecrire(buf, p_pere + ".add(" + p_zone + ");");
   for (Iterator<org.javascool.proglets.plurialgo.langages.modele.Variable> iter =
           cl.proprietes.iterator();
       iter.hasNext(); ) {
     Variable prop = (Variable) iter.next();
     if (prop.isOut()) continue;
     String msg1 = prog.quote(prop.nom);
     String label1 = "new JLabel(" + msg1 + ")";
     Divers.indenter(buf, indent);
     Divers.ecrire(buf, p_zone + ".add(" + label1 + ");");
   }
   for (Iterator<org.javascool.proglets.plurialgo.langages.modele.Variable> iter =
           cl.proprietes.iterator();
       iter.hasNext(); ) {
     Variable prop = (Variable) iter.next();
     if (prop.isOut()) continue;
     instr_pere.addVariable(new Variable("ii", "ENTIER"));
     if (prop.isSimple()) {
       Argument arg1 = new Argument(arg.nom + "." + prop.nom, "TAB_" + prop.type, arg.mode);
       String msg1 = null;
       constrTabFormu(prog, buf, indent, msg1, p_zone, arg1, "ii");
     }
     if (prop.isTabSimple()) {
       Argument arg1 =
           new Argument(arg.nom + "." + prop.nom, "MAT_" + prop.getTypeOfTab(), arg.mode);
       String msg1 = null;
       constrMatFormu(prog, buf, indent, msg1, p_zone, arg1);
     }
   }
 }
Beispiel #3
0
 private void declTabClasseFormu(Programme prog, StringBuffer buf, int indent, Argument arg) {
   String zone = "zone_" + arg.nom;
   zone = Divers.remplacer(zone, ".", "_");
   String p_zone = "p_" + arg.nom;
   p_zone = Divers.remplacer(p_zone, ".", "_");
   Divers.indenter(buf, indent);
   Divers.ecrire(buf, "JPanel " + p_zone + "; ");
   Classe cl = (Classe) arg.getClasseOfTab(prog);
   for (Iterator<org.javascool.proglets.plurialgo.langages.modele.Variable> iter =
           cl.proprietes.iterator();
       iter.hasNext(); ) {
     Variable prop = (Variable) iter.next();
     if (prop.isOut()) continue;
     if (prop.isSimple()) {
       Argument arg1 = new Argument(arg.nom + "." + prop.nom, "TAB_" + prop.type, arg.mode);
       declFormu(prog, buf, indent, arg1);
     }
     if (prop.isTabSimple()) {
       Argument arg1 =
           new Argument(arg.nom + "." + prop.nom, "MAT_" + prop.getTypeOfTab(), arg.mode);
       declFormu(prog, buf, indent, arg1);
     }
   }
 }