1 //<Script type="text/javascript">
5 GObject = imports.gi.GObject;
7 Pango = imports.gi.Pango ;
9 GtkSource = imports.gi.GtkSource;
12 Seed.die("Failed to load SourceView");
15 XObject = imports.XObject.XObject;
16 console = imports.console;
20 RightEditor = new XObject({
22 xtype: Gtk.ScrolledWindow,
24 shadow_type : Gtk.ShadowType.IN ,
29 xtype : GtkSource.View,
32 XObject.prototype.init.call(this);
34 this.el.set_buffer (new GtkSource.Buffer());
35 this.el.get_buffer().signal.changed.connect(function() {
36 var s = new Gtk.TextIter();
37 var e = new Gtk.TextIter();
38 _this.el.get_buffer().get_start_iter(s);
39 _this.el.get_buffer().get_end_iter(e);
40 var str = _this.el.get_buffer().get_text(s,e,true);
42 Seed.check_syntax('var e = ' + str);
44 _this.el.modify_base(Gtk.StateType.NORMAL, new Gdk.Color({
45 red: 0xFFFF, green: 0xCCCC , blue : 0xCCCC
47 print("SYNTAX ERROR IN EDITOR");
52 _this.el.modify_base(Gtk.StateType.NORMAL, new Gdk.Color({
53 red: 0xFFFF, green: 0xFFFF , blue : 0xFFFF
56 imports.Builder.LeftPanel.LeftPanel.get('model').changed( str , false);
59 var description = Pango.Font.description_from_string("monospace")
60 description.set_size(8000);
61 this.el.modify_font(description);
68 load : function(str) {
69 this.get('/BottomPane').el.set_current_page(0);
70 this.el.get_buffer().set_text(str, str.length);
71 var lm = GtkSource.LanguageManager.get_default();
73 this.el.get_buffer().set_language(lm.get_language('js'));
74 var buf = this.el.get_buffer();
75 var cursor = buf.get_mark("insert");
76 var iter= new Gtk.TextIter;
77 buf.get_iter_at_mark(iter, cursor);
79 iter.set_line_offset(4);
80 buf.move_mark(cursor, iter);
83 cursor = buf.get_mark("selection_bound");
84 iter= new Gtk.TextIter;
85 buf.get_iter_at_mark(iter, cursor);
87 iter.set_line_offset(4);
88 buf.move_mark(cursor, iter);