DependTree/Window.js
[app.Builder.js] / XObjectBase / GtkTreeViewColumn.js
1
2 //<Script type="Text/javascript">
3
4 XObject = imports.XObject.XObject
5  
6 GObject = imports.gi.GObject;
7
8 // tree view column.. should really have a better way to determin stuff..
9
10 GtkTreeViewColumn = XObject.define(
11     function(cfg) {
12         XObject.call(this, cfg);
13         // this is an example...
14         GtkTreeViewColumn.ids++;
15         this.col_id = GtkTreeViewColumn.ids;
16         
17     }, 
18     XObject,
19     {
20         list : false, // list goes here, 
21         pack : function(parent, item) {
22              
23             
24             parent.el.append_column(this.el);
25             var n = 0;
26             var _t = this;
27             var col = 0;
28             var found = false; 
29              
30             parent.items.forEach(function(e){
31                 if ([ 'Gtk.ListStore', 'Gtk.TreeStore', 'GtkTreeModelFilter' ].indexOf( XObject.type(e.xtype) ) > -1 ) {
32                     _t.list = e;
33                 }
34                 
35                 
36                 if (found) {
37                     return true;
38                 }
39                  
40                 if (e.col_id == _t.col_id) {
41                     col = n;
42                     found = true;
43                     return;
44                 }
45                 if (XObject.type(e.xtype) == 'GtkTreeViewColumn') {
46                     n++;
47                 }
48             });
49             
50             
51             if (this.items.length) {
52                 print("child : " + XObject.type(this.items[0].xtype));
53                 this.items[0].list = this.list;
54                 switch (XObject.type(this.items[0].xtype)) {
55                     case "GtkCellRendererText":
56                         this.el.add_attribute(this.items[0].el , 'markup', col );
57                         break;
58                     case "GtkCellRendererToggle":
59                         print("toggle col : " + col);
60                         this.el. (this.items[0].el , 'active', col ); // boolean???
61                         break;    
62                         
63                 }
64                 
65                 
66             }
67             
68             
69         }
70          
71     }
72 ); 
73 GtkTreeViewColumn.ids = 0;