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     XObject,
18     {
19         pack : function(parent, item) {
20             parent.el.append_column(this.el);
21             var n = 0;
22             var _t = this;
23             var col = 0;
24             var found = true; 
25             this.
26             parent.items.forEach(function(e){
27                 if (found) {
28                     return true;
29                 }
30                 if (e.col_id == _t.col_id) {
31                     col = n;
32                     found = true;
33                     return;
34                 }
35                 if (XObject.type(e.xtype) == 'GtkTreeViewColumn') {
36                     n++;
37                 }
38             });
39             
40             
41             if (this.items.length) {
42                 print("child : " + XObject.type(this.items[0].xtype));
43                 switch (XObject.type(this.items[0].xtype)) {
44                     case "GtkCellRendererText":
45                         this.el.add_attribute(this.items[0].el , 'markup', col );
46                         break;
47                     case "GtkCellRendererToggle":
48                         print("toggle col : " + col);
49                         this.el.add_attribute(this.items[0].el , 'active', col ); // boolean???
50                         break;    
51                         
52                 }
53                 
54                 
55             }
56             
57             
58         }
59          
60     }
61 );