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