CallDataTest4.src 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. XCOMM! CDE_INSTALLATION_TOP/bin/dtksh
  2. XCOMM $XConsortium: CallDataTest4.src /main/3 1996/04/23 20:17:51 drk $
  3. XCOMM #########################################################################
  4. XCOMM (c) Copyright 1993, 1994 Hewlett-Packard Company
  5. XCOMM (c) Copyright 1993, 1994 International Business Machines Corp.
  6. XCOMM (c) Copyright 1993, 1994 Sun Microsystems, Inc.
  7. XCOMM (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
  8. XCOMM Novell, Inc.
  9. XCOMM #########################################################################
  10. XCOMM
  11. XCOMM This sample shell script demonstrates how the CB_WIDGET and CB_CALL_DATA
  12. XCOMM convenience environment variables can be referenced within a callback
  13. XCOMM function.
  14. XCOMM
  15. XCOMM PushButton Callback: Forces the scale to reset to the origin
  16. ResetScale()
  17. {
  18. XmScaleSetValue $SCALE 0
  19. }
  20. XCOMM PushButton Callback: Forces the scale to its minimum value
  21. SetScaleMin()
  22. {
  23. XmScaleSetValue $SCALE -200
  24. }
  25. XCOMM PushButton Callback: Forces the scale to its maximum value
  26. SetScaleMax()
  27. {
  28. XmScaleSetValue $SCALE 200
  29. echo "CB Widget = "$CB_WIDGET
  30. echo "CallData = "$CB_CALL_DATA
  31. echo "CallData.Reason = "${CB_CALL_DATA.REASON}
  32. echo "CallData.Event = "${CB_CALL_DATA.EVENT}
  33. echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
  34. echo "CallData.Event.Xbutton.Type = "${CB_CALL_DATA.EVENT.XBUTTON.TYPE}
  35. echo "CallData.Event.Xbutton.Serial = "${CB_CALL_DATA.EVENT.XBUTTON.SERIAL}
  36. echo "CallData.Event.Xbutton.Send_Event = "${CB_CALL_DATA.EVENT.XBUTTON.SEND_EVENT}
  37. echo "CallData.Event.Xbutton.Display = "${CB_CALL_DATA.EVENT.XBUTTON.DISPLAY}
  38. echo "CallData.Event.Xbutton.Window = "${CB_CALL_DATA.EVENT.XBUTTON.WINDOW}
  39. echo "CallData.Event.Xbutton.Root = "${CB_CALL_DATA.EVENT.XBUTTON.ROOT}
  40. echo "CallData.Event.Xbutton.Subwindow = "${CB_CALL_DATA.EVENT.XBUTTON.SUBWINDOW}
  41. echo "CallData.Event.Xbutton.Time = "${CB_CALL_DATA.EVENT.XBUTTON.TIME}
  42. echo "CallData.Event.Xbutton.X = "${CB_CALL_DATA.EVENT.XBUTTON.X}
  43. echo "CallData.Event.Xbutton.Y = "${CB_CALL_DATA.EVENT.XBUTTON.Y}
  44. echo "CallData.Event.Xbutton.X_root = "${CB_CALL_DATA.EVENT.XBUTTON.X_ROOT}
  45. echo "CallData.Event.Xbutton.Y_root = "${CB_CALL_DATA.EVENT.XBUTTON.Y_ROOT}
  46. echo "CallData.Event.Xbutton.State = "${CB_CALL_DATA.EVENT.XBUTTON.STATE}
  47. echo "CallData.Event.Xbutton.Button = "${CB_CALL_DATA.EVENT.XBUTTON.BUTTON}
  48. echo "CallData.Event.Xbutton.Same_Screen = "${CB_CALL_DATA.EVENT.XBUTTON.SAME_SCREEN}
  49. echo
  50. }
  51. XCOMM Scale Callback: Invoked when the user interactively modified the scale value
  52. ScaleValueChanged()
  53. {
  54. XmScaleGetValue $CB_WIDGET VALUE
  55. echo "New Scale Value = "$VALUE
  56. echo "CB Widget = "$CB_WIDGET
  57. echo "CallData = "$CB_CALL_DATA
  58. echo "CallData.Value = "${CB_CALL_DATA.VALUE}
  59. echo "CallData.Event = "${CB_CALL_DATA.EVENT}
  60. echo "CallData.Event.Xany.Type = "${CB_CALL_DATA.EVENT.XANY.TYPE}
  61. echo "CallData.Event.Type = "${CB_CALL_DATA.EVENT.TYPE}
  62. echo "CallData.Reason = "${CB_CALL_DATA.REASON}
  63. echo
  64. }
  65. XCOMM ###################### Create the Main UI ###############################
  66. XtInitialize TOPLEVEL command1 Command1 "$0" "$@"
  67. XtCreateManagedWidget FORM form XmForm $TOPLEVEL
  68. XtCreateManagedWidget SCALE scale XmScale $FORM \
  69. showValue:True \
  70. orientation:HORIZONTAL \
  71. maximum:200 \
  72. minimum:-200 \
  73. topAttachment:ATTACH_FORM \
  74. topOffset:10 \
  75. leftAttachment:ATTACH_FORM \
  76. leftOffset:10 \
  77. rightAttachment:ATTACH_FORM \
  78. rightOffset:10
  79. XtAddCallback $SCALE valueChangedCallback ScaleValueChanged
  80. XtCreateManagedWidget SEP sep XmSeparator $FORM \
  81. topAttachment:ATTACH_WIDGET \
  82. topWidget:$SCALE \
  83. topOffset:10 \
  84. leftAttachment:ATTACH_FORM \
  85. rightAttachment:ATTACH_FORM
  86. XtCreateManagedWidget PB pb XmPushButton $FORM \
  87. labelString:"Reset Scale" \
  88. topAttachment:ATTACH_WIDGET \
  89. topOffset:10 \
  90. topWidget:$SEP \
  91. bottomAttachment:ATTACH_FORM \
  92. bottomOffset:10 \
  93. leftAttachment:ATTACH_POSITION \
  94. leftPosition:10 \
  95. rightAttachment:ATTACH_POSITION \
  96. rightPosition:30
  97. XtAddCallback $PB activateCallback ResetScale
  98. XtCreateManagedWidget PB2 pb XmPushButton $FORM \
  99. labelString:"Set Scale Max" \
  100. topAttachment:ATTACH_WIDGET \
  101. topOffset:10 \
  102. topWidget:$SEP \
  103. bottomAttachment:ATTACH_FORM \
  104. bottomOffset:10 \
  105. leftAttachment:ATTACH_POSITION \
  106. leftPosition:40 \
  107. rightAttachment:ATTACH_POSITION \
  108. rightPosition:60
  109. XtAddCallback $PB2 activateCallback SetScaleMax
  110. XtCreateManagedWidget PB3 pb XmPushButton $FORM \
  111. labelString:"Set Scale Min" \
  112. topAttachment:ATTACH_WIDGET \
  113. topOffset:10 \
  114. topWidget:$SEP \
  115. bottomAttachment:ATTACH_FORM \
  116. bottomOffset:10 \
  117. leftAttachment:ATTACH_POSITION \
  118. leftPosition:70 \
  119. rightAttachment:ATTACH_POSITION \
  120. rightPosition:90
  121. XtAddCallback $PB3 activateCallback SetScaleMin
  122. XtRealizeWidget $TOPLEVEL
  123. XtMainLoop