The problem:
I can't navegate from a cell to another in a browse on Linux.
On Windows:
--> if I am in the cell of a browse and press the TAB, the focus moves to the cell to the left.
On Linux:
--> if I am in the cell of a browse and press the TAB, the focus moves to another widget of the frame.
Please, anybody knows how to navigate the browse on Linux?
That's the sample code I'm using:
DEF VAR campo-a AS INT NO-UNDO. DEF TEMP-TABLE tt-arquivo FIELD nm-arquivo AS CHAR FIELD mm-referencia AS INT FIELD aa-referencia AS INT. DEF QUERY query-recebidas FOR tt-arquivo. DEF BROWSE browse-recebidas QUERY query-recebidas DISPLAY tt-arquivo.nm-arquivo COLUMN-LABEL "Coluna A" tt-arquivo.mm-referencia COLUMN-LABEL "Coluna B" tt-arquivo.aa-referencia COLUMN-LABEL "Coluna C" ENABLE ALL WITH 4 DOWN SEPARATORS. FORM campo-a AT 1 browse-recebidas AT 1 WITH 1 DOWN OVERLAY NO-UNDERLINE FRAME f-principal. CREATE tt-arquivo. CREATE tt-arquivo. CREATE tt-arquivo. OPEN QUERY query-recebidas FOR EACH tt-arquivo. UPDATE campo-a browse-recebidas WITH FRAME f-principal.
Ctrl-G to move to the next enabled cell. Ctrl-U to move to the previous enabled cell.
Thank you, Matt.
The code got that way:
&IF OPSYS = "UNIX" &THEN ON ANY-KEY OF browse-recebidas OR ANY-KEY OF tt-arquivo.nm-arquivo OR ANY-KEY OF tt-arquivo.mm-referencia OR ANY-KEY OF tt-arquivo.aa-referencia DO: /* to the right */ IF KEYFUNCTION(LAST-KEY) = "CURSOR-RIGHT" THEN DO: APPLY 'EDITOR-TAB' TO SELF. /* (CTRL + G) = "EDITOR-TAB" */ RETURN NO-APPLY. END. /* to the left */ IF KEYFUNCTION(LAST-KEY) = "CURSOR-LEFT" THEN DO: APPLY 'BACK-TAB' TO SELF. /* (CTRL + U) = "BACK-TAB" */ RETURN NO-APPLY. END. END. &ENDIF