Clones.bjs
[gitlive] / Clones.vala
1 static Clones  _Clones;
2
3 public class Clones : Object
4 {
5     public Gtk.Dialog el;
6     private Clones  _this;
7
8     public static Clones singleton()
9     {
10         if (_Clones == null) {
11             _Clones= new Clones();
12         }
13         return _Clones;
14     }
15     public Xcls_reposView reposView;
16     public Xcls_reposStore reposStore;
17     public Xcls_tv_autocommit tv_autocommit;
18     public Xcls_cr_autocommit cr_autocommit;
19     public Xcls_tv_autopush tv_autopush;
20     public Xcls_cr_autopush cr_autopush;
21     public Xcls_tv_repo tv_repo;
22     public Xcls_cr_repo cr_repo;
23     public Xcls_tv_current_branch tv_current_branch;
24     public Xcls_cr_current_branch cr_current_branch;
25     public Xcls_tv_last_updated tv_last_updated;
26     public Xcls_cr_last_updated cr_last_updated;
27     public Xcls_tv_all_branches tv_all_branches;
28     public Xcls_cr_all_branches cr_all_branches;
29     public Xcls_ok_button ok_button;
30
31         // my vars (def)
32
33     // ctor
34     public Clones()
35     {
36         _this = this;
37         this.el = new Gtk.Dialog();
38
39         // my vars (dec)
40
41         // set gobject values
42         this.el.title = "Manage Clones";
43         this.el.border_width = 3;
44         this.el.default_height = 500;
45         this.el.default_width = 800;
46         this.el.deletable = true;
47         this.el.modal = true;
48         var child_0 = new Xcls_Box2( _this );
49         child_0.ref();
50         this.el.get_content_area().add (  child_0.el  );
51         var child_1 = new Xcls_ok_button( _this );
52         child_1.ref();
53         this.el.add_action_widget (  child_1.el , 1  );
54
55         //listeners
56         this.el.delete_event.connect( (self, event) => {
57             this.el.hide();
58             return true; 
59             //test  
60         });
61         this.el.response.connect( (self, response_id) =>  { 
62          
63                 this.el.hide();
64           
65         });
66     }
67
68     // user defined functions
69     public void show ()    {
70     
71         
72         this.el.set_deletable(false);
73         this.el.set_gravity(Gdk.Gravity.NORTH);
74         this.el.move(Gdk.Screen.width() / 2 ,0);
75         this.el.show_all();
76         // load clones..
77     //     this.get('/reposStore').load();
78         
79         //this.get('/ok_button').el.set_sensitive(false);
80         
81         // block until we return.
82     //    var run_ret = this.el.run();
83     //    if (run_ret < 1 ) {
84     //        return  "DONE";
85     //    }
86     //    print("RUN RETURN : " + run_ret);
87     //    return "DONE";
88         //print(JSON.stringify(this.get('bug').getValue()));
89        // return this.get('bug').getValue();
90         //this.success = c.success;
91     }
92     public class Xcls_Box2 : Object
93     {
94         public Gtk.Box el;
95         private Clones  _this;
96
97
98             // my vars (def)
99
100         // ctor
101         public Xcls_Box2(Clones _owner )
102         {
103             _this = _owner;
104             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 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.expand = true;
447             this.el.hexpand = true;
448             this.el.shadow_type = Gtk.ShadowType.IN;
449             var child_0 = new Xcls_reposView( _this );
450             child_0.ref();
451             this.el.add (  child_0.el  );
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
571             // my vars (dec)
572
573             // set gobject values
574         }
575
576         // user defined functions
577     }
578
579     public class Xcls_tv_autocommit : Object
580     {
581         public Gtk.TreeViewColumn el;
582         private Clones  _this;
583
584
585             // my vars (def)
586
587         // ctor
588         public Xcls_tv_autocommit(Clones _owner )
589         {
590             _this = _owner;
591             _this.tv_autocommit = this;
592             this.el = new Gtk.TreeViewColumn();
593
594             // my vars (dec)
595
596             // set gobject values
597             this.el.title = "Auto Commit";
598             this.el.min_width = 50;
599             var child_0 = new Xcls_cr_autocommit( _this );
600             child_0.ref();
601             this.el.pack_start (  child_0.el , false );
602
603             // init method
604
605             //    this.items[0].el.set_activatable(true);
606              this.el.add_attribute(_this.cr_autocommit.el , "active", 4 );
607         }
608
609         // user defined functions
610     }
611     public class Xcls_cr_autocommit : Object
612     {
613         public Gtk.CellRendererToggle el;
614         private Clones  _this;
615
616
617             // my vars (def)
618
619         // ctor
620         public Xcls_cr_autocommit(Clones _owner )
621         {
622             _this = _owner;
623             _this.cr_autocommit = this;
624             this.el = new Gtk.CellRendererToggle();
625
626             // my vars (dec)
627
628             // set gobject values
629             this.el.mode = Gtk.CellRendererMode.ACTIVATABLE;
630
631             //listeners
632             this.el.toggled.connect( (self, path)  => {
633             /*    var ret ={} ;
634                 var store = this.get('/reposStore');
635                 store.el.get_iter_from_string(ret, path);
636                                                                              
637                 var value =   store.el.get_value(ret.iter,4).value.get_boolean();
638                                                                              
639                 //print(JSON.stringify(value));
640                 store.el.set_value(ret.iter,4, !value);
641                 
642                  var path =  store.el.get_value(ret.iter, 6).value.get_string();
643                  var repo = imports.Scm.Repo.Repo.get(path);
644                  repo.autocommit(!value);
645               */   
646                 
647                 
648             });
649         }
650
651         // user defined functions
652     }
653
654
655     public class Xcls_tv_autopush : Object
656     {
657         public Gtk.TreeViewColumn el;
658         private Clones  _this;
659
660
661             // my vars (def)
662
663         // ctor
664         public Xcls_tv_autopush(Clones _owner )
665         {
666             _this = _owner;
667             _this.tv_autopush = this;
668             this.el = new Gtk.TreeViewColumn();
669
670             // my vars (dec)
671
672             // set gobject values
673             this.el.title = "Auto Push";
674             this.el.min_width = 50;
675             var child_0 = new Xcls_cr_autopush( _this );
676             child_0.ref();
677             this.el.pack_start (  child_0.el , false );
678
679             // init method
680
681             this.el.add_attribute(_this.cr_autopush.el , "active", 5 );
682             //      this.items[0].el.set_activatable(true);
683         }
684
685         // user defined functions
686     }
687     public class Xcls_cr_autopush : Object
688     {
689         public Gtk.CellRendererToggle el;
690         private Clones  _this;
691
692
693             // my vars (def)
694
695         // ctor
696         public Xcls_cr_autopush(Clones _owner )
697         {
698             _this = _owner;
699             _this.cr_autopush = this;
700             this.el = new Gtk.CellRendererToggle();
701
702             // my vars (dec)
703
704             // set gobject values
705             this.el.mode = Gtk.CellRendererMode.ACTIVATABLE;
706
707             //listeners
708             this.el.toggled.connect( (self, path)  => {
709             /*    var ret ={} ;
710                 var store = this.get('/reposStore');
711                 store.el.get_iter_from_string(ret, path);
712                                                                              
713                 var value =   store.el.get_value(ret.iter,5).value.get_boolean();
714                                                                              
715                 //print(JSON.stringify(value));
716                 store.el.set_value(ret.iter,5, !value);
717                   var path =  store.el.get_value(ret.iter, 6).value.get_string();
718                  var repo = imports.Scm.Repo.Repo.get(path);
719                  repo.autopush(!value);
720                 */
721             });
722         }
723
724         // user defined functions
725     }
726
727
728     public class Xcls_tv_repo : Object
729     {
730         public Gtk.TreeViewColumn el;
731         private Clones  _this;
732
733
734             // my vars (def)
735
736         // ctor
737         public Xcls_tv_repo(Clones _owner )
738         {
739             _this = _owner;
740             _this.tv_repo = this;
741             this.el = new Gtk.TreeViewColumn();
742
743             // my vars (dec)
744
745             // set gobject values
746             this.el.title = "Repo";
747             this.el.min_width = 200;
748             this.el.resizable = true;
749             var child_0 = new Xcls_cr_repo( _this );
750             child_0.ref();
751             this.el.pack_start (  child_0.el , false );
752
753             // init method
754
755             this.el.add_attribute(_this.cr_repo.el , "markup", 0 );
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_cr_current_branch( _this );
805             child_0.ref();
806             this.el.pack_start (  child_0.el , false );
807
808             // init method
809
810             this.el.add_attribute(_this.cr_current_branch.el , "markup", 1 );
811                  this.el.add_attribute(_this.cr_current_branch.el, "cell-background", 7 );
812         }
813
814         // user defined functions
815     }
816     public class Xcls_cr_current_branch : Object
817     {
818         public Gtk.CellRendererText el;
819         private Clones  _this;
820
821
822             // my vars (def)
823
824         // ctor
825         public Xcls_cr_current_branch(Clones _owner )
826         {
827             _this = _owner;
828             _this.cr_current_branch = this;
829             this.el = new Gtk.CellRendererText();
830
831             // my vars (dec)
832
833             // set gobject values
834         }
835
836         // user defined functions
837     }
838
839
840     public class Xcls_tv_last_updated : Object
841     {
842         public Gtk.TreeViewColumn el;
843         private Clones  _this;
844
845
846             // my vars (def)
847
848         // ctor
849         public Xcls_tv_last_updated(Clones _owner )
850         {
851             _this = _owner;
852             _this.tv_last_updated = this;
853             this.el = new Gtk.TreeViewColumn();
854
855             // my vars (dec)
856
857             // set gobject values
858             this.el.title = "Last updated";
859             this.el.min_width = 50;
860             var child_0 = new Xcls_cr_last_updated( _this );
861             child_0.ref();
862             this.el.pack_start (  child_0.el , false );
863
864             // init method
865
866             this.el.add_attribute(_this.cr_last_updated.el , "markup", 3 );
867         }
868
869         // user defined functions
870     }
871     public class Xcls_cr_last_updated : Object
872     {
873         public Gtk.CellRendererText el;
874         private Clones  _this;
875
876
877             // my vars (def)
878
879         // ctor
880         public Xcls_cr_last_updated(Clones _owner )
881         {
882             _this = _owner;
883             _this.cr_last_updated = this;
884             this.el = new Gtk.CellRendererText();
885
886             // my vars (dec)
887
888             // set gobject values
889         }
890
891         // user defined functions
892     }
893
894
895     public class Xcls_tv_all_branches : Object
896     {
897         public Gtk.TreeViewColumn el;
898         private Clones  _this;
899
900
901             // my vars (def)
902
903         // ctor
904         public Xcls_tv_all_branches(Clones _owner )
905         {
906             _this = _owner;
907             _this.tv_all_branches = this;
908             this.el = new Gtk.TreeViewColumn();
909
910             // my vars (dec)
911
912             // set gobject values
913             this.el.title = "All Branches";
914             this.el.min_width = 50;
915             this.el.resizable = false;
916             var child_0 = new Xcls_cr_all_branches( _this );
917             child_0.ref();
918             this.el.pack_start (  child_0.el , false );
919
920             // init method
921
922             this.el.add_attribute(_this.cr_all_branches.el , "markup", 2 );
923         }
924
925         // user defined functions
926     }
927     public class Xcls_cr_all_branches : Object
928     {
929         public Gtk.CellRendererText el;
930         private Clones  _this;
931
932
933             // my vars (def)
934
935         // ctor
936         public Xcls_cr_all_branches(Clones _owner )
937         {
938             _this = _owner;
939             _this.cr_all_branches = this;
940             this.el = new Gtk.CellRendererText();
941
942             // my vars (dec)
943
944             // set gobject values
945         }
946
947         // user defined functions
948     }
949
950
951
952
953
954     public class Xcls_ok_button : Object
955     {
956         public Gtk.Button el;
957         private Clones  _this;
958
959
960             // my vars (def)
961
962         // ctor
963         public Xcls_ok_button(Clones _owner )
964         {
965             _this = _owner;
966             _this.ok_button = this;
967             this.el = new Gtk.Button();
968
969             // my vars (dec)
970
971             // set gobject values
972             this.el.expand = false;
973             this.el.label = "Close";
974         }
975
976         // user defined functions
977     }
978
979 }