-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 );
}
// 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;
// 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 );
// 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 );
// 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
- }
-
-