Files
Gen4_R-Car_Trace32/2_Trunk/demo/practice/dialogs/dialog_infotext.cmm
2025-10-14 09:52:32 +09:00

330 lines
8.1 KiB
Plaintext
Raw Blame History

; --------------------------------------------------------------------------------
; @Title: Example for complex dialog with an INFOTEXT element
; @Description:
; Shows an interactive dialog to change the parameters of the INFOTEXT element
; @Keywords: practice, dialog, infotext, array, user command
; @Author: SME
; @Copyright: (C) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: dialog_infotext.cmm 18687 2021-12-15 13:32:29Z rweiss $
LOCAL &resetIcon &closeIcon &addIcon &delIcon
LOCAL &parColor &parStyle &parFont &parHScroll &parBorder
LOCAL &infoTxt &addTxt &iniTxt &addTxtCnt &infoParams &infoValue
LOCAL &oldIdx &newIdx &setState
LOCAL &tmp
Var.NEW char[5][10] \varColor
Var.Assign \varColor[0]="GRay"
Var.Assign \varColor[1]="WHite"
Var.Assign \varColor[2]="LightGray"
Var.Assign \varColor[3]="DarkGray"
Var.Assign \varColor[4]="STicker"
Var.NEW char[4][10] \varStyle
Var.Assign \varStyle[0]="NoBorder"
Var.Assign \varStyle[1]="SImple"
Var.Assign \varStyle[2]="SUnken"
Var.Assign \varStyle[3]="RAised"
Var.NEW char[5][10] \varFont
Var.Assign \varFont[0]="Variable1"
Var.Assign \varFont[1]="Fixed1"
Var.Assign \varFont[2]="Fixed2"
Var.Assign \varFont[3]="Fixed3"
Var.Assign \varFont[4]="Fixed4"
Var.NEW char[2][10] \varHScroll
Var.Assign \varHScroll[0]=""
Var.Assign \varHScroll[1]="HScroll"
&addIcon="[=CVlT5$yZwd3$1Ja$zy780KWfP1GJ802$$RpWU020J9Vk0$Vf2gPlw2kUF0pZKxm6GTx50Jzf04]"
&delIcon="[=GVl@$vSxHUX5Lh184ziysbUV$1z5x$f@7Rl7V$0Km$EdfKVw2jkDt070OC0s$$VIX5V0140VFR24ZM]"
&resetIcon="[=GVl@MvSxMUzURV3D8oP2wjliDR3tV32tVRRFUDt97NX3Vt08D0x30x0ZW6t3lUN$mxcmU3$7tE010200080102040SpWC3hi0X2h5Zil0D7tUW$5TFtyWM0R1050F00]"
&closeIcon="[=Anazz@8gh2$EoIPwquQssSkoSQsv$o$$XYDnlDcUteig9$w$$S0t60N10NKKqnm0]"
&addTxt=""
&addTxt="&addTxt"+"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna"+CONV.CHAR(10.)
&addTxt="&addTxt"+"aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no"+CONV.CHAR(10.)
&addTxt="&addTxt"+"sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam"+CONV.CHAR(10.)
&addTxt="&addTxt"+"nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et"+CONV.CHAR(10.)
&addTxt="&addTxt"+"justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
&addTxtCnt=0.
&iniTxt=""+CONV.CHAR(10.)+CONV.CHAR(10.)+" Press 'Add text' to add some more text."+CONV.CHAR(10.)+" Use the above elements to change the"+CONV.CHAR(10.)+" parameters of this INFOTEXT element."
&parColor="0"
&parStyle="0"
&parFont="0"
&parHScroll="0"
&parBorder="0"
&setState="1"
&tmp=""
&infoParams=""
&infoValue=0.
&infoTxt="&iniTxt"
&oldIdx=0x0
&newIdx=0x0
; --------------------------------------------------------------------------------
; Commandos
;
ON CMD CHGCOLOR GOSUB
(
LOCAL &color
ENTRY &color
&parColor="&color"
GOSUB ShowDialog
RETURN
)
ON CMD CHGSTYLE GOSUB
(
LOCAL &style
ENTRY &style
&parStyle="&style"
GOSUB ShowDialog
RETURN
)
ON CMD CHGFONT GOSUB
(
LOCAL &font
ENTRY &font
&parFont="&font"
GOSUB ShowDialog
RETURN
)
ON CMD CHGHSCRL GOSUB
(
LOCAL &hscroll
ENTRY &hscroll
&parHScroll="&hscroll"
GOSUB ShowDialog
RETURN
)
ON CMD CHGBORDER GOSUB
(
LOCAL &border
ENTRY &border
&parBorder="&border"
GOSUB ShowDialog
RETURN
)
ON CMD RESPARAM GOSUB
(
LOCAL &border
ENTRY &border
&parColor="0"
&parStyle="0"
&parFont="0"
&parHScroll="0"
&parBorder="0"
&setState="1"
&infoTxt="&iniTxt"
&addTxtCnt=0.
GOSUB ShowDialog
RETURN
)
ON CMD SETSTATE GOSUB
(
LOCAL &state
ENTRY &state
&setState="&state"
GOSUB ShowDialog
RETURN
)
ON CMD ADDTXT GOSUB
(
IF (&addTxtCnt<3.)
(
If (&addTxtCnt==0.)
(
&infoTxt="&addTxt"
)
ELSE
(
&infoTxt="&infoTxt"+CONV.CHAR(10.)+"&addTxt"
)
&addTxtCnt=&addTxtCnt+1.
GOSUB ShowDialog
)
RETURN
)
ON CMD DELTXT GOSUB
(
&infoTxt="&iniTxt"
&addTxtCnt=0.
GOSUB ShowDialog
RETURN
)
;
; --------------------------------------------------------------------------------
GOSUB ShowDialog
STOP
; --------------------------------------------------------------------------------
; Subroutine to show new dialog and delete dialog
;
ShowDialog:
&infoParams=""+Var.STRing(\varColor[&parColor])
&infoParams="&infoParams "+Var.STRing(\varStyle[&parStyle])
&infoParams="&infoParams "+Var.STRing(\varFont[&parFont])
&infoParams="&infoParams "+Var.STRing(\varHScroll[&parHScroll])
&infoParams="&infoParams "+"&parBorder"+"."
&infoValue=(&parColor*0x01)|(&parStyle*0x10)|(&parFont*0x100)|(&parBorder*0x1000)|(&parHScroll*0x10000)
&oldIdx=&newIdx
&newIdx=&newIdx+0x1
&tmp="DLG&newIdx"
WINPOS 5. 5.,,,,,&tmp
DIALOG
(&+
HEADER "INFOTEXT Examples"
POS 1. 0. 72.5 1.5
LTEXT "Interactive INFOTEXT parameter settings"
POS 1. 1.5 72.5 1.
TEXTBUTTON ""+CONV.CHAR(2.)+CONV.CHAR(77.)+"INFOTEXT <string> [GR|WH|LG|DG|TT]<5D><>[NB|SI|SU|RA]<5D><>[V1|F1|F2|F3|F4]<5D><>[HS]<5D><>[<border>.]" ""
POS 0. 2.5 73.5 1.
LINE ""
POS 1. 3.25 12.5 6.75
BOX "Background"
POS 2.5 4.25 9.5 1.
Color.0: CHOOSEBOX "GRay" "CHGCOLOR 0"
Color.1: CHOOSEBOX "WHite" "CHGCOLOR 1"
Color.2: CHOOSEBOX "LightGray" "CHGCOLOR 2"
Color.3: CHOOSEBOX "DarkGray" "CHGCOLOR 3"
Color.4: CHOOSEBOX "STicker" "CHGCOLOR 4"
POS 14. 3.25 12.5 6.75
BOX "Border style"
POS 15.5 4.25 9.5 1.
Style.0: CHOOSEBOX "NoBorder" "CHGSTYLE 0"
Style.1: CHOOSEBOX "SImple" "CHGSTYLE 1"
Style.2: CHOOSEBOX "SUnken" "CHGSTYLE 2"
Style.3: CHOOSEBOX "RAised" "CHGSTYLE 3"
POS 27. 3.25 12.5 6.75
BOX "Font"
POS 28.5 4.25 9.5 1.
Font.0: CHOOSEBOX "Variable1" "CHGFONT 0"
Font.1: CHOOSEBOX "Fixed1" "CHGFONT 1"
Font.2: CHOOSEBOX "Fixed2" "CHGFONT 2"
Font.3: CHOOSEBOX "Fixed3" "CHGFONT 3"
Font.4: CHOOSEBOX "Fixed4" "CHGFONT 4"
POS 40. 3.25 13.5 6.75
BOX "Horiz. Scrollbar"
POS 41.5 4.25 9.5 1.
Hscroll.0: CHOOSEBOX "Off" "CHGHSCRL 0"
Hscroll.1: CHOOSEBOX "On" "CHGHSCRL 1"
POS 54. 3.25 18.5 6.75
BOX "Inner border"
POS 55.5 4.25 6.5 1.
Border.0: CHOOSEBOX "0 pixel" "CHGBORDER 0"
Border.1: CHOOSEBOX "1 pixel" "CHGBORDER 1"
Border.2: CHOOSEBOX "2 pixel" "CHGBORDER 2"
Border.3: CHOOSEBOX "3 pixel" "CHGBORDER 3"
POS 63.5 4.25 6.5 1.
Border.4: CHOOSEBOX "4 pixel" "CHGBORDER 4"
Border.5: CHOOSEBOX "5 pixel" "CHGBORDER 5"
Border.6: CHOOSEBOX "6 pixel" "CHGBORDER 6"
Border.7: CHOOSEBOX "7 pixel" "CHGBORDER 7"
POS 1. 10. 49. 7.
BOX "INFOTEXT ""Lorem ipsum ..."" &infoParams"
POS 2. 11. 47. 5.0
; --------------------------------------------------------------------------------
ITEXT: INFOTEXT "&infoTxt" &infoParams
; --------------------------------------------------------------------------------
POS 51. 10. 21.5 3.
BOX "WIN_DIALOG_INFOTEXT"
POS 52. 11. 19.5 1.
TEXT "command=(char*) &infoValue"
POS 51. 12.75 21.5 2.75
BOX "State"
POS 52.5 13.75 7.5 1.
btnEna.1: CHOOSEBOX "Enabled" "SETSTATE 1"
POS 61. 13.75 7.5 1.
btnEna.0: CHOOSEBOX "Disabled" "SETSTATE 0"
POS 51. 15.25 4. 1.25
btnAddTxt: BUTTON "&addIcon" "ADDTXT"
POS 55.5 15.25 4. 1.25
btnDelTxt: BUTTON "&delIcon" "DELTXT"
POS 62. 15.25 4. 1.25
BUTTON "&resetIcon" "RESPARAM"
POS 68.5 15.25 4. 1.25
BUTTON "&closeIcon" "DIALOG.END"
CLOSE "DIALOG.END"
)
DIALOG.SET Color.&parColor
DIALOG.SET Style.&parStyle
DIALOG.SET Font.&parFont
DIALOG.SET Hscroll.&parHScroll
DIALOG.SET Border.&parBorder
DIALOG.SET btnEna.&setState
IF (OS.VERSION(0)>=0x10)
(
DIALOG.Disable btnEna.0
DIALOG.Disable btnEna.1
)
IF (&addTxtCnt>2.)
(
DIALOG.DISable btnAddTxt
)
IF (&addTxtCnt==0.)
(
DIALOG.Disable btnDelTxt
)
IF (&setState==0.)
(
DIALOG.Disable ITEXT
)
&tmp="DLG&oldIdx"
if (WIN.EXIST(&tmp))
(
DIALOG.SELect &tmp
DIALOG.END
)
RETURN
;
; --------------------------------------------------------------------------------
STOP
ENDDO