1 //<Script type="text/javascript">
4 GObject = imports.gi.GObject;
6 Pango = imports.gi.Pango ;
8 GtkSource = imports.gi.GtkSource;
11 Seed.die("Failed to load SourceView");
14 XObject = imports.XObject.XObject;
15 console = imports.console;
19 RightEditor = new XObject({
21 xtype: Gtk.ScrolledWindow,
23 shadow_type : Gtk.ShadowType.IN ,
28 xtype : GtkSource.View,
31 XObject.prototype.init.call(this);
33 this.el.set_buffer (new GtkSource.Buffer());
34 this.el.get_buffer().signal.changed.connect(function() {
35 var s = new Gtk.TextIter();
36 var e = new Gtk.TextIter();
37 _this.el.get_buffer().get_start_iter(s);
38 _this.el.get_buffer().get_end_iter(e);
39 var str = _this.el.get_buffer().get_text(s,e,true);
40 imports.Builder.LeftPanel.LeftPanel.get('model').changed( str , false);
43 var description = Pango.Font.description_from_string("monospace")
44 description.set_size(8000);
45 this.el.modify_font(description);
52 load : function(str) {
53 this.el.get_buffer().set_text(str, str.length);
54 var lm = GtkSource.LanguageManager.get_default();
56 this.el.get_buffer().set_language(lm.get_language('js'));
57 var buf = this.el.get_buffer();
58 var cursor = buf.get_mark("insert");
59 var iter= new Gtk.TextIter;
60 buf.get_iter_at_mark(iter, cursor);
62 iter.set_line_offset(4);
63 buf.move_mark(cursor, iter);
66 cursor = buf.get_mark("selection_bound");
67 iter= new Gtk.TextIter;
68 buf.get_iter_at_mark(iter, cursor);
70 iter.set_line_offset(4);
71 buf.move_mark(cursor, iter);