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