README.txt
[app.Builder.js] / Builder / RightEditor.js
1 //<Script type="text/javascript">
2 Gio = imports.gi.Gio;
3 Gtk = imports.gi.Gtk;
4 GObject = imports.gi.GObject;
5
6 Pango = imports.gi.Pango ;
7
8 GtkSource = imports.gi.GtkSource;
9
10 if (!GtkSource) {
11     Seed.die("Failed to load SourceView");
12 }
13
14 XObject = imports.XObject.XObject;
15 console = imports.console;
16
17
18
19 RightEditor = new XObject({
20          
21         xtype: Gtk.ScrolledWindow,
22         
23         shadow_type :  Gtk.ShadowType.IN  ,
24         
25         items : [
26             { 
27                 id : 'view',
28                 xtype : GtkSource.View,
29                 
30                 init : function() {
31                     XObject.prototype.init.call(this); 
32                     var _this = 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);
41                     });
42                    
43                     var description = Pango.Font.description_from_string("monospace")
44                     description.set_size(8000);
45                     this.el.modify_font(description);
46             
47                     
48                       
49                    
50                 },
51                 
52                 load : function(str) {
53                     this.el.get_buffer().set_text(str, str.length);
54                     var lm = GtkSource.LanguageManager.get_default();
55                     
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);
61                     iter.set_line(1);
62                     iter.set_line_offset(4);
63                     buf.move_mark(cursor, iter);
64                     
65                     
66                     cursor = buf.get_mark("selection_bound");
67                     iter= new Gtk.TextIter;
68                     buf.get_iter_at_mark(iter, cursor);
69                     iter.set_line(1);
70                     iter.set_line_offset(4);
71                     buf.move_mark(cursor, iter);
72                     
73                     
74                     
75                     this.el.grab_focus();
76                 },
77                 // neeed???
78                 
79                 
80                 
81             }
82         ]
83     }
84         
85         
86     
87     
88     
89 );
90