GTK3:
Egy GList-be felveszed a widgeteket abban a sorrendbe, amelyben a fókuszsorrendet szeretnéd, és meghívod a listára a gtk_container_set_focus_chain függvényt:
GList *widget_list = NULL;
widget_list = g_list_append(widget_list, desc_field);
widget_list = g_list_append(widget_list, name_field);
widget_list = g_list_append(widget_list, pwd_field);
gtk_container_set_focus_chain(GTK_CONTAINER(new_row->view), widget_list);
Ez eddig szuper, csakhogy GTK 3.24-től a gtk_container_set_focus deprecated.
Hogy oldod meg GTK4-ben?
Csinálsz egy eseménykezelőt minden egyes widgethez, amiben megnézed, honnan jött a fókusz, majd focus_out_event hatására továbbadod a következő widgetnek. Én értem, hogy megváltozott a layout management (vagy mi), és most már minden widget (lehet) egyben container is, de azért erre jó lett volna valami épkézláb megoldás. Vagy hogy kell az ilyet szépen megoldani GTK4-ben?
Ahogy látom nem én vagyok az első, aki reklamál miatta [1] [2].