src/Builder4/GtkView.bjs
authorAlan Knowles <alan@roojs.com>
Fri, 19 Jan 2024 00:46:34 +0000 (08:46 +0800)
committerAlan Knowles <alan@roojs.com>
Fri, 19 Jan 2024 00:46:34 +0000 (08:46 +0800)
src/Builder4/GtkView.vala

src/Builder4/GtkView.bjs
src/Builder4/GtkView.vala

index fa240ba..40f00c6 100644 (file)
              "$ xns" : "Gtk",
              "listeners" : {
               "key_pressed" : [
-               "(JsRender.Node? sel, bool scroll) {",
-               "  ",
-               "    ",
-               "    if (this.loading) {",
-               "    \treturn;",
-               "\t}",
-               "    // this is connected in widnowstate",
-               "    print(\"Roo-view - node selected\\n\");",
-               "    var buf = this.el.get_buffer();",
-               " ",
-               "    var sbuf = (GtkSource.Buffer) buf;",
+               "(keyval, keycode, state) => {",
                "",
-               "   ",
-               "    // while(Gtk.events_pending()) {",
-               "     //    Gtk.main_iteration();",
-               "   //  }",
-               "    ",
-               "   ",
-               "    // clear all the marks..",
-               "     Gtk.TextIter start;",
-               "    Gtk.TextIter end;     ",
-               "        ",
-               "    sbuf.get_bounds (out start, out end);",
-               "    sbuf.remove_source_marks (start, end, \"grey\");",
-               "    ",
-               "        this.node_selected = sel;",
-               "     if (sel == null) {",
-               "        // no highlighting..",
-               "        return;",
-               "    }",
-               "    Gtk.TextIter iter;   ",
-               "    sbuf.get_iter_at_line(out iter,  sel.line_start);",
-               "    ",
-               "    ",
-               "    Gtk.TextIter cur_iter;",
-               "    sbuf.get_iter_at_offset(out cur_iter, sbuf.cursor_position);",
-               "    ",
-               "    //var cur_line = cur_iter.get_line();",
-               "    //if (cur_line > sel.line_start && cur_line < sel.line_end) {",
-               "    ",
-               "    //} else {",
-               "    if (this.allow_node_scroll && _this.buffer.in_cursor_change) {",
-               "    \tthis.el.scroll_to_iter(iter,  0.1f, true, 0.0f, 0.5f);",
+               "\t",
+               "\t ",
+               "\t if (keyval == Gdk.Key.g && (state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {",
+               "\t    GLib.debug(\"SAVE: ctrl-g  pressed\");",
+               "\t\t_this.forwardSearch(true);",
+               "\t    return true;",
                "\t}",
-               "    ",
-               "     ",
-               "    ",
-               "    for (var i = 0; i < buf.get_line_count();i++) {",
-               "        if (i < sel.line_start || i > sel.line_end) {",
-               "           ",
-               "            sbuf.get_iter_at_line(out iter, i);",
-               "            sbuf.create_source_mark(null, \"grey\", iter);",
-               "            ",
-               "        }",
-               "    ",
-               "    }",
-               "    ",
-               "",
-               "}",
-               ""
+               "    if (keyval == Gdk.Key.f && (state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {",
+               "\t    GLib.debug(\"SAVE: ctrl-f  pressed\");",
+               "\t\t_this.search_entry.el.grab_focus();",
+               "\t    return true;",
+               "\t}",
+               "\t ",
+               "\treturn false;",
+               "}\t ",
+               "\t"
               ]
              },
              "xtype" : "EventControllerKey"
index 1fc48ea..52d3b3d 100644 (file)
@@ -968,64 +968,22 @@ public class Xcls_GtkView : Object
                        // set gobject values
 
                        //listeners
-                       this.el.key_pressed.connect( (JsRender.Node? sel, bool scroll) {
-                         
-                           
-                           if (this.loading) {
-                               return;
-                               }
-                           // this is connected in widnowstate
-                           print("Roo-view - node selected\n");
-                           var buf = this.el.get_buffer();
-                        
-                           var sbuf = (GtkSource.Buffer) buf;
+                       this.el.key_pressed.connect( (keyval, keycode, state) => {
                        
-                          
-                           // while(Gtk.events_pending()) {
-                            //    Gtk.main_iteration();
-                          //  }
-                           
-                          
-                           // clear all the marks..
-                            Gtk.TextIter start;
-                           Gtk.TextIter end;     
-                               
-                           sbuf.get_bounds (out start, out end);
-                           sbuf.remove_source_marks (start, end, "grey");
-                           
-                               this.node_selected = sel;
-                            if (sel == null) {
-                               // no highlighting..
-                               return;
-                           }
-                           Gtk.TextIter iter;   
-                           sbuf.get_iter_at_line(out iter,  sel.line_start);
-                           
-                           
-                           Gtk.TextIter cur_iter;
-                           sbuf.get_iter_at_offset(out cur_iter, sbuf.cursor_position);
-                           
-                           //var cur_line = cur_iter.get_line();
-                           //if (cur_line > sel.line_start && cur_line < sel.line_end) {
-                           
-                           //} else {
-                           if (this.allow_node_scroll && _this.buffer.in_cursor_change) {
-                               this.el.scroll_to_iter(iter,  0.1f, true, 0.0f, 0.5f);
+                               
+                                
+                                if (keyval == Gdk.Key.g && (state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {
+                                   GLib.debug("SAVE: ctrl-g  pressed");
+                                       _this.forwardSearch(true);
+                                   return true;
                                }
-                           
-                            
-                           
-                           for (var i = 0; i < buf.get_line_count();i++) {
-                               if (i < sel.line_start || i > sel.line_end) {
-                                  
-                                   sbuf.get_iter_at_line(out iter, i);
-                                   sbuf.create_source_mark(null, "grey", iter);
-                                   
-                               }
-                           
-                           }
-                           
-                       
+                           if (keyval == Gdk.Key.f && (state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {
+                                   GLib.debug("SAVE: ctrl-f  pressed");
+                                       _this.search_entry.el.grab_focus();
+                                   return true;
+                               }
+                                
+                               return false;
                        });
                }