1 //<Script type="text/javascript">
4 GLib = imports.gi.GLib;
5 GObject = imports.gi.GObject;
6 Pango = imports.gi.Pango ;
10 XObject = imports.XObject.XObject;
11 console = imports.console;
14 Roo = imports.Builder.Provider.Palete.Roo.Roo;
20 * Properties and events tree - that hides and shows when you press buttons on the left....
24 MidPropTree = new XObject({
27 xtype: Gtk.ScrolledWindow,
29 pack : [ 'pack_end', false, true, 0 ],
31 activeElement : false, // used by left tree to set what list to show.
32 shadow_type : Gtk.ShadowType.IN,
34 XObject.prototype.init.call(this);
35 this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
36 this.el.set_size_request ( 150, -1 );
40 hideWin : function() {
46 var Window = imports.Builder.Window.Window;
47 if (Window.get('left').el.position < 160) {
50 Window.get('left').el.position = Window.get('left').el.position - 150;
61 enable_tree_lines : true,
63 headers_visible : false,
64 // selection -- set by init..
66 XObject.prototype.init.call(this);
70 this.selection = this.el.get_selection();
71 this.selection.set_mode( Gtk.SelectionMode.SINGLE);
75 var description = new Pango.FontDescription.c_new();
76 description.set_size(8000);
77 this.el.modify_font(description);
79 // this.column.add_attribute(this.column.items[1], "text", 1);
87 'cursor-changed' : function () {
88 var iter = new Gtk.TreeIter();
90 //console.log('changed');
91 var s = this.selection;
92 s.get_selected(MidPropTree.get('model').el, iter);
96 value = new GObject.Value('');
97 MidPropTree.get('model').el.get_value(iter, 0, value);
98 var key = value.value;
99 value = new GObject.Value('');
100 MidPropTree.get('model').el.get_value(iter, 1, value);
101 var type = value.value;
104 value = new GObject.Value('');
105 MidPropTree.get('model').el.get_value(iter, 3, value);
106 var skel = value.value;
109 MidPropTree.hideWin();
110 var LeftPanel = imports.Builder.LeftPanel.LeftPanel;
111 if (type == 'function') {
113 LeftPanel.get('model').add('|' +key, type, skel) //, skel);
117 LeftPanel.get('model').add(key, type) //, skel);
126 pack : [ 'set_model' ],
127 xtype : Gtk.ListStore,
130 XObject.prototype.init.call(this);
131 this.el.set_column_types ( 5, [
132 GObject.TYPE_STRING, // real key
133 GObject.TYPE_STRING, // real type
134 GObject.TYPE_STRING, // docs ?
135 GObject.TYPE_STRING, // visable desc
136 GObject.TYPE_STRING // function desc
146 var LeftTree = imports.Builder.LeftTree.LeftTree;
147 var fullpath = LeftTree.get('model').file.guessName(ar);
148 var palete = LeftTree.getPaleteProvider();
151 this.currentData = false;
152 if (!fullpath.length) {
155 palete.getProperties()
157 this.currentData = Roo.proplist[fullpath];
167 showData : function (type)
170 if (!MidPropTree.activeElement || !type) {
171 return; // no active element
173 var LeftTree = imports.Builder.LeftTree.LeftTree;
174 var fullpath = LeftTree.get('model').file.guessName(MidPropTree.activeElement);
175 var palete = LeftTree.getPaleteProvider();
179 Seed.print('Showing right?');
180 if (!MidPropTree.shown) {
181 var Window = imports.Builder.Window.Window;
182 Window.get('left').el.position = Window.get('left').el.position + 150;
183 MidPropTree.el.show();
184 MidPropTree.shown = true;
187 var elementList = palete.getPropertiesFor(fullpath, type);
188 print ("GOT " + elementList.length + " items for " + fullpath + "|" + type);
192 var iter = new Gtk.TreeIter();
193 for(var i =0 ; i < elementList.length; i++) {
194 var p=elementList[i];
195 this.el.append(iter);
196 // console.log( '<b>' + p.name +'</b> ['+p.type+']');
197 //GObject.TYPE_STRING, // real key
198 // GObject.TYPE_STRING, // real type
199 // GObject.TYPE_STRING, // docs ?
200 // GObject.TYPE_STRING // func def?
203 this.el.set_value(iter, 0, p.name);
204 this.el.set_value(iter, 1, p.type);
205 this.el.set_value(iter, 2, '<span size="small"><b>' + p.name +'</b> ['+p.type+']</span>' + "\n" + p.desc);
206 this.el.set_value(iter, 3, p.sig ? p.sig : '');
207 this.el.set_value(iter, 4, '<span size="small"><b>' + p.name +'</b> ['+p.type+']</span>');
222 xtype: Gtk.TreeViewColumn,
223 pack : ['append_column'],
225 XObject.prototype.init.call(this);
228 this.el.add_attribute(this.items[0].el , 'markup', 4 );
232 xtype : Gtk.CellRendererText,
233 pack : ['pack_start']