From 1f7e6b712f9ee99d621a3a67f1c0795c6106bde6 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Fri, 16 Nov 2018 12:29:27 +0800 Subject: [PATCH] sync --- RepoStatusPopover.bjs | 137 +++++++++++++ RepoStatusPopover.vala | 455 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 592 insertions(+) create mode 100644 RepoStatusPopover.bjs create mode 100644 RepoStatusPopover.vala diff --git a/RepoStatusPopover.bjs b/RepoStatusPopover.bjs new file mode 100644 index 00000000..9a155536 --- /dev/null +++ b/RepoStatusPopover.bjs @@ -0,0 +1,137 @@ +{ + "name" : "RepoStatusPopover", + "parent" : "", + "title" : "", + "path" : "/home/alan/gitlive/gitlive/RepoStatusPopover.bjs", + "permname" : "", + "modOrder" : "", + "build_module" : "gitlive", + "items" : [ + { + "GitRepo repo" : "", + "| void show" : " (Gtk.Widget btn, Gdk.Rectangle rect, GitRepo repo) {\n _this.repo = repo;\n // get the active project.\n var lm = Gtk.SourceLanguageManager.get_default();\n \n// ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(\n // lm.get_language(\"html\")\n // );\n \n //print (project.fn);\n //project.runhtml = project.runhtml || '';\n _this.diff_view.el.get_buffer().set_text(repo.git_diff);\n _this.status_view.el.get_buffer().set_text(repo.git_status);\n \n \t//console.log('show all');\n\tthis.el.set_modal(true);\n\tthis.el.set_relative_to(btn);\n this.el.set_pointing_to(rect);\n \n\t//this.el.set_position(Gtk.PositionType.RIGHT);\n\n\t// window + header?\n\t GLib.debug(\"SHOWALL - POPIP\\n\");\n\tthis.el.show_all();\n\tthis.el.set_size_request(800,500);\n//\tthis.diff_view.el.grab_focus();\n\t\n //this.el.show_all();\n}\n", + "xtype" : "Popover", + "Gtk.PositionType position" : "Gtk.PositionType.RIGHT", + "$ xns" : "Gtk", + "bool modal" : true, + "uint border_width" : 0, + "items" : [ + { + "xtype" : "Box", + "* pack" : "add", + "$ xns" : "Gtk", + "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", + "border_width" : 5, + "$ homogeneous" : false, + "items" : [ + { + "* pack" : "pack_start,true,true,0", + "xtype" : "Notebook", + "$ xns" : "Gtk", + "items" : [ + { + "id" : "label_status", + "xtype" : "Label", + "* pack" : false, + "$ xns" : "Gtk", + "utf8 label" : "Status" + }, + { + "id" : "label_diff", + "* pack" : false, + "xtype" : "Label", + "$ xns" : "Gtk", + "utf8 label" : "Diff" + }, + { + "* pack" : "append_page,_this.label_status.el", + "xtype" : "Box", + "gboolean homogeneous" : false, + "$ xns" : "Gtk", + "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", + "items" : [ + { + "* pack" : "pack_start,true,true,0", + "xtype" : "ScrolledWindow", + "$ xns" : "Gtk", + "items" : [ + { + "id" : "status_view", + "* init" : " \n var description = Pango.FontDescription.from_string(\"monospace\");\n description.set_size(9000);\n this.el.override_font(description);", + "xtype" : "View", + "* pack" : "add", + "$ xns" : "GtkSource" + } + ] + } + ] + }, + { + "* pack" : "append_page,_this.label_diff.el", + "xtype" : "Box", + "gboolean homogeneous" : false, + "$ xns" : "Gtk", + "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", + "items" : [ + { + "* pack" : "pack_start,true,true,0", + "xtype" : "ScrolledWindow", + "$ xns" : "Gtk", + "items" : [ + { + "id" : "diff_view", + "* init" : " \n var description = Pango.FontDescription.from_string(\"monospace\");\n description.set_size(9000);\n this.el.override_font(description);", + "xtype" : "View", + "* pack" : "add", + "$ xns" : "GtkSource" + } + ] + } + ] + } + ] + }, + { + "* pack" : "pack_end,false,false,0", + "xtype" : "Box", + "gboolean expand" : false, + "$ xns" : "Gtk", + "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL", + "$ homogeneous" : true, + "gboolean vexpand" : false, + "items" : [ + { + "listeners" : { + "button_press_event" : "() => {\n _this.el.hide();\n return false;\n}" + }, + "label" : "Stash Changes", + "* pack" : "add", + "xtype" : "Button", + "$ xns" : "Gtk" + }, + { + "listeners" : { + "button_press_event" : "() => {\n _this.el.hide();\n return false;\n}" + }, + "label" : "Commit Changes", + "* pack" : "add", + "xtype" : "Button", + "$ xns" : "Gtk" + }, + { + "listeners" : { + "button_press_event" : "() => {\n _this.el.hide();\n return false;\n}" + }, + "label" : "Ignore for now", + "xtype" : "Button", + "* pack" : "add", + "$ xns" : "Gtk" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/RepoStatusPopover.vala b/RepoStatusPopover.vala new file mode 100644 index 00000000..0e363fb4 --- /dev/null +++ b/RepoStatusPopover.vala @@ -0,0 +1,455 @@ +static RepoStatusPopover _RepoStatusPopover; + +public class RepoStatusPopover : Object +{ + public Gtk.Popover el; + private RepoStatusPopover _this; + + public static RepoStatusPopover singleton() + { + if (_RepoStatusPopover == null) { + _RepoStatusPopover= new RepoStatusPopover(); + } + return _RepoStatusPopover; + } + public Xcls_label_status label_status; + public Xcls_label_diff label_diff; + public Xcls_status_view status_view; + public Xcls_diff_view diff_view; + + // my vars (def) + public GitRepo repo; + + // ctor + public RepoStatusPopover() + { + _this = this; + this.el = new Gtk.Popover( null ); + + // my vars (dec) + + // set gobject values + this.el.border_width = 0; + this.el.modal = true; + this.el.position = Gtk.PositionType.RIGHT; + var child_0 = new Xcls_Box2( _this ); + child_0.ref(); + this.el.add ( child_0.el ); + } + + // user defined functions + public void show (Gtk.Widget btn, Gdk.Rectangle rect, GitRepo repo) { + _this.repo = repo; + // get the active project. + var lm = Gtk.SourceLanguageManager.get_default(); + + // ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language( + // lm.get_language("html") + // ); + + //print (project.fn); + //project.runhtml = project.runhtml || ''; + _this.diff_view.el.get_buffer().set_text(repo.git_diff); + _this.status_view.el.get_buffer().set_text(repo.git_status); + + //console.log('show all'); + this.el.set_modal(true); + this.el.set_relative_to(btn); + this.el.set_pointing_to(rect); + + //this.el.set_position(Gtk.PositionType.RIGHT); + + // window + header? + GLib.debug("SHOWALL - POPIP\n"); + this.el.show_all(); + this.el.set_size_request(800,500); + // this.diff_view.el.grab_focus(); + + //this.el.show_all(); + } + public class Xcls_Box2 : Object + { + public Gtk.Box el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Box2(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); + + // my vars (dec) + + // set gobject values + this.el.homogeneous = false; + this.el.border_width = 5; + var child_0 = new Xcls_Notebook3( _this ); + child_0.ref(); + this.el.pack_start ( child_0.el , true,true,0 ); + var child_1 = new Xcls_Box12( _this ); + child_1.ref(); + this.el.pack_end ( child_1.el , false,false,0 ); + } + + // user defined functions + } + public class Xcls_Notebook3 : Object + { + public Gtk.Notebook el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Notebook3(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Notebook(); + + // my vars (dec) + + // set gobject values + var child_0 = new Xcls_label_status( _this ); + child_0.ref(); + var child_1 = new Xcls_label_diff( _this ); + child_1.ref(); + var child_2 = new Xcls_Box6( _this ); + child_2.ref(); + this.el.append_page ( child_2.el , _this.label_status.el ); + var child_3 = new Xcls_Box9( _this ); + child_3.ref(); + this.el.append_page ( child_3.el , _this.label_diff.el ); + } + + // user defined functions + } + public class Xcls_label_status : Object + { + public Gtk.Label el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_label_status(RepoStatusPopover _owner ) + { + _this = _owner; + _this.label_status = this; + this.el = new Gtk.Label( "Status" ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + } + + public class Xcls_label_diff : Object + { + public Gtk.Label el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_label_diff(RepoStatusPopover _owner ) + { + _this = _owner; + _this.label_diff = this; + this.el = new Gtk.Label( "Diff" ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + } + + public class Xcls_Box6 : Object + { + public Gtk.Box el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Box6(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); + + // my vars (dec) + + // set gobject values + this.el.homogeneous = false; + var child_0 = new Xcls_ScrolledWindow7( _this ); + child_0.ref(); + this.el.pack_start ( child_0.el , true,true,0 ); + } + + // user defined functions + } + public class Xcls_ScrolledWindow7 : Object + { + public Gtk.ScrolledWindow el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_ScrolledWindow7(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.ScrolledWindow( null, null ); + + // my vars (dec) + + // set gobject values + var child_0 = new Xcls_status_view( _this ); + child_0.ref(); + this.el.add ( child_0.el ); + } + + // user defined functions + } + public class Xcls_status_view : Object + { + public Gtk.SourceView el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_status_view(RepoStatusPopover _owner ) + { + _this = _owner; + _this.status_view = this; + this.el = new Gtk.SourceView(); + + // my vars (dec) + + // init method + + var description = Pango.FontDescription.from_string("monospace"); + description.set_size(9000); + this.el.override_font(description); + } + + // user defined functions + } + + + + public class Xcls_Box9 : Object + { + public Gtk.Box el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Box9(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); + + // my vars (dec) + + // set gobject values + this.el.homogeneous = false; + var child_0 = new Xcls_ScrolledWindow10( _this ); + child_0.ref(); + this.el.pack_start ( child_0.el , true,true,0 ); + } + + // user defined functions + } + public class Xcls_ScrolledWindow10 : Object + { + public Gtk.ScrolledWindow el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_ScrolledWindow10(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.ScrolledWindow( null, null ); + + // my vars (dec) + + // set gobject values + var child_0 = new Xcls_diff_view( _this ); + child_0.ref(); + this.el.add ( child_0.el ); + } + + // user defined functions + } + public class Xcls_diff_view : Object + { + public Gtk.SourceView el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_diff_view(RepoStatusPopover _owner ) + { + _this = _owner; + _this.diff_view = this; + this.el = new Gtk.SourceView(); + + // my vars (dec) + + // init method + + var description = Pango.FontDescription.from_string("monospace"); + description.set_size(9000); + this.el.override_font(description); + } + + // user defined functions + } + + + + + public class Xcls_Box12 : Object + { + public Gtk.Box el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Box12(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); + + // my vars (dec) + + // set gobject values + this.el.homogeneous = true; + this.el.expand = false; + this.el.vexpand = false; + var child_0 = new Xcls_Button13( _this ); + child_0.ref(); + this.el.add ( child_0.el ); + var child_1 = new Xcls_Button14( _this ); + child_1.ref(); + this.el.add ( child_1.el ); + var child_2 = new Xcls_Button15( _this ); + child_2.ref(); + this.el.add ( child_2.el ); + } + + // user defined functions + } + public class Xcls_Button13 : Object + { + public Gtk.Button el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Button13(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Stash Changes"; + + //listeners + this.el.button_press_event.connect( () => { + _this.el.hide(); + return false; + }); + } + + // user defined functions + } + + public class Xcls_Button14 : Object + { + public Gtk.Button el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Button14(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Commit Changes"; + + //listeners + this.el.button_press_event.connect( () => { + _this.el.hide(); + return false; + }); + } + + // user defined functions + } + + public class Xcls_Button15 : Object + { + public Gtk.Button el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Button15(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Ignore for now"; + + //listeners + this.el.button_press_event.connect( () => { + _this.el.hide(); + return false; + }); + } + + // user defined functions + } + + + +} -- 2.39.2