- UI_CUSTOM_POPUP_INFIELD

If you cannot define a VALUES list in the parameter script because the parameters may not be used there (e.g., values from REQUESTs), you can also define the values list with the UI_CUSTOM_POPUP_INFIELD command in the user interface.

The examples in the manual are limited to hierarchical, multi-level structures. Therefore, here is an example without hierarchy levels with a number sequence, as with a classic VALUES command:

GDL
FOR i = 1 TO int_anz
	PUT i
NEXT i

UI_CUSTOM_POPUP_INFIELD "int_teilen_feld", dx, dy, inL, inH, 0, 0, 1, "", ! storeHiddenId, treeDepth, groupingMethod, selectedValDescription GET(NSP)

- Set label to origin

GDL
add2 LABEL_POSITION[2][1] + LABEL_POSITION[3][1],
	 LABEL_POSITION[2][2] + LABEL_POSITION[3][2]

- Rotation undo routine for windows

Window rotation routine (JS): 2D + 3D, to neutralize all rotations, mirroring and shifting:
a) 2D

GDL
! ---------------------------------------------------------------------- !
! ---------------------------------------------------------------------- !
! ----- 2016 b-prisma R O T A T I O N   U N D O   R O U T I N E -------- !

!	TEXT2 0,0,SYMB_MIRRORED != V~

!	TEXT2 0,-0.2,WIDO_REVEAL_SIDE != E~

!	TEXT2 0,-0.4,SYMB_ROTANGLE != W~

!	TEXT2 0,0.2, W~

bRotated = round_int (SYMB_ROTANGLE) = 180
IF NOT(SYMB_MIRRORED) AND NOT(WIDO_REVEAL_SIDE) AND NOT(bRotated) THEN		! 0, 0, 0
	ADD2 0, 0
	MUL2 1, 1	
ENDIF

IF SYMB_MIRRORED AND NOT(WIDO_REVEAL_SIDE) AND NOT(bRotated) THEN		! 1, 0, 0
	ADD2 0, 0
	MUL2 1, 1	! K A N N   M A N   S P I E G E L N
ENDIF

IF NOT(SYMB_MIRRORED) AND NOT(WIDO_REVEAL_SIDE) AND bRotated THEN		! 0, 0, 1
	MUL2 -1, -1
	ADD2 0,  - ac_wido_sill * 2 + C_
ENDIF

IF SYMB_MIRRORED AND WIDO_REVEAL_SIDE AND bRotated THEN					! 1, 1, 1
	MUL2 -1, -1
	ADD2 0, gs_frame_thk
ENDIF

IF SYMB_MIRRORED AND WIDO_REVEAL_SIDE AND NOT(bRotated) THEN			! 1, 1, 0
	ADD2 0, - ac_wido_sill * 2 + C_ - gs_frame_thk
	MUL2 1, 1
ENDIF

IF SYMB_MIRRORED AND NOT(WIDO_REVEAL_SIDE) AND bRotated THEN			! 1, 0, 1
	MUL2 -1, -1
	ADD2 0, - ac_wido_sill * 2 + C_ 
ENDIF

IF NOT(SYMB_MIRRORED) AND WIDO_REVEAL_SIDE AND NOT(bRotated) THEN		! 0, 1, 0
	ADD2 0, - ac_wido_sill * 2 + C_ - gs_frame_thk
	MUL2 1, 1
ENDIF

IF NOT(SYMB_MIRRORED) AND WIDO_REVEAL_SIDE AND bRotated THEN			! 0, 1, 1
	MUL2 -1, -1
	ADD2 0,  gs_frame_thk
ENDIF

! ............

DEL 2

! ---------------------------------------------------------------------- ! 
! ---------------------------------------------------------------------- !

b) 3D

GDL
! ---------------------------------------------------------------------- !
! ---------------------------------------------------------------------- !

! ----- 2016 b-prisma R O T A T I O N   U N D O   R O U T I N E -------- !

bRotated = round_int (SYMB_ROTANGLE) = 180
IF NOT(SYMB_MIRRORED) AND NOT(WIDO_REVEAL_SIDE) AND NOT(bRotated) THEN		! 0, 0, 0
	ADDz 0
	MULz 1
ENDIF

IF SYMB_MIRRORED AND NOT(WIDO_REVEAL_SIDE) AND NOT(bRotated) THEN		! 1, 0, 0
	ADDz 0
	MULz 1		! K A N N   M A N   S P I E G E L N
ENDIF

IF NOT(SYMB_MIRRORED) AND NOT(WIDO_REVEAL_SIDE) AND bRotated THEN		! 0, 0, 1
	MUL -1, 1,  -1
	ADDz  ac_wido_sill * 2 - C_
ENDIF

IF SYMB_MIRRORED AND WIDO_REVEAL_SIDE AND bRotated THEN					! 1, 1, 1
	MUL -1, 1,  -1
	ADDz - gs_frame_thk
ENDIF

IF SYMB_MIRRORED AND WIDO_REVEAL_SIDE AND NOT(bRotated) THEN			! 1, 1, 0
	ADDz  ac_wido_sill * 2 - C_ + gs_frame_thk
	MULz 1
ENDIF

IF SYMB_MIRRORED AND NOT(WIDO_REVEAL_SIDE) AND bRotated THEN			! 1, 0, 1
	MUL -1, 1,  -1
	ADDz  ac_wido_sill * 2 - C_ 
ENDIF

IF NOT(SYMB_MIRRORED) AND WIDO_REVEAL_SIDE AND NOT(bRotated) THEN		! 0, 1, 0
	ADDz ac_wido_sill * 2 - C_ + gs_frame_thk
	MULz 1
ENDIF

IF NOT(SYMB_MIRRORED) AND WIDO_REVEAL_SIDE AND bRotated THEN			! 0, 1, 1
	MUL -1, 1,  -1
	ADDz - gs_frame_thk
ENDIF

! ............

DEL 2

! ---------------------------------------------------------------------- ! 
! -------------------------------------------------------------------- !