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