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