- UI_CUSTOM_POPUP_INFIELD
Wenn man im Parameter-Script keine VALUES-Liste definieren kann, weil die Parameter eventuell dort nicht verwendet werden dürfen (z.B. Werte aus REQUESTs), kann man die Values-Liste auch mit dem Befehl UI_CUSTOM_POPUP_INFIELD im User Interface definieren.
Die Beispiele im Handbuch beschränken sich auf hierarchische, mehrfach gegliederte, deswegen hier ein Beispiel ohne Hierarchiestufen mit einer Zahlenfolge, wie bei einem klassischen VALUES-Befehl:
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)
- Etikett auf Ursprung setzen
GDL
add2 LABEL_POSITION[2][1] + LABEL_POSITION[3][1],
LABEL_POSITION[2][2] + LABEL_POSITION[3][2]
- Rotation Undo Routine für Fenster
Fenster Rotations-Routine (JS): 2D + 3D, um sämtliche Drehungen, Spiegelungen und Verschiebungen zu neutralisieren:
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
! ---------------------------------------------------------------------- !
! -------------------------------------------------------------------- !