1
2
3
4
5
6
7
8
9
10
11
12
13 import os, os.path
14 import sys
15 import pygtk
16 import carga
17 pygtk.require ('2.0')
18
19 import gtk
20 if gtk.pygtk_version < (2,10,0):
21 print "PyGtk 2.10 or later required for this example"
22 raise SystemExit
23
24 import gtksourceview2
25 import pango
28
29 lm = gtksourceview2.LanguageManager()
30 buffer = gtksourceview2.Buffer()
31 buffer.set_data('languages-manager', lm)
32 view = gtksourceview2.View(buffer)
33 self.ventana=ventana
34 self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
35 self.window.set_border_width(0)
36 self.window.set_title('codigo fuente generado por el sistema')
37
38 self.window.set_default_size(500, 500)
39 self.window.show()
40
41 vbox = gtk.VBox(0, True)
42 self.window.add(vbox)
43 tool1=gtk.Toolbar()
44 tool1.show()
45
46 iconw = gtk.Image()
47 iconw.set_from_stock(gtk.STOCK_EXECUTE,15)
48 tool_button = tool1.append_item(
49 "re compilar",
50 "compila la version modificada en el editor.",
51 "Private",
52 iconw,
53 self.compilar)
54
55 iconw = gtk.Image()
56 iconw.set_from_stock(gtk.STOCK_NEW,15)
57 tool_button = tool1.append_item(
58 "Salir",
59 self.ventana.tooltip["salir"],
60 "Private",
61 iconw,
62 self.close)
63
64 vbox.pack_start(tool1, fill=False, expand=False)
65 sw = gtk.ScrolledWindow()
66 sw.set_shadow_type(gtk.SHADOW_IN)
67 sw.add(view)
68 vbox.pack_start(sw, fill=True, expand=True)
69
70
71
72
73
74
75
76
77 vbox.show_all()
78
79 self.buf=self.open_file(buffer,sys.path[0]+ "/source/user.c")
81
82 manager = buffer.get_data('languages-manager')
83
84 if os.path.isabs(filename):
85 path = filename
86 else:
87 path = os.path.abspath(filename)
88
89 language = manager.guess_language(filename)
90 if language:
91 buffer.set_highlight_syntax(True)
92 buffer.set_language(language)
93 else:
94 print 'No language found for file "%s"' % filename
95 buffer.set_highlight_syntax(False)
96
97
98 self.load_file(buffer, path)
99 return buffer
100
102 buffer.begin_not_undoable_action()
103 try:
104 txt = open(path).read()
105 except:
106 return False
107 buffer.set_text(txt)
108 buffer.set_data('filename', path)
109 buffer.end_not_undoable_action()
110 buffer.set_modified(False)
111 buffer.place_cursor(buffer.get_start_iter())
112
113 return True
115
116 self.window.hide()
117
119 print arg
120 cadena=sys.path[0]+ "/source/user.c"
121 cadena2=self.buf.props.text
122 a= self.ventana.mensajes(1,"Las modificaciones echas en el editor no se mantendran, y seran eliminadas cuando se compile de vuelta desde icaro-bloques. ¿Desea continuar?")
123 if a==True:
124 file=open(cadena,"w")
125 file.writelines(cadena2)
126 file.close()
127 i=carga.compilar_pic("/source/",self.ventana.config[0])
128 if i==0:
129 self.ventana.mensajes(3,"la compilacion fue exitosa")
130 else:
131 self.ventana.mensajes(0,"hubo un error de compilacion")
132