first commit
This commit is contained in:
+117
@@ -0,0 +1,117 @@
|
||||
FUNCTION SAVEGETS
|
||||
// PRESERVE ALL THE GETS GENERATED
|
||||
|
||||
LOCAL SAVELIST
|
||||
|
||||
SAVELIST := ACLONE(GETLIST)
|
||||
RETURN SAVELIST
|
||||
|
||||
***************************
|
||||
FUNCTION RESTGETS(SAVELIST, ACTIVE_ELEM)
|
||||
// RESTORE ALL THE SAVED GETS
|
||||
// AND SET THE FOCUS ON ACTIVE ELEM
|
||||
|
||||
|
||||
LOCAL L
|
||||
|
||||
GETLIST := ACLONE(SAVELIST)
|
||||
IF ACTIVE_ELEM = NIL
|
||||
ELSE
|
||||
IF ACTIVE_ELEM > 0 .AND. ACTIVE_ELEM <= LEN(GETLIST)
|
||||
FOR L = 1 TO LEN(GETLIST)
|
||||
IF L = ACTIVE_ELEM
|
||||
GETLIST[L]:SETFOCUS()
|
||||
ELSE
|
||||
GETLIST[L]:KILLFOCUS() // TERMINATE THE GET IF ACTIVE
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN GETLIST
|
||||
|
||||
***************************
|
||||
FUNCTION FIND_GETELEM(VAR_NAME)
|
||||
// GET THE ELEMENT FOR VAR_NAME IN THE GETLIST
|
||||
|
||||
LOCAL ELEM
|
||||
ELEM = ASCAN(GETLIST, {|XX| XX[7] == VAR_NAME})
|
||||
RETURN ELEM
|
||||
|
||||
|
||||
|
||||
***************************
|
||||
FUNCTION ACTIVE_GET
|
||||
// GET THE ELEMENT FOR THE ACTIVE GET IN THE GETLIST
|
||||
|
||||
LOCAL ELEM, X, SEARCH_VAL, MSUBSCRIPT
|
||||
|
||||
X := GETACTIVE() // GET CURRENT ACTIVE GET
|
||||
IF EMPTY(X) // NOT IN A READ!
|
||||
RETURN 0
|
||||
ENDIF
|
||||
|
||||
MSUBSCRIPT = X:SUBSCRIPT
|
||||
SEARCH_VAL = X[7] // VARIABLE NAME TO SEARCH FOR IN GETLIST
|
||||
|
||||
|
||||
IF EMPTY(MSUBSCRIPT)
|
||||
ELEM = ASCAN(GETLIST, {|XX| XX[7] == SEARCH_VAL})
|
||||
ELSE
|
||||
SS1 = MSUBSCRIPT[1]
|
||||
SS2 = MSUBSCRIPT[2]
|
||||
ELEM = ASCAN(GETLIST, {|XX| (XX[7] == SEARCH_VAL .AND. SS1==XX[2,1] .AND. SS2==XX[2,2]) })
|
||||
ENDIF
|
||||
|
||||
RETURN ELEM
|
||||
|
||||
|
||||
|
||||
|
||||
********************************************************
|
||||
FUNCTION UPDATE_GETS(MARR)
|
||||
// UPDATE THE GET INFO ON THE SCREEN
|
||||
|
||||
LOCAL SAVESEL := SELECT(), EVALVAL
|
||||
LOCAL NCOLOR, NPOS, VAR, VALU
|
||||
LOCAL ELEM, SEARCH_VAR
|
||||
|
||||
ELEM = ACTIVE_GET() // GET ELEMENT OF ACTIVE GET IN THE GETLIST
|
||||
IF ELEM > 0
|
||||
|
||||
GETLIST[ELEM]:KILLFOCUS() // TERMINATE THE CURRENT GET
|
||||
FOR L = 1 TO LEN(MARR)
|
||||
VAR = TRIM(MARR[L,1])
|
||||
SEARCH_VAR = VAR
|
||||
IF LEN(MARR[L]) = 2
|
||||
SEARCH_VAR = TRIM(MARR[L,2])
|
||||
ENDIF
|
||||
VALU = &VAR
|
||||
|
||||
// READMODAL WILL ONLY DISPLAY() CHARACTER VALUES!
|
||||
DO CASE
|
||||
CASE VALTYPE(VALU) = 'N'
|
||||
VALU = STR(VALU)
|
||||
|
||||
CASE VALTYPE(VALU) = 'D'
|
||||
VALU = DTOC(VALU)
|
||||
|
||||
ENDCASE
|
||||
|
||||
|
||||
|
||||
ELEM = ASCAN(GETVARS, {|X| TRIM(X[3]) == SEARCH_VAR})
|
||||
IF ELEM > 0 .AND. !EMPTY(GETLIST[ELEM]:BUFFER)
|
||||
GETLIST[ELEM]:SETFOCUS() // MUST SET FOCUS TO DO THE FOLLOWING
|
||||
NCOLOR = GETLIST[ELEM]:COLORSPEC() // GET THE CURRENT COLORS
|
||||
GETLIST[ELEM]:BUFFER = VALU // STUFF THE BUFFER
|
||||
GETLIST[ELEM]:ASSIGN() // UPDATE THE GET VAR
|
||||
GETLIST[ELEM]:DISPLAY() // PUT VALUE ON THE SCREEN (DUMPS BUFFER)
|
||||
GETLIST[ELEM]:KILLFOCUS() // TERMINATE THE GET
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
SELECT(SAVESEL)
|
||||
RETURN .T.
|
||||
|
||||
Reference in New Issue
Block a user