- "| Gtk.Widget? getWidgetAtRow" : [
- "(uint row) {",
- "/*",
- " \t",
- "from \thttps://discourse.gnome.org/t/gtk4-finding-a-row-data-on-gtkcolumnview/8465",
- " \tvar colview = gesture.widget;",
- " \tvar line_no = check_list_widget(colview, x,y);",
- " if (line_no > -1) {",
- " \t\tvar item = colview.model.get_item(line_no);",
- " \t\t ",
- " \t}",
- " \t*/",
- "\t\t//GLib.debug(\"Get Widget At Row %d\", (int)row);",
- " var child = this.el.get_first_child(); ",
- " \tvar line_no = -1; ",
- " \tvar reading_header = true;",
- "\t ",
- " \twhile (child != null) {",
- "\t\t\t//GLib.debug(\"Got %s\", child.get_type().name());",
- " \t ",
- " \t if (reading_header) {",
- "\t\t\t\t",
- "",
- "\t\t\t\tif (child.get_type().name() != \"GtkColumnListView\") {",
- "\t\t\t\t ",
- "\t\t\t\t\tchild = child.get_next_sibling();",
- "\t\t\t\t\tcontinue;",
- "\t\t\t\t}",
- "\t\t\t\t// should be columnlistview",
- "\t\t\t\tchild = child.get_first_child(); ",
- "\t\t\t ",
- "\t\t\t ",
- "\t\t\t\t",
- "\t\t\t\treading_header = false;",
- "\t\t\t\tcontinue;",
- "\t\t }",
- "\t\t ",
- "\t\t ",
- " \t ",
- "\t\t line_no++;",
- "\t\t\tif (line_no == row) {",
- "\t\t\t\t//GLib.debug(\"Returning widget %s\", child.get_type().name());",
- "\t\t\t return (Gtk.Widget)child;",
- "\t\t }",
- "\t child = child.get_next_sibling(); ",
- " \t}",
- "\t\tGLib.debug(\"Failed to find row (max = %d)\", line_no);",
- " return null;",