676 } |
676 } |
677 |
677 |
678 public void writeToString(StructType stp, PrintWriter pw) { |
678 public void writeToString(StructType stp, PrintWriter pw) { |
679 int type; |
679 int type; |
680 pw.println("\n\n\tString getName() {\n\t\treturn \"" + stp.getName()+ "\"; \n\t}"); |
680 pw.println("\n\n\tString getName() {\n\t\treturn \"" + stp.getName()+ "\"; \n\t}"); |
681 pw.println("\n\n\tString getFieldsAsString() {\n\t\tString ret=\"\";\n"); |
681 pw.println("\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder(" + stp.getNumFields() * 40 + ");\n"); |
682 |
682 |
683 for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) { |
683 for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) { |
684 AtomicType tp = (AtomicType) e.nextElement(); |
684 AtomicType tp = (AtomicType) e.nextElement(); |
685 |
685 |
686 type = tp.getType(); |
686 type = tp.getType(); |
687 String name = tp.getName().replace('.', '_'); |
687 String name = tp.getName().replace('.', '_'); |
688 if ((name != null) && (name.length() > 0)) |
688 if ((name != null) && (name.length() > 0)) |
689 { |
689 { |
690 if (type == AtomicType.TYPE_ATOM) { |
690 if (type == AtomicType.TYPE_ATOM) { |
691 pw.println("\t\tret += \"\"+\"" + name + " = \" + XAtom.get(get_" + name + "()) +\", \";"); |
691 pw.println("\t\tret.append(\"" + name + " = \" ).append( XAtom.get(get_" + name + "()) ).append(\", \");"); |
692 } else if (name.equals("type")) { |
692 } else if (name.equals("type")) { |
693 pw.println("\t\tret += \"\"+\"type = \" + XlibWrapper.eventToString[get_type()] +\", \";"); |
693 pw.println("\t\tret.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \");"); |
694 } else if (name.equals("window")){ |
694 } else if (name.equals("window")){ |
695 pw.println("\t\tret += \"\"+\"window = \" + getWindow(get_window()) + \", \";"); |
695 pw.println("\t\tret.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \");"); |
696 } else if (type == AtomicType.TYPE_ARRAY) { |
696 } else if (type == AtomicType.TYPE_ARRAY) { |
697 pw.print("\t\tret += \"{\""); |
697 pw.print("\t\tret.append(\"{\")"); |
698 for (int i = 0; i < tp.getArrayLength(); i++) { |
698 for (int i = 0; i < tp.getArrayLength(); i++) { |
699 pw.print(" + get_" + name + "(" + i + ") + \" \""); |
699 pw.print("\n\t\t.append( get_" + name + "(" + i + ") ).append(\" \")"); |
700 } |
700 } |
701 pw.println(" + \"}\";"); |
701 pw.println(".append( \"}\");"); |
702 } else { |
702 } else { |
703 pw.println("\t\tret += \"\"+\"" + name +" = \" + get_"+ name+"() +\", \";"); |
703 pw.println("\t\tret.append(\"" + name +" = \").append( get_"+ name+"() ).append(\", \");"); |
704 } |
704 } |
705 } |
705 } |
706 |
706 |
707 } |
707 } |
708 pw.println("\t\treturn ret;\n\t}\n\n"); |
708 pw.println("\t\treturn ret.toString();\n\t}\n\n"); |
709 } |
709 } |
710 |
710 |
711 public void writeStubs(StructType stp, PrintWriter pw) { |
711 public void writeStubs(StructType stp, PrintWriter pw) { |
712 int type; |
712 int type; |
713 String prefix = ""; |
713 String prefix = ""; |