XObjectBase/GtkTreeViewColumn.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             this.list = parent;
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                  
32                 if (found) {
33                     return true;
34                 }
35                  
36                 if (e.col_id == _t.col_id) {
37                     col = n;
38                     found = true;
39                     return;
40                 }
41                 if (XObject.type(e.xtype) == 'GtkTreeViewColumn') {
42                     n++;
43                 }
44             });
45             
46             
47             if (this.items.length) {
48                 print("child : " + XObject.type(this.items[0].xtype));
49                 this.items[0].list = this.list;
50                 switch (XObject.type(this.items[0].xtype)) {
51                     case "GtkCellRendererText":
52                         this.el.add_attribute(this.items[0].el , 'markup', col );
53                         break;
54                     case "GtkCellRendererToggle":
55                         print("toggle col : " + col);
56                         this.el.add_attribute(this.items[0].el , 'active', col ); // boolean???
57                         break;    
58                         
59                 }
60                 
61                 
62             }
63             
64             
65         }
66          
67     }
68 ); 
69 GtkTreeViewColumn.ids = 0;