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