src/Builder4/Editor.bjs
authorAlan Knowles <alan@roojs.com>
Tue, 19 Mar 2024 15:17:44 +0000 (23:17 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 19 Mar 2024 15:17:44 +0000 (23:17 +0800)
src/Builder4/Editor.vala

src/Builder4/Editor.bjs
src/Builder4/Editor.vala

index 667cfb9..63bc536 100644 (file)
               "   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;",
+              "}"
              ]
             }
            ],
index 6029ac7..891d502 100644 (file)
@@ -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);