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 = 600;
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.show_all();
74         // load clones..
75     //     this.get('/reposStore').load();
76         
77         //this.get('/ok_button').el.set_sensitive(false);
78         
79         // block until we return.
80     //    var run_ret = this.el.run();
81     //    if (run_ret < 1 ) {
82     //        return  "DONE";
83     //    }
84     //    print("RUN RETURN : " + run_ret);
85     //    return "DONE";
86         //print(JSON.stringify(this.get('bug').getValue()));
87        // return this.get('bug').getValue();
88         //this.success = c.success;
89     }
90     public class Xcls_Box2 : Object
91     {
92         public Gtk.Box el;
93         private Clones  _this;
94
95
96             // my vars (def)
97
98         // ctor
99         public Xcls_Box2(Clones _owner )
100         {
101             _this = _owner;
102             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 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 , false,false,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.expand = true;
445             this.el.shadow_type = Gtk.ShadowType.IN;
446             var child_0 = new Xcls_reposView( _this );
447             child_0.ref();
448             this.el.add (  child_0.el  );
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
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.cr_autocommit.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 , false );
675
676             // init method
677
678             this.el.add_attribute(_this.cr_autopush.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( (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 , false );
749
750             // init method
751
752             this.el.add_attribute(_this.cr_repo.el , "markup", 0 );
753         }
754
755         // user defined functions
756     }
757     public class Xcls_cr_repo : Object
758     {
759         public Gtk.CellRendererText el;
760         private Clones  _this;
761
762
763             // my vars (def)
764
765         // ctor
766         public Xcls_cr_repo(Clones _owner )
767         {
768             _this = _owner;
769             _this.cr_repo = this;
770             this.el = new Gtk.CellRendererText();
771
772             // my vars (dec)
773
774             // set gobject values
775         }
776
777         // user defined functions
778     }
779
780
781     public class Xcls_tv_current_branch : Object
782     {
783         public Gtk.TreeViewColumn el;
784         private Clones  _this;
785
786
787             // my vars (def)
788
789         // ctor
790         public Xcls_tv_current_branch(Clones _owner )
791         {
792             _this = _owner;
793             _this.tv_current_branch = this;
794             this.el = new Gtk.TreeViewColumn();
795
796             // my vars (dec)
797
798             // set gobject values
799             this.el.title = "Current Branch";
800             this.el.min_width = 50;
801             var child_0 = new Xcls_cr_current_branch( _this );
802             child_0.ref();
803             this.el.pack_start (  child_0.el , false );
804
805             // init method
806
807             this.el.add_attribute(_this.cr_current_branch.el , "markup", 1 );
808                  this.el.add_attribute(_this.cr_current_branch.el, "cell-background", 7 );
809         }
810
811         // user defined functions
812     }
813     public class Xcls_cr_current_branch : Object
814     {
815         public Gtk.CellRendererText el;
816         private Clones  _this;
817
818
819             // my vars (def)
820
821         // ctor
822         public Xcls_cr_current_branch(Clones _owner )
823         {
824             _this = _owner;
825             _this.cr_current_branch = this;
826             this.el = new Gtk.CellRendererText();
827
828             // my vars (dec)
829
830             // set gobject values
831         }
832
833         // user defined functions
834     }
835
836
837     public class Xcls_tv_last_updated : Object
838     {
839         public Gtk.TreeViewColumn el;
840         private Clones  _this;
841
842
843             // my vars (def)
844
845         // ctor
846         public Xcls_tv_last_updated(Clones _owner )
847         {
848             _this = _owner;
849             _this.tv_last_updated = this;
850             this.el = new Gtk.TreeViewColumn();
851
852             // my vars (dec)
853
854             // set gobject values
855             this.el.title = "Last updated";
856             this.el.min_width = 50;
857             var child_0 = new Xcls_cr_last_updated( _this );
858             child_0.ref();
859             this.el.pack_start (  child_0.el , false );
860
861             // init method
862
863             this.el.add_attribute(_this.cr_last_updated.el , "markup", 3 );
864         }
865
866         // user defined functions
867     }
868     public class Xcls_cr_last_updated : Object
869     {
870         public Gtk.CellRendererText el;
871         private Clones  _this;
872
873
874             // my vars (def)
875
876         // ctor
877         public Xcls_cr_last_updated(Clones _owner )
878         {
879             _this = _owner;
880             _this.cr_last_updated = this;
881             this.el = new Gtk.CellRendererText();
882
883             // my vars (dec)
884
885             // set gobject values
886         }
887
888         // user defined functions
889     }
890
891
892     public class Xcls_tv_all_branches : Object
893     {
894         public Gtk.TreeViewColumn el;
895         private Clones  _this;
896
897
898             // my vars (def)
899
900         // ctor
901         public Xcls_tv_all_branches(Clones _owner )
902         {
903             _this = _owner;
904             _this.tv_all_branches = this;
905             this.el = new Gtk.TreeViewColumn();
906
907             // my vars (dec)
908
909             // set gobject values
910             this.el.title = "All Branches";
911             this.el.min_width = 50;
912             this.el.resizable = false;
913             var child_0 = new Xcls_cr_all_branches( _this );
914             child_0.ref();
915             this.el.pack_start (  child_0.el , false );
916
917             // init method
918
919             this.el.add_attribute(_this.cr_all_branches.el , "markup", 2 );
920         }
921
922         // user defined functions
923     }
924     public class Xcls_cr_all_branches : Object
925     {
926         public Gtk.CellRendererText el;
927         private Clones  _this;
928
929
930             // my vars (def)
931
932         // ctor
933         public Xcls_cr_all_branches(Clones _owner )
934         {
935             _this = _owner;
936             _this.cr_all_branches = this;
937             this.el = new Gtk.CellRendererText();
938
939             // my vars (dec)
940
941             // set gobject values
942         }
943
944         // user defined functions
945     }
946
947
948
949
950
951     public class Xcls_ok_button : Object
952     {
953         public Gtk.Button el;
954         private Clones  _this;
955
956
957             // my vars (def)
958
959         // ctor
960         public Xcls_ok_button(Clones _owner )
961         {
962             _this = _owner;
963             _this.ok_button = this;
964             this.el = new Gtk.Button();
965
966             // my vars (dec)
967
968             // set gobject values
969             this.el.label = "Close";
970         }
971
972         // user defined functions
973     }
974
975 }