From: Alan Knowles Date: Tue, 19 Mar 2024 15:17:44 +0000 (+0800) Subject: src/Builder4/Editor.bjs X-Git-Url: http://git.roojs.org/?a=commitdiff_plain;h=33681fab798d3a5ea218ba7a7fe4398915cdce4d;p=roobuilder src/Builder4/Editor.bjs src/Builder4/Editor.vala --- diff --git a/src/Builder4/Editor.bjs b/src/Builder4/Editor.bjs index 667cfb974..63bc5362e 100644 --- a/src/Builder4/Editor.bjs +++ b/src/Builder4/Editor.bjs @@ -1114,6 +1114,19 @@ " return (Lsp.DocumentSymbol)tr.get_item();", "\t ", "}" + ], + "| int getRowFromSymbol" : [ + "(Lsp.DocumentSymbol sym) {", + "", + "\tfor (var i=0;i < this.el.get_n_items(); i++) {", + "\t\tvar tr = (Gtk.TreeListRow)this.el.get_item(i);", + "\t ", + "\t\tif (sym.equals( (Lsp.DocumentSymbol)tr.get_item())) {", + "\t\t\treturn i;", + "\t\t}", + "\t}", + " \treturn -1;", + "}" ] } ], diff --git a/src/Builder4/Editor.vala b/src/Builder4/Editor.vala index 6029ac79a..891d502f1 100644 --- a/src/Builder4/Editor.vala +++ b/src/Builder4/Editor.vala @@ -2121,6 +2121,17 @@ public class Editor : Object } // user defined functions + public int getRowFromSymbol (Lsp.DocumentSymbol sym) { + + for (var i=0;i < this.el.get_n_items(); i++) { + var tr = (Gtk.TreeListRow)this.el.get_item(i); + + if (sym.equals( (Lsp.DocumentSymbol)tr.get_item())) { + return i; + } + } + return -1; + } public Lsp.DocumentSymbol? getSymbolAt (uint row) { var tr = (Gtk.TreeListRow)this.el.get_item(row);