fce0ffe98802fcfa1d2439c20719690f999c678d
[gitlive] / Clones.vala
1 static Clones  _Clones;
2
3 public class Clones : Object
4 {
5     public Gtk.Dialog el;
6     private Clones  _this;
7
8     public static Clones singleton()
9     {
10         if (_Clones == null) {
11             _Clones= new Clones();
12         }
13         return _Clones;
14     }
15     public Xcls_reposView reposView;
16     public Xcls_reposStore reposStore;
17     public Xcls_tv_autocommit tv_autocommit;
18     public Xcls_cr_autocommit cr_autocommit;
19     public Xcls_tv_autopush tv_autopush;
20     public Xcls_cr_autopush cr_autopush;
21     public Xcls_tv_autobranch tv_autobranch;
22     public Xcls_cr_autobranch cr_autobranch;
23     public Xcls_tv_repo tv_repo;
24     public Xcls_cr_repo cr_repo;
25     public Xcls_tv_active_ticket tv_active_ticket;
26     public Xcls_cr_active_ticket cr_active_ticket;
27     public Xcls_tv_current_branch tv_current_branch;
28     public Xcls_cr_current_branch cr_current_branch;
29     public Xcls_tv_last_updated tv_last_updated;
30     public Xcls_cr_last_updated cr_last_updated;
31     public Xcls_tv_all_branches tv_all_branches;
32     public Xcls_cr_all_branches cr_all_branches;
33
34         // my vars (def)
35
36     // ctor
37     public Clones()
38     {
39         _this = this;
40         this.el = new Gtk.Dialog();
41
42         // my vars (dec)
43
44         // set gobject values
45         this.el.title = "Manage Clones";
46         this.el.border_width = 3;
47         this.el.default_height = 500;
48         this.el.default_width = 1024;
49         this.el.deletable = true;
50         this.el.modal = true;
51         var child_0 = new Xcls_Box2( _this );
52         child_0.ref();
53         this.el.get_content_area().add (  child_0.el  );
54
55         //listeners
56         this.el.delete_event.connect( (self, event) => {
57             this.el.hide();
58             return true; 
59             //test  
60         });
61         this.el.response.connect( (self, response_id) =>  { 
62          
63                 this.el.hide();
64           
65         });
66     }
67
68     // user defined functions
69     public void loadAndShow () {
70         
71         GitRepo.updateAll("show_clones");
72     }
73     public void show ()    {
74     
75         GLib.debug("show clones?");
76         this.el.set_deletable(true);
77         this.el.set_gravity(Gdk.Gravity.NORTH);
78         this.el.move((Gdk.Screen.width() / 2 ) -400 ,0);
79         
80         this.el.set_default_size(
81                         int.min(1024,Gdk.Screen.width()),
82                         int.max(500,Gdk.Screen.height() - 300)
83         );
84          
85         this.el.show_all();
86         _this.reposStore.load();
87         this.el.set_keep_above(true);
88             GLib.debug("show clones = run?");
89         this.el.run();
90         // load clones..
91     //     this.get('/reposStore').load();
92         
93         //this.get('/ok_button').el.set_sensitive(false);
94         
95         // block until we return.
96     //    var run_ret = this.el.run();
97     //    if (run_ret < 1 ) {
98     //        return  "DONE";
99     //    }
100     //    print("RUN RETURN : " + run_ret);
101     //    return "DONE";
102         //print(JSON.stringify(this.get('bug').getValue()));
103        // return this.get('bug').getValue();
104         //this.success = c.success;
105     }
106     public class Xcls_Box2 : Object
107     {
108         public Gtk.Box el;
109         private Clones  _this;
110
111
112             // my vars (def)
113
114         // ctor
115         public Xcls_Box2(Clones _owner )
116         {
117             _this = _owner;
118             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
119
120             // my vars (dec)
121
122             // set gobject values
123             var child_0 = new Xcls_Box3( _this );
124             child_0.ref();
125             this.el.pack_start (  child_0.el , false,false,0 );
126             var child_1 = new Xcls_ScrolledWindow5( _this );
127             child_1.ref();
128             this.el.pack_end (  child_1.el , true,true,0 );
129         }
130
131         // user defined functions
132     }
133     public class Xcls_Box3 : Object
134     {
135         public Gtk.Box el;
136         private Clones  _this;
137
138
139             // my vars (def)
140
141         // ctor
142         public Xcls_Box3(Clones _owner )
143         {
144             _this = _owner;
145             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
146
147             // my vars (dec)
148
149             // set gobject values
150             this.el.homogeneous = true;
151             var child_0 = new Xcls_Button4( _this );
152             child_0.ref();
153             this.el.add (  child_0.el  );
154         }
155
156         // user defined functions
157     }
158     public class Xcls_Button4 : Object
159     {
160         public Gtk.Button el;
161         private Clones  _this;
162
163
164             // my vars (def)
165
166         // ctor
167         public Xcls_Button4(Clones _owner )
168         {
169             _this = _owner;
170             this.el = new Gtk.Button();
171
172             // my vars (dec)
173
174             // set gobject values
175             this.el.label = "Add Repository";
176
177             // init method
178
179             {
180                this.el.get_style_context().add_class("suggested-action");
181             }
182
183             //listeners
184             this.el.clicked.connect( () => {
185                         Clone.singleton().show(this.el);
186                 
187                 
188                 
189             });
190         }
191
192         // user defined functions
193     }
194
195
196     public class Xcls_ScrolledWindow5 : Object
197     {
198         public Gtk.ScrolledWindow el;
199         private Clones  _this;
200
201
202             // my vars (def)
203
204         // ctor
205         public Xcls_ScrolledWindow5(Clones _owner )
206         {
207             _this = _owner;
208             this.el = new Gtk.ScrolledWindow( null, null );
209
210             // my vars (dec)
211
212             // set gobject values
213             this.el.expand = true;
214             this.el.hexpand = true;
215             this.el.shadow_type = Gtk.ShadowType.IN;
216             var child_0 = new Xcls_reposView( _this );
217             child_0.ref();
218             this.el.add (  child_0.el  );
219
220             // init method
221
222             {
223               
224                this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
225             }
226         }
227
228         // user defined functions
229     }
230     public class Xcls_reposView : Object
231     {
232         public Gtk.TreeView el;
233         private Clones  _this;
234
235
236             // my vars (def)
237
238         // ctor
239         public Xcls_reposView(Clones _owner )
240         {
241             _this = _owner;
242             _this.reposView = this;
243             this.el = new Gtk.TreeView();
244
245             // my vars (dec)
246
247             // set gobject values
248             this.el.search_column = 0;
249             this.el.activate_on_single_click = true;
250             this.el.enable_grid_lines = Gtk.TreeViewGridLines.HORIZONTAL;
251             var child_0 = new Xcls_reposStore( _this );
252             child_0.ref();
253             this.el.set_model (  child_0.el  );
254             var child_1 = new Xcls_tv_autocommit( _this );
255             child_1.ref();
256             this.el.append_column (  child_1.el  );
257             var child_2 = new Xcls_tv_autopush( _this );
258             child_2.ref();
259             this.el.append_column (  child_2.el  );
260             var child_3 = new Xcls_tv_autobranch( _this );
261             child_3.ref();
262             this.el.append_column (  child_3.el  );
263             var child_4 = new Xcls_tv_repo( _this );
264             child_4.ref();
265             this.el.append_column (  child_4.el  );
266             var child_5 = new Xcls_tv_active_ticket( _this );
267             child_5.ref();
268             this.el.append_column (  child_5.el  );
269             var child_6 = new Xcls_tv_current_branch( _this );
270             child_6.ref();
271             this.el.append_column (  child_6.el  );
272             var child_7 = new Xcls_tv_last_updated( _this );
273             child_7.ref();
274             this.el.append_column (  child_7.el  );
275             var child_8 = new Xcls_tv_all_branches( _this );
276             child_8.ref();
277             this.el.append_column (  child_8.el  );
278
279             // init method
280
281             {
282                 var selection = this.el.get_selection();
283                 selection.set_mode( Gtk.SelectionMode.SINGLE);
284             
285             
286                 var description = new Pango.FontDescription();
287                 description.set_size(10000);
288                 this.el.override_font(description);
289              
290             }
291
292             //listeners
293             this.el.row_activated.connect( (path, col)  =>  {
294             
295                 if (col.title != "Current Branch") {
296                         return;
297                 }
298                 
299                 //
300                 
301                 Gtk.TreeIter iter;
302                 _this.reposStore.el.get_iter(out iter, path);
303                 GLib.Value val;
304                 _this.reposStore.el.get_value(iter, 6, out val);
305                 var git_working_dir = (string)val;
306                 
307                 var repo = GitRepo.singleton().get(git_working_dir);
308                 
309                 Gdk.Rectangle rect;
310                 _this.reposView.el.get_cell_area(path, col, out rect);
311                 RepoStatusPopover.singleton().show(this.el, rect, repo);
312                 
313                  
314                 
315             });
316             this.el.cursor_changed.connect( ()  => {
317               // SEE SELECTION.CHANGED
318               /*
319               
320               return;
321               
322                 if (this.el.get_selection().count_selected_rows() < 1) {
323                     //nothing? - clea it?
324                     return;
325                 }
326                     var ret = {};         
327                 var model = this.get('/changedFilesStore');
328             
329                  var s = this.el.get_selection();
330                  var files = [];
331                 s.selected_foreach(function(model,p,iter) {
332                 
333                    files.push( model.get_value(iter, 0).value.get_string());
334                  
335                 });
336                 this.get('/patchview').showDiff(files); 
337                 //var value = ''+ ret.model.get_value(ret.iter, 1).value.get_string();
338                  //print("OUT?" + value);// id..
339                 // load the list in the right grid..
340                  
341                 return true;
342             */
343             });
344         }
345
346         // user defined functions
347     }
348     public class Xcls_reposStore : Object
349     {
350         public Gtk.ListStore el;
351         private Clones  _this;
352
353
354             // my vars (def)
355
356         // ctor
357         public Xcls_reposStore(Clones _owner )
358         {
359             _this = _owner;
360             _this.reposStore = this;
361             this.el = new Gtk.ListStore( 10,      typeof(string),  // 0 repo
362      typeof(string),  // 1 current branch
363      typeof(string),  // 2 all branch
364      typeof(string),  // 3 updated
365      typeof(bool),   // 4 auto commit
366      typeof(bool),   // 5 auto push
367      typeof(string),   // 6 repopath
368       typeof(string),   // 7 color highlighting?
369        typeof(bool),   // 8 auto branch,
370       typeof(string)   // 9 active Ticket
371        );
372
373             // my vars (dec)
374
375             // set gobject values
376         }
377
378         // user defined functions
379         public void load ()
380         {
381             //this.insert(citer,iter,0);
382             print("getting list");
383             var tr = GitRepo.list();
384             
385             this.el.clear();
386             
387             // fixme .. sort by last updated ...
388             
389             
390             for(var i =0 ; i < tr.length; i++) {
391                     var repo = tr.index(i);
392                     // this is done before we display stuff...
393                     //repo.loadBranches();
394                     //repo.loadStatus();
395                     
396                     Gtk.TreeIter iter;
397                     this.el.append(out iter);
398              
399                 //print(JSON.stringify(ret,null,4));
400                  //tr[i].getBranches();
401                  //tr[i].getStatus();
402                  //var hi;
403                  //try {
404                      //tr[i].debug=1;
405                  //     hi = tr[i].history('/', 1, 'branch', tr[i].currentBranch.name );
406         //             print(JSON.stringify(hi,null,4));
407                 // } catch(e) { print(e);}
408                   
409                 this.el.set_value(iter, 0,   repo.name );
410                 this.el.set_value( iter, 1, repo.currentBranch.name   );
411                 this.el.set_value( iter, 2,  repo.branchesToString()   );
412         //        this.el.set_value(ret.iter, 2, '' + repo.branches.map(
413         //                        function(e) { return e.name; 
414         //                    }).join(', ') 
415          //        );
416         //        this.el.set_value(iter, 3, '' +  (!hi  ? '??' : hi[0].changed_raw));        
417                 this.el.set_value(iter, 4, repo.is_autocommit() );                
418                 this.el.set_value(iter, 5, repo.is_autopush() );                        
419                 this.el.set_value(iter, 6,  repo.git_working_dir );  
420                 // highlight color.
421                 var cb = repo.currentBranch;
422                 //print(JSON.stringify(cb,null,4));
423                 var col = "#ffffff";
424                 
425                 if (cb.lastrev != cb.remoterev) {
426                     col =  "#f2dede";
427                     this.el.set_value( iter, 1, repo.currentBranch.name +"\n" +
428                         (repo.ahead_or_behind == "B" ? "Local is BEHIND remote" : "Local is AHEAD of remote")
429                     
430                        );
431                 }
432                 if (repo.has_local_changes) {
433                     col =  "#d9edf7";
434                     this.el.set_value( iter, 1, repo.currentBranch.name +"\nHas uncommitted changes"   );
435                 }
436                 if  ((cb.lastrev != cb.remoterev) && (repo.has_local_changes)) {
437                     col =  "#fcf8e3";
438                     this.el.set_value( iter, 1, repo.currentBranch.name +"\n" + 
439                     (repo.ahead_or_behind == "B" ? "Local is BEHIND remote" : "Local is AHEAD of remote") +
440                     "\nHas uncommitted changes"   );            
441                 }
442                 
443                 this.el.set_value(iter, 7, col  );      
444                 var ticket = repo.activeTicket;
445                 
446                 this.el.set_value(iter, 8, repo.is_auto_branch()  );      
447                 this.el.set_value(iter, 9, ticket == null ? "" : ticket.id  );      
448                 
449                 
450             }     
451             this.el.set_sort_column_id (0, Gtk.SortType.ASCENDING);
452         }
453     }
454
455     public class Xcls_tv_autocommit : Object
456     {
457         public Gtk.TreeViewColumn el;
458         private Clones  _this;
459
460
461             // my vars (def)
462
463         // ctor
464         public Xcls_tv_autocommit(Clones _owner )
465         {
466             _this = _owner;
467             _this.tv_autocommit = this;
468             this.el = new Gtk.TreeViewColumn();
469
470             // my vars (dec)
471
472             // set gobject values
473             this.el.title = "Auto Commit";
474             this.el.min_width = 50;
475             var child_0 = new Xcls_cr_autocommit( _this );
476             child_0.ref();
477             this.el.pack_start (  child_0.el , false );
478
479             // init method
480
481             //    this.items[0].el.set_activatable(true);
482              this.el.add_attribute(_this.cr_autocommit.el , "active", 4 );
483         }
484
485         // user defined functions
486     }
487     public class Xcls_cr_autocommit : Object
488     {
489         public Gtk.CellRendererToggle el;
490         private Clones  _this;
491
492
493             // my vars (def)
494
495         // ctor
496         public Xcls_cr_autocommit(Clones _owner )
497         {
498             _this = _owner;
499             _this.cr_autocommit = this;
500             this.el = new Gtk.CellRendererToggle();
501
502             // my vars (dec)
503
504             // set gobject values
505             this.el.mode = Gtk.CellRendererMode.ACTIVATABLE;
506
507             //listeners
508             this.el.toggled.connect( (self, path)  => {
509               
510                 Gtk.TreeIter iter;
511                 _this.reposStore.el.get_iter_from_string(out iter, path);
512                 
513                 GLib.Value val;
514                 GLib.Value rval;
515                 _this.reposStore.el.get_value(iter, 4, out val);
516                 _this.reposStore.el.get_value(iter, 6, out rval);
517                 
518                 var repopath = (string)rval;
519                 var bval = (bool)val;
520                 _this.reposStore.el.set_value(iter, 4, !bval);
521                 GLib.debug("got repopath? %s", repopath);
522                 
523                 var repo = GitRepo.get(repopath);
524                 repo.set_autocommit(!bval);
525                 
526                 
527                 
528               
529             });
530         }
531
532         // user defined functions
533     }
534
535
536     public class Xcls_tv_autopush : Object
537     {
538         public Gtk.TreeViewColumn el;
539         private Clones  _this;
540
541
542             // my vars (def)
543
544         // ctor
545         public Xcls_tv_autopush(Clones _owner )
546         {
547             _this = _owner;
548             _this.tv_autopush = this;
549             this.el = new Gtk.TreeViewColumn();
550
551             // my vars (dec)
552
553             // set gobject values
554             this.el.title = "Auto Push";
555             this.el.min_width = 50;
556             var child_0 = new Xcls_cr_autopush( _this );
557             child_0.ref();
558             this.el.pack_start (  child_0.el , false );
559
560             // init method
561
562             this.el.add_attribute(_this.cr_autopush.el , "active", 5 );
563             //      this.items[0].el.set_activatable(true);
564         }
565
566         // user defined functions
567     }
568     public class Xcls_cr_autopush : Object
569     {
570         public Gtk.CellRendererToggle el;
571         private Clones  _this;
572
573
574             // my vars (def)
575
576         // ctor
577         public Xcls_cr_autopush(Clones _owner )
578         {
579             _this = _owner;
580             _this.cr_autopush = this;
581             this.el = new Gtk.CellRendererToggle();
582
583             // my vars (dec)
584
585             // set gobject values
586             this.el.mode = Gtk.CellRendererMode.ACTIVATABLE;
587
588             //listeners
589             this.el.toggled.connect( (self, path)  => {
590               
591                 Gtk.TreeIter iter;
592                 _this.reposStore.el.get_iter_from_string(out iter, path);
593                 
594                 GLib.Value val;
595                 GLib.Value rval;
596                 _this.reposStore.el.get_value(iter, 5, out val);
597                 _this.reposStore.el.get_value(iter, 6, out rval);
598                 
599                 var repopath = (string)rval;
600                 var bval = (bool)val;
601                 _this.reposStore.el.set_value(iter, 5, !bval);
602                 var repo = GitRepo.get(repopath);
603                 repo.set_autopush(!bval);
604                 
605                 
606                 
607               
608             });
609         }
610
611         // user defined functions
612     }
613
614
615     public class Xcls_tv_autobranch : Object
616     {
617         public Gtk.TreeViewColumn el;
618         private Clones  _this;
619
620
621             // my vars (def)
622
623         // ctor
624         public Xcls_tv_autobranch(Clones _owner )
625         {
626             _this = _owner;
627             _this.tv_autobranch = this;
628             this.el = new Gtk.TreeViewColumn();
629
630             // my vars (dec)
631
632             // set gobject values
633             this.el.title = "Auto Branch";
634             this.el.min_width = 50;
635             var child_0 = new Xcls_cr_autobranch( _this );
636             child_0.ref();
637             this.el.pack_start (  child_0.el , false );
638
639             // init method
640
641             this.el.add_attribute(_this.cr_autobranch.el , "active", 8 );
642             //      this.items[0].el.set_activatable(true);
643         }
644
645         // user defined functions
646     }
647     public class Xcls_cr_autobranch : Object
648     {
649         public Gtk.CellRendererToggle el;
650         private Clones  _this;
651
652
653             // my vars (def)
654
655         // ctor
656         public Xcls_cr_autobranch(Clones _owner )
657         {
658             _this = _owner;
659             _this.cr_autobranch = this;
660             this.el = new Gtk.CellRendererToggle();
661
662             // my vars (dec)
663
664             // set gobject values
665             this.el.mode = Gtk.CellRendererMode.ACTIVATABLE;
666
667             //listeners
668             this.el.toggled.connect( (self, path)  => {
669               
670                 Gtk.TreeIter iter;
671                 _this.reposStore.el.get_iter_from_string(out iter, path);
672                 
673                 GLib.Value val;
674                 GLib.Value rval;
675                 _this.reposStore.el.get_value(iter, 8, out val);
676                 _this.reposStore.el.get_value(iter, 6, out rval);
677                 
678                 var repopath = (string)rval;
679                 var bval = (bool)val;
680                 _this.reposStore.el.set_value(iter, 8, !bval);
681                 var repo = GitRepo.get(repopath);
682                 repo.set_auto_branch(!bval);
683                 
684                 
685                 
686               
687             });
688         }
689
690         // user defined functions
691     }
692
693
694     public class Xcls_tv_repo : Object
695     {
696         public Gtk.TreeViewColumn el;
697         private Clones  _this;
698
699
700             // my vars (def)
701
702         // ctor
703         public Xcls_tv_repo(Clones _owner )
704         {
705             _this = _owner;
706             _this.tv_repo = this;
707             this.el = new Gtk.TreeViewColumn();
708
709             // my vars (dec)
710
711             // set gobject values
712             this.el.sort_column_id = 0;
713             this.el.title = "Repo";
714             this.el.min_width = 200;
715             this.el.sort_order = Gtk.SortType.ASCENDING;
716             this.el.resizable = true;
717             var child_0 = new Xcls_cr_repo( _this );
718             child_0.ref();
719             this.el.pack_start (  child_0.el , false );
720
721             // init method
722
723             this.el.add_attribute(_this.cr_repo.el , "markup", 0 );
724         }
725
726         // user defined functions
727     }
728     public class Xcls_cr_repo : Object
729     {
730         public Gtk.CellRendererText el;
731         private Clones  _this;
732
733
734             // my vars (def)
735
736         // ctor
737         public Xcls_cr_repo(Clones _owner )
738         {
739             _this = _owner;
740             _this.cr_repo = this;
741             this.el = new Gtk.CellRendererText();
742
743             // my vars (dec)
744
745             // set gobject values
746         }
747
748         // user defined functions
749     }
750
751
752     public class Xcls_tv_active_ticket : Object
753     {
754         public Gtk.TreeViewColumn el;
755         private Clones  _this;
756
757
758             // my vars (def)
759
760         // ctor
761         public Xcls_tv_active_ticket(Clones _owner )
762         {
763             _this = _owner;
764             _this.tv_active_ticket = this;
765             this.el = new Gtk.TreeViewColumn();
766
767             // my vars (dec)
768
769             // set gobject values
770             this.el.title = "Active Ticket";
771             this.el.min_width = 50;
772             var child_0 = new Xcls_cr_active_ticket( _this );
773             child_0.ref();
774             this.el.pack_start (  child_0.el , false );
775
776             // init method
777
778             this.el.add_attribute(_this.cr_active_ticket.el , "markup", 9 );
779         }
780
781         // user defined functions
782     }
783     public class Xcls_cr_active_ticket : Object
784     {
785         public Gtk.CellRendererText el;
786         private Clones  _this;
787
788
789             // my vars (def)
790
791         // ctor
792         public Xcls_cr_active_ticket(Clones _owner )
793         {
794             _this = _owner;
795             _this.cr_active_ticket = this;
796             this.el = new Gtk.CellRendererText();
797
798             // my vars (dec)
799
800             // set gobject values
801         }
802
803         // user defined functions
804     }
805
806
807     public class Xcls_tv_current_branch : Object
808     {
809         public Gtk.TreeViewColumn el;
810         private Clones  _this;
811
812
813             // my vars (def)
814
815         // ctor
816         public Xcls_tv_current_branch(Clones _owner )
817         {
818             _this = _owner;
819             _this.tv_current_branch = this;
820             this.el = new Gtk.TreeViewColumn();
821
822             // my vars (dec)
823
824             // set gobject values
825             this.el.title = "Current Branch";
826             this.el.min_width = 50;
827             var child_0 = new Xcls_cr_current_branch( _this );
828             child_0.ref();
829             this.el.pack_start (  child_0.el , false );
830
831             // init method
832
833             this.el.add_attribute(_this.cr_current_branch.el , "markup", 1 );
834                  this.el.add_attribute(_this.cr_current_branch.el, "cell-background", 7 );
835         }
836
837         // user defined functions
838     }
839     public class Xcls_cr_current_branch : Object
840     {
841         public Gtk.CellRendererText el;
842         private Clones  _this;
843
844
845             // my vars (def)
846
847         // ctor
848         public Xcls_cr_current_branch(Clones _owner )
849         {
850             _this = _owner;
851             _this.cr_current_branch = this;
852             this.el = new Gtk.CellRendererText();
853
854             // my vars (dec)
855
856             // set gobject values
857         }
858
859         // user defined functions
860     }
861
862
863     public class Xcls_tv_last_updated : Object
864     {
865         public Gtk.TreeViewColumn el;
866         private Clones  _this;
867
868
869             // my vars (def)
870
871         // ctor
872         public Xcls_tv_last_updated(Clones _owner )
873         {
874             _this = _owner;
875             _this.tv_last_updated = this;
876             this.el = new Gtk.TreeViewColumn();
877
878             // my vars (dec)
879
880             // set gobject values
881             this.el.title = "Last updated";
882             this.el.min_width = 50;
883             var child_0 = new Xcls_cr_last_updated( _this );
884             child_0.ref();
885             this.el.pack_start (  child_0.el , false );
886
887             // init method
888
889             this.el.add_attribute(_this.cr_last_updated.el , "markup", 3 );
890         }
891
892         // user defined functions
893     }
894     public class Xcls_cr_last_updated : Object
895     {
896         public Gtk.CellRendererText el;
897         private Clones  _this;
898
899
900             // my vars (def)
901
902         // ctor
903         public Xcls_cr_last_updated(Clones _owner )
904         {
905             _this = _owner;
906             _this.cr_last_updated = this;
907             this.el = new Gtk.CellRendererText();
908
909             // my vars (dec)
910
911             // set gobject values
912         }
913
914         // user defined functions
915     }
916
917
918     public class Xcls_tv_all_branches : Object
919     {
920         public Gtk.TreeViewColumn el;
921         private Clones  _this;
922
923
924             // my vars (def)
925
926         // ctor
927         public Xcls_tv_all_branches(Clones _owner )
928         {
929             _this = _owner;
930             _this.tv_all_branches = this;
931             this.el = new Gtk.TreeViewColumn();
932
933             // my vars (dec)
934
935             // set gobject values
936             this.el.title = "All Branches";
937             this.el.min_width = 50;
938             this.el.resizable = false;
939             var child_0 = new Xcls_cr_all_branches( _this );
940             child_0.ref();
941             this.el.pack_start (  child_0.el , false );
942
943             // init method
944
945             this.el.add_attribute(_this.cr_all_branches.el , "markup", 2 );
946         }
947
948         // user defined functions
949     }
950     public class Xcls_cr_all_branches : Object
951     {
952         public Gtk.CellRendererText el;
953         private Clones  _this;
954
955
956             // my vars (def)
957
958         // ctor
959         public Xcls_cr_all_branches(Clones _owner )
960         {
961             _this = _owner;
962             _this.cr_all_branches = this;
963             this.el = new Gtk.CellRendererText();
964
965             // my vars (dec)
966
967             // set gobject values
968         }
969
970         // user defined functions
971     }
972
973
974
975
976
977 }