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