Interpretando Eventos grid notify.
Ejemplo Interpretando GML.NOTIFY% = 9 / GML_TPL.FLAG% = 3 Inicia celda edit:
En este ejemplo el mouse tuvo un doble click izquierdo en la celda localizada
en la fila 2, columna 4 en el grid principal del set 1. La plantilla GML_TPL$
ha sido preparada por el programa GML_M y además también contiene
la fila seleccionada y los atributos de los datos. En este caso, el pre-proceso
ha realizado el equivalente a lo siguiente:
GML.SET%=1
CALL "GML::TPL_PREP"
GML_TPL.ROW_N%=2
GML_TPL.COL_N%=4
CALL"GML::FETCH"
La aplicación ha sido realizada para interpretar este evento como un
inicio de petición de edit. Desde que el pre-proceso realizado por el
programa GML_M ha preparado la plantilla GML_TPL$ y la pasó directamente
al programa GML con un llamado al procedimiento START_EDIT:
IF EVENT.OBJTYPE%=107 THEN IF EVENT.CODE$="N"
THEN GOSUB GRID_MANAGER
GRID_MANAGER:
CALL "GML_M",SYSGUI,EVENT$,NOTICE$,GML_SET$,GML_TPL$,GML$,
GML_GM$[ALL],GML_GC$[ALL],GML_GR$[ALL]
SWITCH GML.NOTIFY%
CASE 9
SWITCH GML_TPL.FLAG%
CASE 3
CALL
"GML::START_EDIT"
BREAK
SWEND
SWEND
Si la aplicación fue programada para iniciar el inicio de edit en respuesta
al doble click del mouse, presionando la tecla enter o presionando una tecla
en una celda, la lógica aparece como sigue:
SWITCH GML.NOTIFY%
CASE 9
SWITCH GML_TPL.FLAG%
CASE 3
CASE 9
CASE 12
CALL
"GML::START_EDIT"
BREAK
SWEND
SWEND
|