X-Git-Url: http://git.roojs.org/?p=app.Builder.js;a=blobdiff_plain;f=src%2FBuilder4%2FValaCompileResults.vala;h=65a8194e965e87a852e48576546c58b3671f23ab;hp=ca2607147ba3dcefd955298d624dbcef8a140ab6;hb=HEAD;hpb=7b4ab689a074229708d1f16e0ccc28a34de229ce diff --git a/src/Builder4/ValaCompileResults.vala b/src/Builder4/ValaCompileResults.vala index ca2607147..65a8194e9 100644 --- a/src/Builder4/ValaCompileResults.vala +++ b/src/Builder4/ValaCompileResults.vala @@ -1,40 +1,36 @@ -static Xcls_ValaCompileErrors _ValaCompileErrors; +static Xcls_ValaCompileResults _ValaCompileResults; -public class Xcls_ValaCompileErrors : Object +public class Xcls_ValaCompileResults : Object { public Gtk.Popover el; - private Xcls_ValaCompileErrors _this; + private Xcls_ValaCompileResults _this; - public static Xcls_ValaCompileErrors singleton() + public static Xcls_ValaCompileResults singleton() { - if (_ValaCompileErrors == null) { - _ValaCompileErrors= new Xcls_ValaCompileErrors(); + if (_ValaCompileResults == null) { + _ValaCompileResults= new Xcls_ValaCompileResults(); } - return _ValaCompileErrors; + return _ValaCompileResults; } public Xcls_compile_view compile_view; - public Xcls_compile_tree compile_tree; - public Xcls_compile_result_store compile_result_store; - public Xcls_renderer renderer; + public Xcls_sourceview sourceview; // my vars (def) public Xcls_MainWindow window; public bool active; - public JsRender.JsRender? file; - public Json.Object notices; // ctor - public Xcls_ValaCompileErrors() + public Xcls_ValaCompileResults() { _this = this; this.el = new Gtk.Popover( null ); // my vars (dec) - this.active = false; + this.active = true; // set gobject values - this.el.width_request = 900; - this.el.height_request = 800; + this.el.width_request = 600; + this.el.height_request = 400; this.el.modal = true; this.el.position = Gtk.PositionType.TOP; var child_0 = new Xcls_compile_view( _this ); @@ -43,87 +39,59 @@ public class Xcls_ValaCompileErrors : Object } // user defined functions - public void show (Json.Object tree, Gtk.Widget onbtn) { - - - this.file = null; - this.notices = tree; - - //print("looking for %s\n", id); - // loop through parent childnre - - - var store = this.compile_result_store.el; - - store.clear(); - - - tree.foreach_member((obj, file, node) => { - // id line "display text", file - - var title = GLib.Path.get_basename(GLib.Path.get_dirname( file)) + "/" + GLib.Path.get_basename( file) ; - Gtk.TreeIter iter; - print("Add file %s", title); - store.append(out iter, null); - var lines = tree.get_object_member(file); - title += " (" + lines.get_size().to_string() + ")"; - store.set(iter, 0, file, 1, 0, 2, title, 3, file,-1); - - lines.foreach_member((obja, line, nodea) => { - var msg = ""; - var ar = lines.get_array_member(line); - for (var i = 0 ; i < ar.get_length(); i++) { - msg += (msg.length > 0) ? "\n" : ""; - msg += ar.get_string_element(i); - } - Gtk.TreeIter citer; - print("Add line %s", line); - store.append(out citer, iter); - store.set(citer, - 0, file + ":" + line, - 1, int.parse(line), - 2, GLib.Markup.escape_text(line + ": " + msg), - 3, file,-1); - - }); - - - - }); - - int w,h; - this.window.el.get_size(out w, out h); + public void show ( Gtk.Widget onbtn, bool reset) { + int w, h; + + this.window.el.get_size(out w, out h); // left tree = 250, editor area = 500? - var new_w = int.min(250, w-100); + var new_w = int.min(750, w-100); if (new_w > (w-100)) { new_w = w-100; } this.el.set_size_request( int.max(100, new_w), int.max(100, h-120)); - - + if (this.el.relative_to == null) { this.el.set_relative_to(onbtn); } this.el.show_all(); + // not sure why.. + + if (reset) { + var buf = (Gtk.SourceBuffer)this.sourceview.el.get_buffer(); + buf.set_text("",0); + } while(Gtk.events_pending()) { Gtk.main_iteration(); - } - // this.hpane.el.set_position( 0); + } + + + + } + public void addLine (string str) { + var buf = (Gtk.SourceBuffer)this.sourceview.el.get_buffer(); + Gtk.TextIter iter; + buf.get_end_iter (out iter); + buf.insert(ref iter, str, str.length); + /// scroll.. + buf.get_end_iter (out iter); + this.sourceview.el.scroll_to_iter(iter, 0.0f, true, 0.0f, 1.0f); + + } public class Xcls_compile_view : Object { public Gtk.Box el; - private Xcls_ValaCompileErrors _this; + private Xcls_ValaCompileResults _this; // my vars (def) // ctor - public Xcls_compile_view(Xcls_ValaCompileErrors _owner ) + public Xcls_compile_view(Xcls_ValaCompileResults _owner ) { _this = _owner; _this.compile_view = this; @@ -133,74 +101,23 @@ public class Xcls_ValaCompileErrors : Object // set gobject values this.el.homogeneous = false; - 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_ScrolledWindow5( _this ); - child_1.ref(); - this.el.pack_end ( child_1.el , true,true,0 ); - } - - // user defined functions - } - public class Xcls_Box3 : Object - { - public Gtk.Box el; - private Xcls_ValaCompileErrors _this; - - - // my vars (def) - - // ctor - public Xcls_Box3(Xcls_ValaCompileErrors _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 ); + var child_0 = new Xcls_ScrolledWindow3( _this ); child_0.ref(); - this.el.pack_start ( child_0.el , true,true,0 ); + this.el.pack_end ( child_0.el , true,true,0 ); } // user defined functions } - public class Xcls_Button4 : Object - { - public Gtk.Button el; - private Xcls_ValaCompileErrors _this; - - - // my vars (def) - - // ctor - public Xcls_Button4(Xcls_ValaCompileErrors _owner ) - { - _this = _owner; - this.el = new Gtk.Button(); - - // my vars (dec) - - // set gobject values - this.el.label = "Compile and Run "; - } - - // user defined functions - } - - - public class Xcls_ScrolledWindow5 : Object + public class Xcls_ScrolledWindow3 : Object { public Gtk.ScrolledWindow el; - private Xcls_ValaCompileErrors _this; + private Xcls_ValaCompileResults _this; // my vars (def) // ctor - public Xcls_ScrolledWindow5(Xcls_ValaCompileErrors _owner ) + public Xcls_ScrolledWindow3(Xcls_ValaCompileResults _owner ) { _this = _owner; this.el = new Gtk.ScrolledWindow( null, null ); @@ -208,7 +125,8 @@ public class Xcls_ValaCompileErrors : Object // my vars (dec) // set gobject values - var child_0 = new Xcls_compile_tree( _this ); + this.el.hexpand = true; + var child_0 = new Xcls_sourceview( _this ); child_0.ref(); this.el.add ( child_0.el ); @@ -223,188 +141,41 @@ public class Xcls_ValaCompileErrors : Object // user defined functions } - public class Xcls_compile_tree : Object + public class Xcls_sourceview : Object { - public Gtk.TreeView el; - private Xcls_ValaCompileErrors _this; + public Gtk.SourceView el; + private Xcls_ValaCompileResults _this; // my vars (def) // ctor - public Xcls_compile_tree(Xcls_ValaCompileErrors _owner ) + public Xcls_sourceview(Xcls_ValaCompileResults _owner ) { _this = _owner; - _this.compile_tree = this; - this.el = new Gtk.TreeView(); + _this.sourceview = this; + this.el = new Gtk.SourceView(); // my vars (dec) // set gobject values - var child_0 = new Xcls_compile_result_store( _this ); - child_0.ref(); - this.el.set_model ( child_0.el ); - var child_1 = new Xcls_column( _this ); - child_1.ref(); - this.el.append_column ( child_1.el ); + this.el.editable = false; + this.el.show_line_numbers = false; // init method { - var description = new Pango.FontDescription(); + + var description = Pango.FontDescription.from_string("monospace"); description.set_size(8000); this.el.override_font(description); - } - - //listeners - this.el.button_press_event.connect( ( ev) => { - - Gtk.TreeViewColumn col; - int cell_x; - int cell_y; - Gtk.TreePath path; - if (!this.el.get_path_at_pos((int)ev.x, (int) ev.y, out path, out col, out cell_x, out cell_y )) { - print("nothing selected on click"); - - return false; //not on a element. - } - - - // right click. - if (ev.type != Gdk.EventType.2BUTTON_PRESS || ev.button != 1 ) { - // show popup!. - - - return false; - } - Gtk.TreeIter iter; - var mod = _this.compile_result_store.el; - mod.get_iter (out iter, path); - - - - // var val = ""; - GLib.Value value; - _this.compile_result_store.el.get_value(iter, 3, out value); - var fname = (string)value; - //GLib.Value lvalue; - //_this.compile_result_store.el.get_value(iter, 1, out lvalue); - //var line = (int) lvalue; - - - var bjsf = ""; - try { - var regex = new Regex("\\.vala$"); - - - bjsf = regex.replace(fname,fname.length , 0 , ".bjs"); - } catch (GLib.RegexError e) { - return false; - } - var p = _this.window.project; - - - - var jsr = p.getByPath(bjsf); - if (jsr != null) { - _this.window.windowstate.fileViewOpen(jsr); - - return false; - - } - - var pf = JsRender.JsRender.factory("PlainFile", p, fname); - _this.window.windowstate.fileViewOpen(pf); - - // try hiding the left nav.. - - return false; - - }); - } - - // user defined functions - } - public class Xcls_compile_result_store : Object - { - public Gtk.TreeStore el; - private Xcls_ValaCompileErrors _this; - - - // my vars (def) - - // ctor - public Xcls_compile_result_store(Xcls_ValaCompileErrors _owner ) - { - _this = _owner; - _this.compile_result_store = this; - this.el = new Gtk.TreeStore( 4, typeof(string), typeof(int), typeof(string), typeof(string) ); - - // my vars (dec) - - // set gobject values - } - - // user defined functions - } - - public class Xcls_column : Object - { - public Gtk.TreeViewColumn el; - private Xcls_ValaCompileErrors _this; - - - // my vars (def) - - // ctor - public Xcls_column(Xcls_ValaCompileErrors _owner ) - { - _this = _owner; - this.el = new Gtk.TreeViewColumn(); - - // my vars (dec) - - // set gobject values - this.el.title = "Compile output"; - var child_0 = new Xcls_renderer( _this ); - child_0.ref(); - this.el.pack_start ( child_0.el , true ); - - // init method - - { - this.el.add_attribute(_this.renderer.el , "markup", 2 ); - + } } // user defined functions } - public class Xcls_renderer : Object - { - public Gtk.CellRendererText el; - private Xcls_ValaCompileErrors _this; - - - // my vars (def) - - // ctor - public Xcls_renderer(Xcls_ValaCompileErrors _owner ) - { - _this = _owner; - _this.renderer = this; - this.el = new Gtk.CellRendererText(); - - // my vars (dec) - - // set gobject values - } - - // user defined functions - } - -