1
2
3
4
5
6
7
8
9
10
11
12
13
14 import pygtk
15 import gtk
16 import os
17 import re
18 import shutil
19 import sys
20 import gobject
21 import pygame
22 import creditos
23 from subprocess import Popen,PIPE,STDOUT
24 import carga, abrir, nuevo, guardar, crear, navegador, visor, texto
25 from componente_inicial import *
26 from componente import *
27
28
29
30
31
32 BLACK = (0, 0, 0)
33 LINEA=(255,0,0)
34
35
36
37
38 -class puntero(pygame.sprite.Sprite):
54
55
56
57
58 -class fondo(pygame.sprite.Sprite):
98
99
100
101
102
104
105
106
107 mousexy=(0,0)
108 boton_mouse= [0,0,0,0]
109 seleccionado=0
110 seleccionado_datos=0
111 seleccionado_datos_ed=0
112 tecla=0
113 valor_tecla=""
114 tecla_enter=0
115 processor="18f4550"
116 cadena_pinguino=[]
117 seleccion_menu=1
118 tipo_componente=1
119 diccionario={}
120 tooltip={}
121 lista=[]
122 config=[]
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143 arch=open(sys.path[0] + "/version", "r")
144 a=arch.readline()
145 creditos.Info.version= a
146 self.carga_dicc()
147 self.carga_tooltip()
148 self.lista=self.diccionario.keys()
149 self.lista.sort()
150 self.carga_paleta()
151 conf=open(sys.path[0] +"/config.dat","r")
152 dat=conf.readlines()
153 for txt in dat:
154 self.config.append(txt)
155 conf.close()
156
157
158 self.window1 = gtk.Window()
159 self.window1.connect('delete-event', gtk.main_quit)
160 self.window1.set_icon_from_file(
161 sys.path[0] +
162 "/imagenes/icaro.png"
163 )
164
165
166
167
168 self.area = gtk.DrawingArea()
169 self.area.set_app_paintable(True)
170 self.area.set_size_request(3000, 3000)
171
172 menu = gtk.Menu()
173
174 buf=(
175 "nuevo",
176 "abrir",
177 "guardar",
178
179 "guardar como función",
180 "ejemplos",
181 "salir"
182 )
183 for i in buf:
184 menu_items = gtk.MenuItem(i)
185 menu.append(menu_items)
186 menu_items.connect("activate", self.menuitem_response, i)
187 menu_items.show()
188
189
190 menu2 = gtk.Menu()
191
192 buf2=("fondo","color","acerca de")
193 for i in buf2:
194 menu_items2 = gtk.MenuItem(i)
195 menu2.append(menu_items2)
196 menu_items2.connect("activate", self.menuitem_response, i)
197 menu_items2.show()
198
199
200
201 root_menu = gtk.MenuItem("Archivo")
202 root_menu.show()
203 root_menu.set_submenu(menu)
204
205 root_menu2 = gtk.MenuItem("editar")
206 root_menu2.show()
207 root_menu2.set_submenu(menu2)
208
209 menu_bar = gtk.MenuBar()
210 menu_bar.show()
211 menu_bar.append (root_menu)
212 menu_bar.append (root_menu2)
213
214
215 toolbar = gtk.Toolbar()
216 toolbar.append_item
217 toolbar.set_style(gtk.TOOLBAR_BOTH)
218 toolbar.show()
219
220 iconw = gtk.Image()
221 iconw.set_from_stock(gtk.STOCK_NEW,30)
222 tool_button = toolbar.append_item(
223 "Nuevo",
224 self.tooltip["nuevo"],
225 "Private",
226 iconw,
227 self.nuevo)
228
229 iconw = gtk.Image()
230 iconw.set_from_stock(gtk.STOCK_OPEN,30)
231 tool_button = toolbar.append_item(
232 "Abrir",
233 self.tooltip["abrir"],
234 "Private",
235 iconw,
236 self.abrir)
237 iconw = gtk.Image()
238 iconw.set_from_stock(gtk.STOCK_SAVE,30)
239 tool_button = toolbar.append_item(
240 "Guardar",
241 self.tooltip["guardar"],
242 "Private",
243 iconw,
244 self.guardar)
245 iconw = gtk.Image()
246 iconw.set_from_stock(gtk.STOCK_QUIT,30)
247 tool_button = toolbar.append_item(
248 "salir",
249 self.tooltip["salir"],
250 "Private",
251 iconw,
252 exit)
253
254 toolbar.append_space()
255
256
257
258 iconw = gtk.Image()
259 iconw.set_from_file(sys.path[0] + "/imagenes/icaro.png")
260 tool_button = toolbar.append_item(
261 "compilar",
262 self.tooltip["compilar"],
263 "Private",
264 iconw,
265 self.compilar)
266
267 iconw = gtk.Image()
268 iconw.set_from_file(sys.path[0] + "/imagenes/compilar.png")
269 tool_button = toolbar.append_item(
270 "cargar",
271 self.tooltip["cargar"],
272 "Private",
273 iconw,
274 self.upload)
275
276 iconw = gtk.Image()
277 iconw.set_from_file(sys.path[0] + "/imagenes/tortucaro.png")
278 tool_button = toolbar.append_item(
279 "tortucaro",
280 self.tooltip["tortucaro"],
281 "Private",
282 iconw,
283 self.tortucaro)
284 toolbar.append_space()
285
286 iconw = gtk.Image()
287 iconw.set_from_stock(gtk.STOCK_HELP,30)
288 tool_button = toolbar.append_item(
289 "ayuda",
290 self.tooltip["ayuda"],
291 "Private",
292 iconw,
293 self.ayuda)
294 iconw = gtk.Image()
295 iconw.set_from_stock(gtk.STOCK_PROPERTIES,30)
296 tool_button = toolbar.append_item(
297 "ver codigo",
298 self.tooltip["ver_codigo"],
299 "Private",
300 iconw,
301 self.ver)
302
303
304
305 toolbar.append_space()
306 iconw = gtk.Image()
307 iconw.set_from_stock(gtk.STOCK_EDIT,30)
308 dibujar_button = toolbar.append_element(
309 gtk.TOOLBAR_CHILD_RADIOBUTTON,None,
310 "lapiz",
311 self.tooltip["lapiz"],
312 "Private",
313 iconw,
314 self.dibujo,1)
315 iconw = gtk.Image()
316 iconw.set_from_stock(gtk.STOCK_SELECT_COLOR,30)
317 tool_button = toolbar.append_element(
318 gtk.TOOLBAR_CHILD_RADIOBUTTON,dibujar_button,
319 "mover",
320 self.tooltip["mover"],
321 "Private",
322 iconw,
323 self.dibujo,2)
324
325 iconw = gtk.Image()
326 iconw.set_from_stock(gtk.STOCK_DELETE,30)
327 tool_button = toolbar.append_element(
328 gtk.TOOLBAR_CHILD_RADIOBUTTON,dibujar_button,
329 "borrar",
330 self.tooltip["borrar"],
331 "Private",
332 iconw,
333 self.dibujo,3)
334
335
336 scrolled_window = gtk.ScrolledWindow()
337 scrolled_window.set_size_request(500, 600)
338 scrolled_window.set_policy(gtk.POLICY_ALWAYS, gtk.POLICY_ALWAYS)
339 scrolled_window.show()
340 scrolled_window.add_with_viewport(self.area)
341
342 scrolled_window2 = gtk.ScrolledWindow()
343 scrolled_window2.set_border_width(1)
344 scrolled_window2.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
345 scrolled_window2.show()
346
347
348 table=gtk.VBox(False, len(self.lista))
349 notebook = gtk.Notebook()
350 notebook.set_tab_pos(gtk.POS_RIGHT)
351
352
353
354 scrolled_window2.add_with_viewport(notebook)
355
356 label = gtk.Label(self.diccionario[self.lista[0]][1])
357 notebook.append_page(table,label)
358
359 box1 = gtk.VBox(False, 3)
360
361 box2 = gtk.HBox(False, 2)
362 buffer = self.diccionario[self.lista[1]][0]
363 caja = self.imagen_boton(
364 self.diccionario[self.lista[1]][0],
365 self.diccionario[self.lista[1]][0]
366 )
367 button = gtk.RadioButton()
368 if self.tooltip.has_key(self.diccionario[self.lista[1]][0]):
369 val=self.tooltip[self.diccionario[self.lista[1]][0]]
370 button.set_tooltip_text(val)
371
372
373
374
375 button.add(caja)
376 button.connect("clicked", self.botones,self.lista[1])
377
378 button.show()
379 table.pack_start(button, False, True, 0)
380
381 for i in range(2,len(self.lista)):
382 if self.diccionario[self.lista[i]][0]=="notebook":
383 table=gtk.VBox(False, len(self.lista))
384 label = gtk.Label(self.diccionario[self.lista[i]][1])
385 notebook.append_page(table,label)
386 else:
387 buffer = self.diccionario[self.lista[i]][0]
388 caja = self.imagen_boton(
389 self.diccionario[self.lista[i]][0],
390 self.diccionario[self.lista[i]][0]
391 )
392 button = gtk.RadioButton(button)
393 if self.tooltip.has_key(
394 self.diccionario[self.lista[i]][0]
395 ):
396 tool=self.tooltip [
397 self.diccionario[self.lista[i]][0]
398 ]
399 button.set_tooltip_text(tool)
400 button.add(caja)
401 button.connect("clicked", self.botones,self.lista[i])
402 table.pack_start(button, False, True, 0)
403 button.show()
404
405
406 box2.pack_start(scrolled_window, True, True, 1)
407 box2.pack_start(scrolled_window2,False, False, 1)
408 box1.pack_start(menu_bar, False, True, 1)
409 box1.pack_start(toolbar, False, True, 1)
410 box1.pack_start(box2, True, True, 1)
411 self.window1.add(box1)
412
413
414
415 self.area.add_events(gtk.gdk.BUTTON_PRESS_MASK)
416 self.area.add_events(gtk.gdk.BUTTON_RELEASE_MASK)
417 self.area.add_events(gtk.gdk.POINTER_MOTION_MASK)
418 self.window1.add_events(gtk.gdk.KEY_PRESS_MASK)
419 self.window1.add_events(gtk.gdk.KEY_RELEASE_MASK)
420 self.area.connect("button-press-event", self.buttonpress_cb)
421 self.area.connect("button-release-event", self.buttonrelease_cb)
422 self.area.connect("motion-notify-event", self.move_cb)
423 self.window1.connect("key_press_event", self.keypress_cb)
424 self.window1.connect("key_release_event", self.keyrelease_cb)
425 self.area.realize()
426
427
428
429
430
434
435
436
437
439 browser = navegador.SimpleBrowser()
440 browser.open(sys.path[0]+'/documentos/publican/manual_np05/tmp/es-ES/html/index.html')
441 browser.show()
442
445
446
447
448
450 box1 = gtk.HBox(False, 0)
451 box1.set_border_width(0)
452 image = gtk.Image()
453 xpm_filename=xpm_filename.strip(" ")
454 buf=sys.path[0] + "/imagenes/componentes/"+xpm_filename+".png"
455 image.set_from_file(buf)
456 label = gtk.Label(label_text)
457 box1.pack_start(image, False, True, 1)
458 box1.pack_start(label, False, True, 1)
459 image.show()
460 label.show()
461 return box1
462
463
464
465
467 tipo= (
468 gtk.MESSAGE_WARNING,
469 gtk.MESSAGE_QUESTION,
470 gtk.MESSAGE_ERROR,
471 gtk.MESSAGE_INFO
472 )
473 botones=(
474 gtk.BUTTONS_OK,
475 gtk.BUTTONS_OK_CANCEL,
476 gtk.BUTTONS_OK,
477 gtk.BUTTONS_OK
478 )
479 md = gtk.MessageDialog(None,
480 gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
481 tipo[num],
482 botones[num], mensa)
483 resp=md.run()
484 md.destroy()
485 if resp == gtk.RESPONSE_OK:
486 return True
487 elif resp == gtk.RESPONSE_CANCEL:
488 return False
489
490
491
494
495
496
497
499 ax=ay=30
500
501 self.area.grab_focus()
502
503 if self.diccionario[b][1]==1:
504 c1=componente (
505 self.mousexy[0]-ax,
506 self.mousexy[1]-ay,
507 self.fondo.identificador+1,
508 self.diccionario[b][2],
509 self.diccionario[b][3],
510 self.diccionario[b][0],
511 self.fondo,
512 self,
513 self.textorender
514 )
515 self.fondo.componentes.add(c1)
516 self.fondo.identificador+=1
517 self.fondo.objetos.append(c1)
518 self.fondo.tipo_obj.append(self.diccionario[b][1])
519 if self.diccionario[b][1]==4:
520
521 self.fondo.identificador+=1
522 c1=componente_cero_arg (
523 self.mousexy[0]-ax,
524 self.mousexy[1]-ay,
525 self.fondo.identificador,
526 self.diccionario[b][3],
527 self.diccionario[b][0],
528 self.fondo,
529 self,
530 self.textorender
531 )
532
533 self.fondo.componentes.add(c1)
534 self.fondo.objetos.append(c1)
535 self.fondo.tipo_obj.append(self.diccionario[b][1])
536 if self.diccionario[b][1]==5:
537 self.fondo.identificador+=1
538 c1=componente_bloque_uno(
539 self.mousexy[0]-ax,
540 self.mousexy[1]-ay,
541 self.fondo.identificador,
542 self.diccionario[b][3],
543 self.diccionario[b][0],
544 self.fondo,
545 self,
546 self.textorender
547 )
548 self.fondo.componentes.add(c1)
549 self.fondo.objetos.append(c1)
550 self.fondo.identificador +=1
551 c1=componente_bloque_dos (
552 self.mousexy[0]-ax,
553 self.mousexy[1]+80-ay,
554 self.fondo.identificador,
555 self.diccionario[b][3],
556 self.diccionario[b][4],
557 self.fondo,
558 self,
559 self.textorender
560 )
561 self.fondo.componentes.add(c1)
562 self.fondo.objetos.append(c1)
563 self.fondo.tipo_obj.append(self.diccionario[b][1])
564 self.fondo.tipo_obj.append(0)
565 if self.diccionario[b][1]==6:
566 c1=comp_dat_arg (
567 self.mousexy[0]-ax,
568 self.mousexy[1]-ay,
569 self.fondo.identificador_dat,
570 self.diccionario[b][2],
571 self.diccionario[b][4],
572 self.diccionario[b][3],
573 self.diccionario[b][5],
574 self.diccionario[b][0].strip(" ")+".png",
575 6,
576 self.fondo,
577 self,
578 self.textorender
579 )
580 self.fondo.identificador_dat+=1
581 self.fondo.datos.add(c1)
582 self.fondo.objetos_datos.append(c1)
583 self.fondo.tipo_obj_datos.append(self.diccionario[b][1])
584 if self.diccionario[b][1]==7:
585 c1=comp_dat_arg (
586 self.mousexy[0]-ax,
587 self.mousexy[1]-ay,
588 self.fondo.identificador_dat,
589 self.diccionario[b][2],
590 self.diccionario[b][4],
591 self.diccionario[b][3],
592 self.diccionario[b][5],
593 self.diccionario[b][0].strip(" ")+".png",
594 7,
595 self.fondo,
596 self,
597 self.textorender
598 )
599 self.fondo.identificador_dat+=1
600 self.fondo.datos.add(c1)
601 self.fondo.objetos_datos.append(c1)
602 self.fondo.tipo_obj_datos.append(self.diccionario[b][1])
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
635
637 self.carga()
638 crear.crear_archivo(self.fondo,self)
639 i=carga.compilar_pic("/source/",self.config[0])
640 if i==1:
641 self.mensajes(0,("no se encuentra el compilador sdcc en" +
642 " la ruta " + self.config[0] +
643 " . Pruebe configurar el archivo"+
644 " config.dat y corregirlo"))
645 if i==0:
646 self.mensajes(3,"la compilacion fue exitosa")
647 else:
648 self.mensajes(0,"hubo un error de compilacion")
649
651 resultado=1
652 self.mensajes (3,
653 "aprete el boton RESET de la placa pinguino antes de continuar"
654 )
655
656 i=carga.upload_pic("/source/main",self.config[0])
657 if i==0:
658 self.mensajes(3,"la carga fue exitosa")
659 return 0
660 if i==1:
661 self.mensajes(0,"no se a detectado ningun dispositivo conectada. ¿esta conectado y encendido el PIC?")
662 return 1
663 if i==2:
664 self.mensajes(0,"Se detecto el dispositivo, pero no se puede cargar el firmware, hay que cargar el firmware antes de que se prenda el led rojo del dispositivo")
665 return 2
666 if i==2:
667 self.mensajes(0,"no se genero el archivo .hex para cargar")
668 return 3
669 if i==2:
670 self.mensajes(0,"error al compilar y generar el archivo .hex")
671 return 4
672
674 resultado=1
675 comp=1
676 i=carga.compilar_pic("/tortucaro/",self.config[0])
677 if i==0:
678 self.mensajes(3,"la compilacion fue exitosa")
679 comp=0
680 else:
681 self.mensajes(0,"hubo un error de compilacion")
682 comp=1
683 if comp==0:
684 self.mensajes (
685 3,
686 "aprete el boton RESET de la placa pinguino antes de continuar"
687 )
688 i=carga.upload_pic("/tortucaro/main",self.config[0])
689 if i==0:
690 self.mensajes(3,"la carga fue exitosa")
691 return 0
692 if i==1:
693 self.mensajes(0,"no se a detectado ningun dispositivo conectada. ¿esta conectado y encendido el PIC?")
694 return 1
695 if i==2:
696 self.mensajes(0,"Se detecto el dispositivo, pero no se puede cargar el firmware, hay que cargar el firmware antes de que se prenda el led rojo del dispositivo")
697 return 2
698 if i==2:
699 self.mensajes(0,"no se genero el archivo .hex para cargar")
700 return 3
701 if i==2:
702 self.mensajes(0,"error al compilar y generar el archivo .hex")
703 return 4
704
706 dialog = gtk.FileChooserDialog("save..",
707 None,
708 gtk.FILE_CHOOSER_ACTION_SAVE,
709 (
710 gtk.STOCK_CANCEL,
711 gtk.RESPONSE_CANCEL,
712 gtk.STOCK_SAVE,
713 gtk.RESPONSE_OK
714 )
715 )
716 dialog.set_default_response(gtk.RESPONSE_OK)
717 response = dialog.run()
718 if response == gtk.RESPONSE_OK:
719 cadena=dialog.get_filename()
720 if os.path.isfile(cadena):
721 resp=self.mensajes(
722 1,
723 "Ya existe un archivo con el nombre "+
724 cadena + "¿Quiere reemplazarlo?"
725 )
726 else:
727 resp=False
728 if resp==True or os.path.isfile(cadena)==False :
729 guardar.guardar(
730 self.fondo.objetos,
731 cadena,
732 self.fondo
733 )
734 elif response == gtk.RESPONSE_CANCEL:
735 print 'Closed, no files selected'
736 dialog.destroy()
737
739
740 dialog = gtk.FileChooserDialog(
741 "Open..",
742 None,
743 gtk.FILE_CHOOSER_ACTION_OPEN,
744 (
745 gtk.STOCK_CANCEL,
746 gtk.RESPONSE_CANCEL,
747 gtk.STOCK_OPEN,
748 gtk.RESPONSE_OK
749 )
750 )
751 dialog.set_default_response(gtk.RESPONSE_OK)
752 print dato
753 try:
754 dialog.set_current_folder(dato)
755 except Exception, ex:
756 dialog.set_current_folder(sys.path[0])
757
758
759
760
761
762
763 filter = gtk.FileFilter()
764 filter.set_name("icaro")
765 filter.add_pattern("*.icr")
766 dialog.add_filter(filter)
767 response = dialog.run()
768 if response == gtk.RESPONSE_OK:
769 nuevo.nuevo(self.fondo)
770 inicial=componente_inicial (
771 20,50,1,
772 self.fondo,
773 self,self.textorender
774 )
775 self.fondo.componentes.add(inicial)
776 self.fondo.objetos.append(inicial)
777 cadena= dialog.get_filename()
778 abrir.abrir(
779 self.diccionario,
780 cadena,
781 self.fondo,
782 self,
783 self.textorender
784 )
785 elif response == gtk.RESPONSE_CANCEL:
786 print 'Closed, no files selected'
787 dialog.destroy()
802
803
804
805
807 self.mousexy= event.get_coords()
808
813
816
828
833
834
835
837
838 if string=="abrir":
839
840
841
842 self.abrir(sys.path[0])
843 if string=="salir":
844 exit()
845 if string=="nuevo":
846 self.nuevo(0)
847 if string=="guardar":
848 self.guardar(0)
849 if string=="guardar como función":
850 dialog = gtk.FileChooserDialog("save..",
851 None,
852 gtk.FILE_CHOOSER_ACTION_SAVE,
853 (
854 gtk.STOCK_CANCEL,
855 gtk.RESPONSE_CANCEL,
856 gtk.STOCK_SAVE,
857 gtk.RESPONSE_OK
858 )
859 )
860 dialog.set_default_response(gtk.RESPONSE_OK)
861 response = dialog.run()
862 if response == gtk.RESPONSE_OK:
863 crear.funcion(self.fondo,self,dialog.get_filename(),)
864 elif response == gtk.RESPONSE_CANCEL:
865 print 'Closed, no files selected'
866 dialog.destroy()
867 if string=="ejemplos":
868 self.abrir(sys.path[0]+"/ejemplos")
869 if string=="fondo":
870 dialog = gtk.FileChooserDialog(
871 "Open..",
872 None,
873 gtk.FILE_CHOOSER_ACTION_OPEN,
874 (
875 gtk.STOCK_CANCEL,
876 gtk.RESPONSE_CANCEL,
877 gtk.STOCK_OPEN,
878 gtk.RESPONSE_OK
879 )
880 )
881 dialog.set_default_response(gtk.RESPONSE_OK)
882 response = dialog.run()
883 cadena= dialog.get_filename()
884 if response == gtk.RESPONSE_OK:
885 print "imagen", cadena
886 try:
887 self.fondo.carga_img(cadena)
888 except Exception, ex:
889 self.mensajes(2,"archivo no valido")
890
891 elif response == gtk.RESPONSE_CANCEL:
892 print 'Closed, no files selected'
893 dialog.destroy()
894 if string=="color":
895
896 colorseldlg = gtk.ColorSelectionDialog("selección de color")
897 colorsel = colorseldlg.colorsel
898 response = colorseldlg.run()
899 if response -- gtk.RESPONSE_OK:
900 color = colorsel.get_current_color()
901
902
903
904
905 self.fondo.FONDO=(
906 (color.red*255)/65535,
907 (color.green*255)/65535,
908 (color.blue*255)/65535
909 )
910 else:
911 colorseldlg.hide()
912
913 colorseldlg.hide()
914 if string=="acerca de":
915
916 about = gtk.AboutDialog()
917 logo=gtk.gdk.pixbuf_new_from_file(sys.path[0]+"/imagenes/icaro.png")
918 about.set_logo(logo)
919 about.set_name(creditos.Info.name)
920 about.set_authors(creditos.Info.authors)
921 about.set_documenters(creditos.Info.documenters)
922 about.set_artists(creditos.Info.artists)
923 about.set_translator_credits(creditos.Info.translator)
924 about.set_version(creditos.Info.version)
925 about.set_comments(creditos.Info.description)
926 about.set_copyright(creditos.Info.copyright)
927 about.set_website(creditos.Info.website)
928 about.set_license(creditos.Info.license)
929 about.set_wrap_license(True)
930 about.run()
931 about.destroy()
940
942 """
943 funcion para cargar los componentes bloques,
944 los valores del gtk.notebook estan determinados
945 por el nombre del archivo, leyendo el archivo saco el valor
946 y tipo de los bloques que cargo en el dic
947 """
948 q=0
949 ruta=os.path.abspath(os.path.dirname(__file__)) + "/componente/"
950
951
952 ff=open(ruta + "lista.dat","r")
953 t=ff.read()
954 temp=t.strip("\n")
955
956 archivo=temp.split(",")
957
958 for i in range(len(archivo)):
959
960 self.diccionario[q]=["notebook",str(archivo[i])]
961 q=q+1
962 f=open(ruta + archivo[i]+".xml","r")
963 cadena=f.readlines()
964 a=0
965 for n in range(len(cadena)):
966 cadena[n]=cadena[n].strip("\n")
967 tupla=[]
968 if cadena[a]=="<componente>":
969 tupla.append(cadena[a+1].strip("\n"))
970 tupla.append(int(cadena[a+2]))
971 tupla.append(int(cadena[a+3]))
972 color1=cadena[a+4].strip("()\n")
973 color2=color1.split(',')
974 tupla1=(int(color2[0]),int(color2[1]),int(color2[2]))
975 tupla.append(tupla1)
976 tupla.append(str(cadena[a+5].strip("\n")))
977 tupla.append(str(cadena[a+6]).strip("\n"))
978 self.diccionario[q]=tupla
979 q=q+1
980 a=a+1
981
983 R=G=B=""
984 archivo=open(os.path.abspath(os.path.dirname(__file__)) + "/colores.dat","r")
985 tupla=[]
986 cadena=archivo.readlines()
987 for n in cadena:
988 tupla.append(n.strip("()\n"))
989 for a in range(len(self.lista)):
990 if self.diccionario[self.lista[a]][0]<>"notebook":
991 R,G,B=tupla[a].split(",")
992 self.diccionario[self.lista[a]][3]=(
993 int(R),
994 int(G),
995 int(B)
996 )
997
998
999
1000
1001
1010
1011
1012 ventana_principal=Ventana()
1013
1014
1015 os.putenv('SDL_WINDOWID', str(ventana_principal.area.window.xid))
1016 gtk.gdk.flush()
1017 gobject.idle_add(loop)
1018 ventana_principal.window1.show_all()
1019 fon=fondo()
1020 punt=puntero(fon,ventana_principal)
1021 texto=texto.Text(fon)
1022 menu=pygame.sprite.RenderClear()
1023 ventana_principal.fondo=fon
1024 ventana_principal.textorender=texto
1025
1026 inicial=componente_inicial(20,50,1,fon,ventana_principal,texto)
1027 fondo.objetos.append(inicial)
1028 fon.componentes.add(inicial)
1029 gtk.main()
1030