static Clones _Clones; public class Clones : Object { public Gtk.Popover el; private Clones _this; public static Clones singleton() { if (_Clones == null) { _Clones= new Clones(); } return _Clones; } public Xcls_reposView reposView; public Xcls_reposStore reposStore; public Xcls_tv_autocommit tv_autocommit; public Xcls_cr_autocommit cr_autocommit; public Xcls_tv_autopush tv_autopush; public Xcls_cr_autopush cr_autopush; public Xcls_tv_repo tv_repo; public Xcls_cr_repo cr_repo; public Xcls_tv_current_branch tv_current_branch; public Xcls_cr_current_branch cr_current_branch; public Xcls_tv_last_updated tv_last_updated; public Xcls_cr_last_updated cr_last_updated; public Xcls_tv_all_branches tv_all_branches; public Xcls_cr_all_branches cr_all_branches; public Xcls_ok_button ok_button; // my vars (def) // ctor public Clones() { _this = this; this.el = new Gtk.Popover( null ); // my vars (dec) // set gobject values this.el.border_width = 3; this.el.modal = true; var child_0 = new Xcls_Box2( _this ); child_0.ref(); this.el.add ( child_0.el ); } // user defined functions public void show (Gtk.Widget menuitem) { Gdk.Screen s; Gdk.Rectange r; Gtk.Orientation o; statusicon.get_geometry( out s, out r, out o); this.el.set_relative_to( null ); this.el.set_pointing_to( r); this.el.set_position(Gtk.PositionType.BOTTOM); //console.log('show all'); this.el.set_modal(true); // this.el.popup(); // window + header? this.el.show_all(); this.el.set_size_request(800,500); //this.view.el.grab_focus(); } public class Xcls_Box2 : Object { public Gtk.Box el; private Clones _this; // my vars (def) // ctor public Xcls_Box2(Clones _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); // my vars (dec) // set gobject values var child_0 = new Xcls_Box3( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false,false,0 ); var child_1 = new Xcls_ScrolledWindow9( _this ); child_1.ref(); this.el.add ( child_1.el ); var child_2 = new Xcls_ok_button( _this ); child_2.ref(); this.el.add ( child_2.el ); } // user defined functions } public class Xcls_Box3 : Object { public Gtk.Box el; private Clones _this; // my vars (def) // ctor public Xcls_Box3(Clones _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); // my vars (dec) // set gobject values var child_0 = new Xcls_Button4( _this ); child_0.ref(); this.el.add ( child_0.el ); var child_1 = new Xcls_Button5( _this ); child_1.ref(); this.el.add ( child_1.el ); var child_2 = new Xcls_Button6( _this ); child_2.ref(); this.el.add ( child_2.el ); var child_3 = new Xcls_Button7( _this ); child_3.ref(); this.el.add ( child_3.el ); var child_4 = new Xcls_Button8( _this ); child_4.ref(); this.el.add ( child_4.el ); } // user defined functions } public class Xcls_Button4 : Object { public Gtk.Button el; private Clones _this; // my vars (def) // ctor public Xcls_Button4(Clones _owner ) { _this = _owner; this.el = new Gtk.Button(); // my vars (dec) // set gobject values this.el.label = "Remotes / Clones"; //listeners this.el.clicked.connect( () => { /* var rv = this.get('/reposView'); var rs = this.get('/reposStore'); if (rv.el.get_selection().count_selected_rows() != 1) { //nothing? // error condition. return; } var Remotes = imports.Remotes.Remotes; var ret = {}; var s = rv.el.get_selection(); var path = ''; s.selected_foreach(function(model,p,iter) { path = model.get_value(iter, 6).value.get_string(); }); var repo = false; rs.repos.forEach(function(r) { if (r.repopath == path) { repo = r; } }); Remotes.repo = repo; Remotes.el.set_transient_for(Clones.el); Clones.el.set_title("Manage Clones - " + repo.repopath); Remotes.show(); Clones.el.set_title("Manage Clones"); */ }); } // user defined functions } public class Xcls_Button5 : Object { public Gtk.Button el; private Clones _this; // my vars (def) // ctor public Xcls_Button5(Clones _owner ) { _this = _owner; this.el = new Gtk.Button(); // my vars (dec) // set gobject values this.el.label = "Branches"; //listeners this.el.clicked.connect( () => { /* var rv = this.get('/reposView'); var rs = this.get('/reposStore'); if (rv.el.get_selection().count_selected_rows() != 1) { //nothing? // error condition. return; } var Branches = imports.Branches.Branches; var ret = {}; var s = rv.el.get_selection(); var path = ''; s.selected_foreach(function(model,p,iter) { path = model.get_value(iter, 6).value.get_string(); }); var repo = false; rs.repos.forEach(function(r) { if (r.repopath == path) { repo = r; } }); Branches.repo = repo; Branches.el.set_transient_for(Clones.el); Clones.el.set_title("Manage Clones - " + repo.repopath); Branches.show(); Clones.el.set_title("Manage Clones"); */ }); } // user defined functions } public class Xcls_Button6 : Object { public Gtk.Button el; private Clones _this; // my vars (def) // ctor public Xcls_Button6(Clones _owner ) { _this = _owner; this.el = new Gtk.Button(); // my vars (dec) // set gobject values this.el.label = "Merge"; //listeners this.el.clicked.connect( () => { /* var rv = this.get('/reposView'); var rs = this.get('/reposStore'); if (rv.el.get_selection().count_selected_rows() != 1) { //nothing? // error condition. return; } var Merger = imports.Merger.Merger; var ret = {}; var s = rv.el.get_selection(); var path = ''; s.selected_foreach(function(model,p,iter) { path = model.get_value(iter, 6).value.get_string(); }); var repo = false; rs.repos.forEach(function(r) { if (r.repopath == path) { repo = r; } }); Merger.repo = repo; Merger.el.set_transient_for(Clones.el); Clones.el.set_title("Manage Clones - " + repo.repopath); Merger.show(); Clones.el.set_title("Manage Clones"); */ }); } // user defined functions } public class Xcls_Button7 : Object { public Gtk.Button el; private Clones _this; // my vars (def) // ctor public Xcls_Button7(Clones _owner ) { _this = _owner; this.el = new Gtk.Button(); // my vars (dec) // set gobject values this.el.label = "Switch Branch"; //listeners this.el.clicked.connect( () => { }); } // user defined functions } public class Xcls_Button8 : Object { public Gtk.Button el; private Clones _this; // my vars (def) // ctor public Xcls_Button8(Clones _owner ) { _this = _owner; this.el = new Gtk.Button(); // my vars (dec) // set gobject values this.el.label = "Pull"; //listeners this.el.clicked.connect( () => { }); } // user defined functions } public class Xcls_ScrolledWindow9 : Object { public Gtk.ScrolledWindow el; private Clones _this; // my vars (def) // ctor public Xcls_ScrolledWindow9(Clones _owner ) { _this = _owner; this.el = new Gtk.ScrolledWindow( null, null ); // my vars (dec) // set gobject values this.el.expand = true; this.el.shadow_type = Gtk.ShadowType.IN; var child_0 = new Xcls_reposView( _this ); child_0.ref(); this.el.add ( child_0.el ); // init method { this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); } } // user defined functions } public class Xcls_reposView : Object { public Gtk.TreeView el; private Clones _this; // my vars (def) // ctor public Xcls_reposView(Clones _owner ) { _this = _owner; _this.reposView = this; this.el = new Gtk.TreeView(); // my vars (dec) // set gobject values var child_0 = new Xcls_reposStore( _this ); child_0.ref(); this.el.set_model ( child_0.el ); var child_1 = new Xcls_tv_autocommit( _this ); child_1.ref(); this.el.append_column ( child_1.el ); var child_2 = new Xcls_tv_autopush( _this ); child_2.ref(); this.el.append_column ( child_2.el ); var child_3 = new Xcls_tv_repo( _this ); child_3.ref(); this.el.append_column ( child_3.el ); var child_4 = new Xcls_tv_current_branch( _this ); child_4.ref(); this.el.append_column ( child_4.el ); var child_5 = new Xcls_tv_last_updated( _this ); child_5.ref(); this.el.append_column ( child_5.el ); var child_6 = new Xcls_tv_all_branches( _this ); child_6.ref(); this.el.append_column ( child_6.el ); // init method { var selection = this.el.get_selection(); selection.set_mode( Gtk.SelectionMode.SINGLE); var description = new Pango.FontDescription(); description.set_size(10000); this.el.override_font(description); } //listeners this.el.cursor_changed.connect( () => { // SEE SELECTION.CHANGED /* return; if (this.el.get_selection().count_selected_rows() < 1) { //nothing? - clea it? return; } var ret = {}; var model = this.get('/changedFilesStore'); var s = this.el.get_selection(); var files = []; s.selected_foreach(function(model,p,iter) { files.push( model.get_value(iter, 0).value.get_string()); }); this.get('/patchview').showDiff(files); //var value = ''+ ret.model.get_value(ret.iter, 1).value.get_string(); //print("OUT?" + value);// id.. // load the list in the right grid.. return true; */ }); } // user defined functions } public class Xcls_reposStore : Object { public Gtk.ListStore el; private Clones _this; // my vars (def) // ctor public Xcls_reposStore(Clones _owner ) { _this = _owner; _this.reposStore = this; this.el = new Gtk.ListStore( 0, typeof(string), // 0 repo typeof(string), // 1 current branch typeof(string), // 2 all branch typeof(string), // 3 updated typeof(bool), // 4 auto commit typeof(bool), // 5 auto push typeof(string), // 7 repopath typeof(string) // 8 color highlighting? ); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_tv_autocommit : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_tv_autocommit(Clones _owner ) { _this = _owner; _this.tv_autocommit = this; this.el = new Gtk.TreeViewColumn(); // my vars (dec) // set gobject values this.el.title = "Auto Commit"; this.el.min_width = 50; var child_0 = new Xcls_cr_autocommit( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false ); // init method // this.items[0].el.set_activatable(true); this.el.add_attribute(_this.cr_autocommit.el , "active", 4 ); } // user defined functions } public class Xcls_cr_autocommit : Object { public Gtk.CellRendererToggle el; private Clones _this; // my vars (def) // ctor public Xcls_cr_autocommit(Clones _owner ) { _this = _owner; _this.cr_autocommit = this; this.el = new Gtk.CellRendererToggle(); // my vars (dec) // set gobject values this.el.mode = Gtk.CellRendererMode.ACTIVATABLE; //listeners this.el.toggled.connect( (self, path) => { /* var ret ={} ; var store = this.get('/reposStore'); store.el.get_iter_from_string(ret, path); var value = store.el.get_value(ret.iter,4).value.get_boolean(); //print(JSON.stringify(value)); store.el.set_value(ret.iter,4, !value); var path = store.el.get_value(ret.iter, 6).value.get_string(); var repo = imports.Scm.Repo.Repo.get(path); repo.autocommit(!value); */ }); } // user defined functions } public class Xcls_tv_autopush : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_tv_autopush(Clones _owner ) { _this = _owner; _this.tv_autopush = this; this.el = new Gtk.TreeViewColumn(); // my vars (dec) // set gobject values this.el.title = "Auto Push"; this.el.min_width = 50; var child_0 = new Xcls_cr_autopush( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false ); // init method this.el.add_attribute(_this.cr_autopush.el , "active", 5 ); // this.items[0].el.set_activatable(true); } // user defined functions } public class Xcls_cr_autopush : Object { public Gtk.CellRendererToggle el; private Clones _this; // my vars (def) // ctor public Xcls_cr_autopush(Clones _owner ) { _this = _owner; _this.cr_autopush = this; this.el = new Gtk.CellRendererToggle(); // my vars (dec) // set gobject values this.el.mode = Gtk.CellRendererMode.ACTIVATABLE; //listeners this.el.toggled.connect( (self, path) => { /* var ret ={} ; var store = this.get('/reposStore'); store.el.get_iter_from_string(ret, path); var value = store.el.get_value(ret.iter,5).value.get_boolean(); //print(JSON.stringify(value)); store.el.set_value(ret.iter,5, !value); var path = store.el.get_value(ret.iter, 6).value.get_string(); var repo = imports.Scm.Repo.Repo.get(path); repo.autopush(!value); */ }); } // user defined functions } public class Xcls_tv_repo : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_tv_repo(Clones _owner ) { _this = _owner; _this.tv_repo = this; this.el = new Gtk.TreeViewColumn(); // my vars (dec) // set gobject values this.el.title = "Repo"; this.el.min_width = 200; this.el.resizable = true; var child_0 = new Xcls_cr_repo( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false ); // init method this.el.add_attribute(_this.cr_repo.el , "markup", 0 ); } // user defined functions } public class Xcls_cr_repo : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_cr_repo(Clones _owner ) { _this = _owner; _this.cr_repo = this; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_tv_current_branch : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_tv_current_branch(Clones _owner ) { _this = _owner; _this.tv_current_branch = this; this.el = new Gtk.TreeViewColumn(); // my vars (dec) // set gobject values this.el.title = "Current Branch"; this.el.min_width = 50; var child_0 = new Xcls_cr_current_branch( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false ); // init method this.el.add_attribute(_this.cr_current_branch.el , "markup", 1 ); this.el.add_attribute(_this.cr_current_branch.el, "cell-background", 7 ); } // user defined functions } public class Xcls_cr_current_branch : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_cr_current_branch(Clones _owner ) { _this = _owner; _this.cr_current_branch = this; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_tv_last_updated : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_tv_last_updated(Clones _owner ) { _this = _owner; _this.tv_last_updated = this; this.el = new Gtk.TreeViewColumn(); // my vars (dec) // set gobject values this.el.title = "Last updated"; this.el.min_width = 50; var child_0 = new Xcls_cr_last_updated( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false ); // init method this.el.add_attribute(_this.cr_last_updated.el , "markup", 3 ); } // user defined functions } public class Xcls_cr_last_updated : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_cr_last_updated(Clones _owner ) { _this = _owner; _this.cr_last_updated = this; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_tv_all_branches : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_tv_all_branches(Clones _owner ) { _this = _owner; _this.tv_all_branches = this; this.el = new Gtk.TreeViewColumn(); // my vars (dec) // set gobject values this.el.title = "All Branches"; this.el.min_width = 50; this.el.resizable = false; var child_0 = new Xcls_cr_all_branches( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false ); // init method this.el.add_attribute(_this.cr_all_branches.el , "markup", 2 ); } // user defined functions } public class Xcls_cr_all_branches : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_cr_all_branches(Clones _owner ) { _this = _owner; _this.cr_all_branches = this; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_ok_button : Object { public Gtk.Button el; private Clones _this; // my vars (def) // ctor public Xcls_ok_button(Clones _owner ) { _this = _owner; _this.ok_button = this; this.el = new Gtk.Button(); // my vars (dec) // set gobject values this.el.label = "Close"; } // user defined functions } }