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