1
2
3
4
5
6
7
8
9
10
11
12
13 import gtk
14 import os
15 from componente import *
16
17 -def abrir(diccio,ruta,fon,ventana,textorender):
18 file=open(ruta,"r")
19 cadena=file.readlines()
20 tupla=(0,0,0,0)
21 for valor in range(len(cadena)):
22 if cadena[valor]=="<fondo>\n":
23 cadena3=cadena[valor+1].strip("()\n")
24 cadena4=cadena3.split(',')
25 color=(int(cadena4[0]),int(cadena4[1]),int(cadena4[2]))
26 band=cadena[valor+2]
27 img=cadena[valor+3]
28 fon.FONDO=color
29 fon.band=int(band)
30
31 fon.img=img.strip("\n")
32 if int(band)==1:
33 try:
34 fon.carga_img(img.strip("\n"))
35 except Exception, ex:
36 try:
37 (filepath, filename) = os.path.split(ruta)
38 (filepath2, filename2) = os.path.split(img.strip("\n"))
39 print filepath+"/"+filename2
40 fon.carga_img(filepath+"/"+filename2)
41 except Exception, ex:
42 ventana.mensajes(2,"no se pudo abrir la imagen de fondo")
43 fon.band=0
44
45
46 if cadena[valor]=="<objeto_inicial>\n":
47 cadena1= cadena[valor+1].strip("()\n")
48 cadena2=cadena1.split(',')
49 x,y=cadena2
50 fon.objetos[0].posicion=float(x),float(y)
51 if cadena[valor]=="<objeto_dato>\n":
52 cadena1= cadena[valor+2].strip("()\n")
53 cadena2=cadena1.split(',')
54 x,y=cadena2
55 cadena3=cadena[valor+4].strip("()\n")
56 cadena4=cadena3.split(',')
57 tupla1=(int(cadena4[0]),int(cadena4[1]),int(cadena4[2]))
58 dato=cadena[valor+1].strip("()\n")
59 print dato
60 print "valor de la cadena " ,cadena[valor+4].strip("\n"),
61 c1=comp_dat_arg(
62 float(x),
63 float(y),
64 fon.identificador_dat,
65 1,
66 cadena[valor+3].strip("\n"),
67 tupla1,
68 cadena[valor+6].strip("\n"),
69 dato,
70 7,
71 fon,
72 ventana,
73 textorender
74 )
75 fon.identificador_dat+=1
76 fon.datos.add(c1)
77 fon.objetos_datos.append(c1)
78 fon.tipo_obj_datos.append(7)
79 if cadena[valor]=="<objeto_dato_img>\n":
80 dato=cadena[valor+1].strip("()\n")
81 cadena1= cadena[valor+3].strip("()\n")
82 cadena2=cadena1.split(',')
83 x,y=cadena2
84 cadena3=cadena[valor+5].strip("()\n")
85 cadena4=cadena3.split(',')
86 tupla1=(int(cadena4[0]),int(cadena4[1]),int(cadena4[2]))
87 c1=comp_dat_arg(
88 float(x),
89 float(y),
90 fon.identificador_dat,
91 0,
92 cadena[valor+4].strip("\n"),
93 tupla1,
94 cadena[valor+7].strip("\n"),
95 dato,
96 6,
97 fon,
98 ventana,
99 textorender
100 )
101 fon.identificador_dat+=1
102 fon.datos.add(c1)
103 fon.objetos_datos.append(c1)
104 fon.tipo_obj_datos.append(6)
105 if cadena[valor]=="<objeto_componente>\n":
106 cadena1= cadena[valor+4].strip("()\n")
107 cadena2=cadena1.split(',')
108 x,y=cadena2
109 argumento=cadena[valor+2].strip("()\n")
110 fon.identificador+=1
111 cadena3=cadena[valor+5].strip("()\n")
112 cadena4=cadena3.split(',')
113 color=(int(cadena4[0]),int(cadena4[1]),int(cadena4[2]))
114 text=cadena[valor+1].strip("()\n")
115 text=text+" "
116 print "texto", text
117 c1=componente (
118 float(x),
119 float(y),
120 fon.identificador,
121 int(argumento),
122 color,
123 text,
124 fon,
125 ventana,
126 textorender
127 )
128 fon.componentes.add(c1)
129 fon.objetos.append(c1)
130 fon.tipo_obj.append(1)
131 if cadena[valor]=="<objeto_bloque>\n":
132 cadena1= cadena[valor+2].strip("()\n")
133 cadena2=cadena1.split(',')
134 x,y=cadena2
135 cadena1fin= cadena[valor+5].strip("()\n")
136 cadena2fin=cadena1fin.split(',')
137 xfin,yfin=cadena2fin
138 cadena3=cadena[valor+3].strip("()\n")
139 cadena4=cadena3.split(',')
140 color=(int(cadena4[0]),int(cadena4[1]),int(cadena4[2]))
141 text=cadena[valor+4].strip("()\n")
142 fon.identificador+=1
143 c1=componente_bloque_uno(
144 float(x),
145 float(y),
146 fon.identificador,
147 color,
148 text,
149 fon,
150 ventana,
151 textorender
152 )
153 fon.componentes.add(c1)
154 fon.objetos.append(c1)
155 fon.identificador +=1
156 c1=componente_bloque_dos (
157 float(xfin),
158 float(yfin),
159 fon.identificador,
160 color,
161 "fin ",
162 fon,
163 ventana,
164 textorender
165 )
166 fon.componentes.add(c1)
167 fon.objetos.append(c1)
168 fon.tipo_obj.append(5)
169 fon.tipo_obj.append(0)
170 if cadena[valor]=="<objeto_cero>\n":
171 cadena1= cadena[valor+2].strip("()\n")
172 cadena2=cadena1.split(',')
173 x,y=cadena2
174 cadenap= cadena[valor+3].strip("()\n")
175 cadenap2=cadenap.split(',')
176 x1,y1=cadenap2
177 cadena3=cadena[valor+4].strip("()\n")
178 cadena4=cadena3.split(',')
179 tupla1=(int(cadena4[0]),int(cadena4[1]),int(cadena4[2]))
180 dato=cadena[valor+1].strip("()\n")
181 fon.identificador+=1
182 c1=componente_cero_arg (
183 float(x),
184 float(y),
185 fon.identificador,
186 tupla1,
187 "siguiente ",
188 fon,
189 ventana,
190 textorender
191 )
192 fon.componentes.add(c1)
193 fon.objetos.append(c1)
194 fon.tipo_obj.append(4)
195 fon.objetos[fon.identificador-1].posicion2=(
196 float(x1),
197 float(y1)
198 )
199