"# GtkSource.SearchContext searchcontext" : "",
"# JsRender.JsRender file" : "null",
"# Xcls_MainWindow main_window" : "",
+ "# int last_error_counter" : 0,
+ "# int last_search_end" : 0,
"$ xns" : "Gtk",
- "* init" : [
- "{",
- "",
- "\tthis.css = new Gtk.CssProvider();",
- "\t ",
- "\tthis.css.load_from_string(",
- "\t\t\"#gtkview-view-layout { background-color: #ccc; }\"",
- "\t);",
- "\t ",
- "\tGtk.StyleContext.add_provider_for_display(",
- "\t\tthis.el.get_display(),",
- "\t\tthis.css,",
- "\t\tGtk.STYLE_PROVIDER_PRIORITY_APPLICATION",
- "\t);",
- "\t\t",
- " ",
- "}",
- ""
- ],
- "Gtk.CssProvider css" : "",
"Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
"bool hexpand" : true,
"bool vexpand" : true,
"id" : "GtkView",
- "int last_search_end" : 0,
"items" : [
{
"$ xns" : "Gtk",
"items" : [
{
"# JsRender.Node? node_selected" : "",
+ "# bool loading" : false,
"# string prop_selected" : "\"\"",
"$ xns" : "GtkSource",
"* init" : [
"{",
- " ",
- " ",
- " \tthis.css = new Gtk.CssProvider();",
- "\t ",
- "\tthis.css.load_from_string(\"#gtkview-view { font: 10px monospace ;}\");",
- "\t ",
- "\tGtk.StyleContext.add_provider_for_display(",
- "\t\tthis.el.get_display(),",
- "\t\tthis.css,",
- "\t\tGtk.STYLE_PROVIDER_PRIORITY_APPLICATION",
- "\t);",
- "\t\t",
- "\t\t ",
- " this.loading = true;",
- " ",
- " ",
+ "",
" ",
- " var attrs = new GtkSource.MarkAttributes();",
- " var pink = Gdk.RGBA();",
- " pink.parse ( \"pink\");",
- " attrs.set_background ( pink);",
- " attrs.set_icon_name ( \"process-stop\"); ",
- " attrs.query_tooltip_text.connect(( mark) => {",
- " //print(\"tooltip query? %s\\n\", mark.name);",
- " return mark.name;",
- " });",
- " ",
- " this.el.set_mark_attributes (\"ERR\", attrs, 1);",
- " ",
- " var wattrs = new GtkSource.MarkAttributes();",
- " var blue = Gdk.RGBA();",
- " blue.parse ( \"#ABF4EB\");",
- " wattrs.set_background ( blue);",
- " wattrs.set_icon_name ( \"process-stop\"); ",
- " wattrs.query_tooltip_text.connect(( mark) => {",
- " //print(\"tooltip query? %s\\n\", mark.name);",
- " return mark.name;",
- " });",
- " ",
- " this.el.set_mark_attributes (\"WARN\", wattrs, 1);",
- " ",
- " ",
- " ",
- " var dattrs = new GtkSource.MarkAttributes();",
- " var purple = Gdk.RGBA();",
- " purple.parse ( \"#EEA9FF\");",
- " dattrs.set_background ( purple);",
- " dattrs.set_icon_name ( \"process-stop\"); ",
- " dattrs.query_tooltip_text.connect(( mark) => {",
- " //print(\"tooltip query? %s\\n\", mark.name);",
- " return mark.name;",
- " });",
- " ",
- " this.el.set_mark_attributes (\"DEPR\", dattrs, 1);",
- " ",
- " ",
- " var gattrs = new GtkSource.MarkAttributes();",
- " var grey = Gdk.RGBA();",
- " grey.parse ( \"#ccc\");",
- " gattrs.set_background ( grey);",
+ "\tthis.loading = true;",
+ "",
" ",
- " ",
- " this.el.set_mark_attributes (\"grey\", gattrs, 1);",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- "}",
- " "
+ "\tvar attrs = new GtkSource.MarkAttributes();",
+ "\t attrs.set_icon_name ( \"process-stop\"); ",
+ "\tattrs.query_tooltip_text.connect(( mark) => {",
+ "\t\t//print(\"tooltip query? %s\\n\", mark.name);",
+ "\t\treturn mark.name;",
+ "\t});",
+ "",
+ "\tthis.el.set_mark_attributes (\"ERR\", attrs, 1);",
+ "",
+ "\t var wattrs = new GtkSource.MarkAttributes();",
+ "\t wattrs.set_icon_name ( \"process-stop\"); ",
+ "\twattrs.query_tooltip_text.connect(( mark) => {",
+ "\t\t//print(\"tooltip query? %s\\n\", mark.name);",
+ "\t\treturn mark.name;",
+ "\t});",
+ "",
+ "\tthis.el.set_mark_attributes (\"WARN\", wattrs, 1);",
+ "",
+ "",
+ "",
+ "\t var dattrs = new GtkSource.MarkAttributes();",
+ "\tdattrs.set_icon_name ( \"process-stop\"); ",
+ "\tdattrs.query_tooltip_text.connect(( mark) => {",
+ "\t\t//print(\"tooltip query? %s\\n\", mark.name);",
+ "\t\treturn mark.name;",
+ "\t});",
+ "",
+ "\tthis.el.set_mark_attributes (\"DEPR\", dattrs, 1);",
+ "",
+ "",
+ "\tvar gattrs = new GtkSource.MarkAttributes();",
+ "\tvar grey = Gdk.RGBA();",
+ "\tgrey.parse ( \"#ccc\");",
+ "\tgattrs.set_background ( grey);",
+ "",
+ "",
+ "\tthis.el.set_mark_attributes (\"grey\", gattrs, 1);",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\t}",
+ ""
],
"* pack" : "set_child",
- "Gtk.CssProvider css" : "",
- "bool loading" : false,
- "bool zallow_node_scroll" : true,
+ "css_classes" : "{ \"code-editor\" }",
"gboolean editable" : false,
"gboolean show_line_marks" : true,
"gboolean show_line_numbers" : true,
"items" : [
{
"$ xns" : "GtkSource",
+ "* init" : [
+ "",
+ "var buf = this.el;",
+ "buf.create_tag (\"bold\", \"weight\", Pango.Weight.BOLD);",
+ "buf.create_tag (\"type\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#204a87\");",
+ "buf.create_tag (\"keyword\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#a40000\");",
+ "buf.create_tag (\"text\", \"weight\", Pango.Weight.NORMAL, \"foreground\", \"#729fcf\");",
+ "buf.create_tag (\"number\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#ad7fa8\");",
+ "buf.create_tag (\"method\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#729fcf\");",
+ "buf.create_tag (\"property\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#BC1F51\");",
+ "buf.create_tag (\"variable\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#A518B5\");",
+ "",
+ "",
+ "buf.create_tag (\"ERR\", \"weight\", Pango.Weight.BOLD, \"background\", \"pink\");",
+ "buf.create_tag (\"WARN\", \"weight\", Pango.Weight.BOLD, \"background\", \"#ABF4EB\");",
+ "buf.create_tag (\"DEPR\", \"weight\", Pango.Weight.BOLD, \"background\", \"#EEA9FF\");",
+ "",
+ "",
+ ""
+ ],
"* pack" : "set_buffer",
"bool dirty" : false,
"bool in_cursor_change" : false,
"items" : [
{
"$ xns" : "Gtk",
- "* init" : [
- " ",
- "this.css = new Gtk.CssProvider();",
- "",
- "this.css.load_from_string(\"",
- "\t#gtkview-search-entry { font: 10px monospace ;}\"",
- ");",
- "",
- "Gtk.StyleContext.add_provider_for_display(",
- "\tthis.el.get_display(),",
- "\tthis.css,",
- "\tGtk.STYLE_PROVIDER_PRIORITY_APPLICATION",
- ");",
- "\t\t",
- "",
- ""
- ],
"Gtk.CssProvider css" : "",
"bool hexpand" : true,
"id" : "search_entry",
" if (file.tree == null) {",
" return;",
" }",
+ " this.last_error_counter = -1;",
" this.notebook.el.page = 0;// gtk preview ",
" ",
" ",
" ",
" this.file = file; ",
" this.sourceview.loadFile();",
+ " ",
" this.searchcontext = null;",
- " ",
- "",
+ " this.last_error_counter = -1;",
+ "\t\tthis.updateErrorMarks();",
" if (this.lastObj != null) {",
" this.container.el.remove(this.lastObj);",
" }",
" this.createThumb();",
" ",
" \t ",
- " return;/*",
- "\tvar x = new JsRender.NodeToGtk((Project.Gtk) file.project, file.tree);",
- " var obj = x.munge() as Gtk.Widget;",
- " this.lastObj = null;",
- "\tif (obj == null) {",
- " \treturn;",
- "\t}",
- "\tthis.lastObj = obj;",
- " ",
- " this.container.el.append(obj);",
- " obj.show();",
- " ",
- " */",
+ " ",
" ",
"}",
" "
""
],
"| void updateErrorMarks" : [
- "(string category) {",
+ "() {",
"\t",
" ",
"",
"\tGtk.TextIter end; ",
"\tbuf.get_bounds (out start, out end);",
"",
- "\tbuf.remove_source_marks (start, end, category);",
+ "",
" ",
"\tGLib.debug(\"highlight errors\");\t\t ",
"",
"\t\treturn;",
"",
"\t}",
- "\tvar ar = this.file.getErrors(category);",
- "\tif (ar == null || ar.get_n_items() < 1) {",
- "\t\tGLib.debug(\"higjlight %s has no errors\", category);",
+ "\tvar ar = this.file.getErrors();",
+ "\tif (ar.size < 1) {",
+ "\t\tbuf.remove_tag_by_name (\"ERR\", start, end);",
+ "\t\tbuf.remove_tag_by_name (\"WARN\", start, end);",
+ "\t\tbuf.remove_tag_by_name (\"DEPR\", start, end);",
+ "\t\tbuf.remove_source_marks (start, end, \"ERR\");",
+ "\t\tbuf.remove_source_marks (start, end, \"WARN\");",
+ "\t\tbuf.remove_source_marks (start, end, \"DEPR\");",
+ "\t\tthis.last_error_counter = file.error_counter ;",
+ "\t\tGLib.debug(\"higjlight has no errors\");",
"\t\treturn;",
"\t}",
- " ",
+ " \tif (this.last_error_counter == file.error_counter) {",
+ "\t\treturn;",
+ "\t}",
+ "\t",
"",
" ",
"\t ",
"\t",
" ",
"\t ",
- "\tfor (var i = 0; i < ar.get_n_items();i++) {",
- "\t\tvar err = (Palete.CompileError) ar.get_item(i);",
+ "\tbuf.remove_source_marks (start, end, \"ERR\");",
+ "\tbuf.remove_source_marks (start, end, \"WARN\");",
+ "\tbuf.remove_source_marks (start, end, \"DEPR\");",
+ "\tbuf.remove_tag_by_name (\"ERR\", start, end);",
+ "\tbuf.remove_tag_by_name (\"WARN\", start, end);",
+ "\tbuf.remove_tag_by_name (\"DEPR\", start, end);",
+ "\tforeach(var diag in ar) { ",
+ "\t",
"\t\t",
"\t Gtk.TextIter iter;",
"// print(\"get inter\\n\");",
- "\t var eline = err.line + 1;",
- "\t GLib.debug(\"GOT ERROR on line %d -- converted to %d \",",
- "\t \terr.line ,eline);",
- "\t ",
- "\t ",
+ "\t var eline = (int)diag.range.start.line ;",
+ "\t var eline_to = (int)diag.range.end.line;",
"\t if (eline > tlines || eline < 0) {",
"\t return;",
"\t }",
"\t ",
"\t buf.get_iter_at_line( out iter, eline);",
"\t ",
+ "\t \t buf.get_iter_at_line_offset( out start, ",
+ " \t \teline, (int)diag.range.start.character); ",
+ " \t buf.get_iter_at_line_offset( out end, ",
+ " \t \teline_to, (int)diag.range.end.character); ",
+ " \t \t",
+ "\t buf.apply_tag_by_name(diag.category, start, end);",
+ "\t ",
"\t ",
- "\t\tvar msg = \"Line: %d %s : %s\".printf(eline+1, err.category, err.msg);",
- "\t buf.create_source_mark( msg, err.category, iter);",
+ "\t\tvar msg = \"Line: %d %s : %s\".printf(eline+1, diag.category, diag.message);",
+ "\t buf.create_source_mark( msg, diag.category, iter);",
"\t GLib.debug(\"set line %d to %s\", eline, msg);",
"\t //this.marks.set(eline, msg);",
"\t}",
- "\treturn ;",
+ "\tthis.last_error_counter = file.error_counter ;",
"",
"",
"",