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]"); } } }
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); } } }
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); } } }