GML Look-Up Manager (LUM) : Start-Up
EL GML LUM es configurado durante la aplicación de start-up como sigue:
Paso1: AL start-up, asigna la GML_INIT$ variable GML_INIT.LUM_QTY% la cantidad
de look-up control a ser usados por la aplicación.
4130 LET GML_QTY%=2
4140 CALL "GML::START"
4150 LET GML_INIT.MAIN_ID%[1]=5001
4160 LET GML_INIT.COL_HEADER_ID%[1]=5002
4170 LET GML_INIT.ROW_HEADER_ID%[1]=0
4180 LET GML_INIT.SYSGUI%[1]=SYSGUI%
4190 LET GML_INIT.CONTEXT%[1]=1
4200 LET GML_INIT.MAIN_ID%[2]=5021
4210 LET GML_INIT.COL_HEADER_ID%[2]=5022
4220 LET GML_INIT.ROW_HEADER_ID%[2]=5023
4230 LET GML_INIT.SYSGUI%[2]=SYSGUI%
4240 LET GML_INIT.CONTEXT%[2]=2
4250 LET GML_INIT.LUM_QTY%=1
4260 CALL "GML_I",SYSGUI,GML_INIT$,GML$,GML_GM$[ALL],GML_GC$[ALL],
GML_GR$[ALL],GML_SET$
Paso 2: Siguiendo el llamado al programa GML_I, inicializa la plantilla LUM
por la ejecución del siguiente procedimiento:
4340 REM +-----------------------+
4350 REM ! OBTAIN LUM TEMPLATE !
4360 REM +-----------------------+
4370 CALL "GML::INIT_LUM_TPL"
Paso 3: Asigna valores a las variables de plantilla GML_LUM$ como son apropiadas:
4380 REM +---------------------+
4390 REM ! LU #1 INFORMATION !
4400 REM +---------------------+
4410 GML_LUM.LU_ID%[1]=122
4420 GML_LUM.SET%[1]=1
4430 GML_LUM.COL%[1]=2
4440 GML_LUM.LOC%[1]=0
4450 GML_LUM.SCOPE%[1]=0
Nota:
El IC look-up control, valor de 122 en el GML_LUM.LU_ID%[1] se refiere a un
tipo de lista botón o lista edit control que existe a la vez de la inicialización
de plantilla GML_LUM$. Este control debe existir en el mismo contexto que el
grid control en el set grid valor asignado a la variable GML_LUM.SET%[1]. En
adición el control podría ser visible, pero localizado más
allá del ancho de la pantalla. Como un ejemplo, si el ancho de la ventana
es de 550 pixeles, el valor de x del look-up control podría ser más
grande que 550.
Paso 4: Inicia el Look-up Manager
4620 REM +--------------------+
4630 REM ! START LU MANAGER !
4640 REM +--------------------+
4650 CALL "GML::LUM_START"
GML Look-Up Manager (LUM) : Desplegando el The Look-Up Control
Cuando el evento grid 14 (click izquierdo), 15 (click izquierdo en la ceda)
o 18 (click derecho) ocurre en el grid principal (miembro 1=}) del set grid,
la plantilla GML_TPL$, variable GML_TPL.INFO$ contiene información relacionando
la localización del click.
Esta información puede ser pasada en el look-up manager para desplegar
el look-up control en la fila donde el evento fue generado. La actual posición
del control es determinada por los valores de las variables contenidas en la
plantilla GML_LUM$ que fueron inicializadas en la aplicación start-up.
En el siguiente ejemplo, GML.NOTIFY% 18 ha sido usado como el evento que activa
(muestra) el look-up control. Si hay un control asociado con la información
contenida en la plantilla GML_TPL$, ese control es desplegado. Sin embargo,
si el look-up control no es asociado con la información GML_TPL$, la
llamada al LUM_DISPLAY no tendrá efecto.
7170 REM +------------------+
7180 REM ! RIGHT CLICK !
7190 REM ! GML.NOTIFY%=18 !
7200 REM +------------------+
7210 CASE 18
7220 SWITCH GML_TPL.MEMBER%
7230 CASE 1
7240 IF GML_TPL.FLAG%=1 THEN CALL "GML::LUM_DISPLAY"
7250 BREAK
7260 CASE 2
|