On Mon, 2015-12-28 at 19:26 +0900, Tristan Van Berkom wrote: > On Mon, 2015-12-28 at 18:01 +0800, Franco Broi wrote: > > Hi > > > > I have a drawingarea inside a scrolled window for which I'd like to > > grab > > the focus so the user can use keyboard inputs but I want to do it > > without changing the scrolled window position. What I'm finding is > > the > > gtk_widget_grab_focus call on the drawable results in the scrolled > > window adjustments being set to zero. > > > [...] > > > I can see the code in gtk_container_real_set_focus_child calling > > gtk_adjustment_clamp_page but don't understand why and I don't see > > any > > way to stop it from doing it. > [...] > > Hi, > the reasoning is that usually focus is not given to the direct child > of a scrolled window, but to another grandchild. > > This usually makes sense so that when using keynav and tabbing from > widget to widget inside a scrolled area, the scrolled window will > automatically adjust itself to reveal the new button/entry/widget which > may otherwise be hidden (so the user doesnt end up having to manually > move the scrollbars to see what widget is focused). > > For your case, you should be able to opt out by simply clearing the > focus adjustments with the gtk_container_set_focus_[v/h]adjustment() > APIs.
Thanks for the quick reply Tristan. Had me flummoxed for a while until I worked out that it is the adjustments of the scrolledwindow's child that need to be cleared - the viewport?? gtk_container_set_focus_vadjustment(GTK_CONTAINER(gtk_bin_get_child(GTK_BIN(sw))), NULL); Cheers, _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list