static Clones _Clones; public class Clones : Object { public Gtk.Dialog el; private Clones _this; public static Clones singleton() { if (_Clones == null) { _Clones= new Clones(); } return _Clones; } public Xcls_Clones Clones; public Xcls_reposView reposView; public Xcls_reposStore reposStore; public Xcls_ok_button ok_button; // my vars (def) // ctor public Clones() { _this = this; this.el = new Gtk.Dialog(); // my vars (dec) // set gobject values this.el.title = "Manage Clones"; this.el.border_width = 3; this.el.default_height = 500; this.el.default_width = 600; this.el.deletable = true; this.el.modal = true; var child_0 = new Xcls_Clones( _this ); child_0.ref(); this.el.function(p ( child_0.el , e) { p.el.get_content_area().pack_start(e.el,true,true,0) } ); var child_1 = new Xcls_ok_button( _this ); child_1.ref(); this.el.add_action_widget ( child_1.el , 1 ); //listeners this.el.delete_event.connect( (self, event) => { this.el.hide(); return true; //test }); this.el.response.connect( (self, response_id) => { this.el.hide(); }); } // user defined functions public void show () => { this.el.set_deletable(false); this.el.show_all(); // load clones.. // this.get('/reposStore').load(); //this.get('/ok_button').el.set_sensitive(false); // block until we return. // var run_ret = this.el.run(); // if (run_ret < 1 ) { // return "DONE"; // } // print("RUN RETURN : " + run_ret); // return "DONE"; //print(JSON.stringify(this.get('bug').getValue())); // return this.get('bug').getValue(); //this.success = c.success; } public class Xcls_Clones : Object { public Gtk.VBox el; private Clones _this; // my vars (def) // ctor public Xcls_Clones(Clones _owner ) { _this = _owner; _this.Clones = this; this.el = new Gtk.VBox( true, 0 ); // my vars (dec) // set gobject values var child_0 = new Xcls_HBox3( _this ); child_0.ref(); this.el.pack_start ( child_0.el , false,true ); var child_1 = new Xcls_ScrolledWindow9( _this ); child_1.ref(); } // user defined functions } public class Xcls_HBox3 : Object { public Gtk.HBox el; private Clones _this; // my vars (def) // ctor public Xcls_HBox3(Clones _owner ) { _this = _owner; this.el = new Gtk.HBox( true, 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( function (self) { 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( function (self) { 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 = "Run Merger"; //listeners this.el.clicked.connect( function (self) { 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( function (self) { }); } // 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( function (self) { }); } // 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 var child_0 = new Xcls_reposView( _this ); child_0.ref(); this.el.add ( child_0.el ); var child_1 = new Xcls_TreeView24( _this ); child_1.ref(); // init method function() { XObject.prototype.init.call(this); 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_TreeViewColumn12( _this ); child_1.ref(); this.el.append_column ( child_1.el ); var child_2 = new Xcls_TreeViewColumn14( _this ); child_2.ref(); this.el.append_column ( child_2.el ); var child_3 = new Xcls_TreeViewColumn16( _this ); child_3.ref(); this.el.append_column ( child_3.el ); var child_4 = new Xcls_TreeViewColumn18( _this ); child_4.ref(); this.el.append_column ( child_4.el ); var child_5 = new Xcls_TreeViewColumn20( _this ); child_5.ref(); this.el.append_column ( child_5.el ); var child_6 = new Xcls_TreeViewColumn22( _this ); child_6.ref(); this.el.append_column ( child_6.el ); // init method function() { XObject.prototype.init.call(this); var description = new Pango.FontDescription.c_new(); description.set_size(10000); this.el.modify_font(description); this.selection = this.el.get_selection(); this.selection.set_mode( Gtk.SelectionMode.MULTIPLE); var _this = this; this.selection.signal['changed'].connect(function() { _this.listeners.cursor_changed.apply( _this, [ _this, ''] ); }); } //listeners this.el.cursor_changed.connect( function (self) { // 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, null ); // my vars (dec) // set gobject values // init method function() { XObject.prototype.init.call(this); this.el.set_column_types ( 8, [ GObject.TYPE_STRING, // repo GObject.TYPE_STRING, // current branch GObject.TYPE_STRING, // all branch GObject.TYPE_STRING, // updated GObject.TYPE_BOOLEAN, // auto-commit GObject.TYPE_BOOLEAN, // auto-push GObject.TYPE_STRING, // repopath GObject.TYPE_STRING // color highighling ] ); } } // user defined functions } public class Xcls_TreeViewColumn12 : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_TreeViewColumn12(Clones _owner ) { _this = _owner; 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_CellRendererToggle13( _this ); child_0.ref(); this.el.pack_start ( child_0.el ); // init method function() { XObject.prototype.init.call(this); this.el.add_attribute(this.items[0].el , 'active', 4 ); this.items[0].el.set_activatable(true); } } // user defined functions } public class Xcls_CellRendererToggle13 : Object { public Gtk.CellRendererToggle el; private Clones _this; // my vars (def) // ctor public Xcls_CellRendererToggle13(Clones _owner ) { _this = _owner; this.el = new Gtk.CellRendererToggle(); // my vars (dec) // set gobject values this.el.mode = Gtk.CellRendererMode.ACTIVATABLE; //listeners this.el.toggled.connect( function (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_TreeViewColumn14 : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_TreeViewColumn14(Clones _owner ) { _this = _owner; 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_CellRendererToggle15( _this ); child_0.ref(); this.el.pack_start ( child_0.el ); // init method function() { XObject.prototype.init.call(this); this.el.add_attribute(this.items[0].el , 'active', 5 ); this.items[0].el.set_activatable(true); } } // user defined functions } public class Xcls_CellRendererToggle15 : Object { public Gtk.CellRendererToggle el; private Clones _this; // my vars (def) // ctor public Xcls_CellRendererToggle15(Clones _owner ) { _this = _owner; this.el = new Gtk.CellRendererToggle(); // my vars (dec) // set gobject values this.el.mode = Gtk.CellRendererMode.ACTIVATABLE; //listeners this.el.toggled.connect( function (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_TreeViewColumn16 : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_TreeViewColumn16(Clones _owner ) { _this = _owner; 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_CellRendererText17( _this ); child_0.ref(); this.el.pack_start ( child_0.el ); // init method function() { XObject.prototype.init.call(this); this.el.add_attribute(this.items[0].el , 'markup', 0 ); } } // user defined functions } public class Xcls_CellRendererText17 : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_CellRendererText17(Clones _owner ) { _this = _owner; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_TreeViewColumn18 : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_TreeViewColumn18(Clones _owner ) { _this = _owner; 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_CellRendererText19( _this ); child_0.ref(); this.el.pack_start ( child_0.el ); // init method function() { XObject.prototype.init.call(this); this.el.add_attribute(this.items[0].el , 'markup', 1 ); this.el.add_attribute(this.items[0].el , 'cell-background', 7 ); } } // user defined functions } public class Xcls_CellRendererText19 : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_CellRendererText19(Clones _owner ) { _this = _owner; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_TreeViewColumn20 : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_TreeViewColumn20(Clones _owner ) { _this = _owner; 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_CellRendererText21( _this ); child_0.ref(); this.el.pack_start ( child_0.el ); // init method function() { XObject.prototype.init.call(this); this.el.add_attribute(this.items[0].el , 'markup', 3 ); } } // user defined functions } public class Xcls_CellRendererText21 : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_CellRendererText21(Clones _owner ) { _this = _owner; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_TreeViewColumn22 : Object { public Gtk.TreeViewColumn el; private Clones _this; // my vars (def) // ctor public Xcls_TreeViewColumn22(Clones _owner ) { _this = _owner; 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_CellRendererText23( _this ); child_0.ref(); this.el.pack_start ( child_0.el ); // init method function() { XObject.prototype.init.call(this); this.el.add_attribute(this.items[0].el , 'markup', 2 ); } } // user defined functions } public class Xcls_CellRendererText23 : Object { public Gtk.CellRendererText el; private Clones _this; // my vars (def) // ctor public Xcls_CellRendererText23(Clones _owner ) { _this = _owner; this.el = new Gtk.CellRendererText(); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_TreeView24 : Object { public Gtk.TreeView el; private Clones _this; // my vars (def) // ctor public Xcls_TreeView24(Clones _owner ) { _this = _owner; this.el = new Gtk.TreeView(); // my vars (dec) // set gobject values var child_0 = new Xcls_ListStore25( _this ); child_0.ref(); } // user defined functions } public class Xcls_ListStore25 : Object { public Gtk.ListStore el; private Clones _this; // my vars (def) // ctor public Xcls_ListStore25(Clones _owner ) { _this = _owner; this.el = new Gtk.ListStore( 0, null ); // 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 } }