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