--- id: 0036f title: View menu accion "Open NodeGroups for selected" status: done priority: low created: 2026-05-04 parent: 0036 depends_on: [0036b, 0036c] --- ## Objetivo Acción puntual en el menú View que abre/enfoca la NodeGroups window del nodo seleccionado en el viewport. Sin atajo de teclado por ahora. No es un toggle de panel (las windows son por entidad, multiples abiertas simultaneamente). ## Cambios ### `views_toolbar.cpp` (o donde vive el menu View) Anyadir item: ``` [ ] View ...existing items... --- Drill-in --- Open NodeGroups for selected (deshabilitado si selected no es Table ni Group) ``` Comportamiento: - Si hay un nodo seleccionado con `type_ref == "Table"` o `"Group"`: llamar a `node_groups_open(g_app, sql_id, kind)` con kind derivado del type_ref. Marcar `focus_request = true`. - Si la seleccion es de otro tipo o no hay seleccion: item deshabilitado con tooltip `"Select a Table or Group node first"`. ### Actualizar list de panels en menu `g_panels[]` array no se toca — NodeGroups no es panel toggleable. ## Acceptance criteria - Sin nodo seleccionado: item disabled con tooltip explicativo. - Selected = Url: item disabled con tooltip. - Selected = Group: click abre window, queda al frente. - Selected = Table: igual. - Si la window ya existia abierta: el click la enfoca. - No hay regresion en otros items del menu View. - Tests pytest siguen verdes (no requiere tests UI). ## TBD Branch `issue/0036f-view-menu-open-nodegroups`, merge `--no-ff` a master. ## Out of scope - Atajo de teclado (lo dejamos para otra fase si surge friccion). - Submenu con lista de NodeGroups abiertas (fase 2 si llegan a ser muchas).