330 lines
8.1 KiB
Plaintext
330 lines
8.1 KiB
Plaintext
; --------------------------------------------------------------------------------
|
||
; @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
|