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