home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsd / evntshell / Demos / !TestMenu / !TestMenu (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  1995-10-08  |  6.2 KB  |  172 lines

  1.  > <TestMenu$Dir>.!TestMenu
  2. $;" at line "+
  3.  "<EvntShell$Path>ShellLibRT"
  4. shell_FatalError
  5.  "Hourglass_On"
  6.  "Wimp_SlotSize",-1,-1 
  7.  progsize%
  8. pagesize%=1<<10
  9. freespace%=&8000+progsize%
  10. =freespace%+pagesize%
  11. =freespace%
  12. shell_HeapManagerInit("<EvntShell$Path>",freespace%)
  13. shell_Init
  14. =task% = 
  15. shell_WimpInit_I( 200, "Event Shell Menu Test" )
  16.  PROCshell_TraceInit("")
  17.  PROCshell_TraceOn
  18. shell_ResourcesInit
  19. app_init
  20.  -------------------- Initialise Variables ----------------------------
  21. G_closedown%     =
  22.  Set this to TRUE when you want the program to
  23. !                       :
  24. Dchanged%        =
  25.  Used to keep track of whether the data has
  26. K                       :
  27.  been changed. Call PROCfile_changed() when it
  28. G                       :
  29.  has. But if the program does not use data
  30.  H                       :
  31.  files just ignore this variable but do not
  32. !G                       :
  33.  delete it as the program checks it before
  34. "&                       :
  35.  exiting!
  36.  -------------------- Miscelleanous Initialisation --------------------
  37.  "Hourglass_Off"
  38. shell_Error
  39. shell_Action(
  40. shell_Poll_I(0,task%))
  41.  _closedown%
  42. shell_Exit:
  43.  ======================================================================
  44. app_init
  45. SetUp_Windows
  46. SetUp_Menus
  47. SetUp_IconBar
  48. shell_AttachColourPopupMenu(mainw%,08,07,MenuHandle_Colours%,"","")
  49. shell_AttachColourPopupMenu(mainw%,11,10,MenuHandle_Colours%,"","")
  50. _shell_FontMenuSelFN$=""
  51. 8Jdot_state%=0:writable_state%=0:tick_state%=0:BG%=0:FG%=7:fade_state%=0
  52. nr_added%=0
  53. SetUp_IconBar
  54. =Ssicon=
  55. shell_Iconbar(-1,"!"+
  56. shell_GetAppName,"",120,MenuHandle_IconBar%,0,0,0)
  57. shell_AttachHelpTag(-1,sicon,"iconbar")
  58. shell_AttachClickSelect(-1,sicon,"_clickiconbar")
  59. SetUp_Windows
  60. shell_CreateWindowStatic("mainw",mainw%)
  61. SetUp_Menus
  62. MenuCreate_Test
  63. MenuCreate_Colours
  64. MenuCreate_Sub
  65. MenuCreate_FromFile
  66. LinkMenus
  67. MenuCreate_Test
  68.  void%
  69. P<MenuHandle_IconBar%=
  70. shell_MenuNew("Test","Menu_IBar",5)
  71. Q3MenuItem_Info%     =
  72. shell_MenuAdd(0,"Info","")
  73. R6MenuItem_Sub%      =
  74. shell_MenuAdd(0,"SubMenu","")
  75. SCvoid%              =
  76. shell_MenuAdd(0,"Help","_MenuSelect_Help")
  77. TCvoid%              =
  78. shell_MenuAdd(0,"Quit","_MenuSelect_Quit")
  79. shell_AttachMenuDBox(MenuItem_Info%,"progInfo","_PreOpenInfo","")
  80. MenuCreate_Colours
  81.  "MenuUtil_ColourMenu",,"","_MenuSelect_Colours" 
  82.  MenuHandle_Colours%
  83. MenuCreate_Sub
  84.  void%
  85. ^?MenuHandle_Sub%=
  86. shell_MenuNew("SubMenu","Menu_SubMenu",10)
  87. _Hvoid%          =
  88. shell_MenuAdd(0,"Dotted line","_MenuSelect_Dotted")
  89. `Gvoid%          =
  90. shell_MenuAdd(0,"Writable","_MenuSelect_Writable")
  91. a?void%          =
  92. shell_MenuAdd(0,"Tick","_MenuSelect_Tick")
  93. b?void%          =
  94. shell_MenuAdd(0,"Fade","_MenuSelect_Fade")
  95. cCMenuItem_FG%   =
  96. shell_MenuAdd(0,"Foreground","_MenuSelect_FG")
  97. dCMenuItem_BG%   =
  98. shell_MenuAdd(0,"Background","_MenuSelect_BG")
  99. e4MenuItem_Test% =
  100. shell_MenuAdd(0,"Test item","")
  101. fOvoid%          =
  102. shell_MenuAdd(MenuItem_Test%,"Add item","_MenuSelect_Add")
  103. gUvoid%          =
  104. shell_MenuAdd(MenuItem_Test%,"Delete item","_MenuSelect_Delete")
  105. MenuCreate_FromFile
  106. ldMenuHandle_Cars% = 
  107. shell_MenuMakeFromFile( "Cars", "Menu_Cars", "", "<TestMenu$Dir>.menufile" )
  108. shell_AttachPopupMenu(mainw%,5,4,MenuHandle_Cars%,"","")
  109. LinkMenus
  110. shell_AttachSubMenu(MenuItem_FG%,MenuHandle_Colours%,"_MenuWarn_FG")
  111. shell_AttachSubMenu(MenuItem_BG%,MenuHandle_Colours%,"_MenuWarn_BG")
  112. shell_AttachSubMenu(MenuItem_Sub%,MenuHandle_Sub%,"_MenuWarn_Sub")
  113.  ===== Menu_Select routines =====================================
  114. _MenuSelect_Dotted(blk%)
  115. dot_state%=dot_state% 
  116. shell_MenuDotted(MenuItem_Test%,dot_state%)
  117. _MenuSelect_Writable(blk%)
  118. 'writable_state%=writable_state% 
  119. shell_MenuWritable(MenuItem_Test%,writable_state%,20,"")
  120. _MenuSelect_Tick(blk%)
  121. tick_state%=tick_state% 
  122. shell_MenuTick(MenuItem_Test%,tick_state%)
  123. _MenuSelect_Fade(blk%)
  124. fade_state%=fade_state% 
  125. shell_MenuShade(MenuItem_Test%,fade_state%)
  126. _MenuSelect_Add(blk%)
  127.  void%
  128. nr_added%+=1
  129. LMenuItem_New%=
  130. shell_MenuAdd(MenuItem_Test%,"New item #"+
  131.  nr_added%,"")
  132. _MenuSelect_Delete(blk%)
  133. shell_MenuDelete(MenuItem_New%,
  134. nr_added%-=1
  135. _MenuSelect_Colours(decode_blk%)
  136.  parent_handle%,item_pos%
  137.  item_pos%     =decode_blk%!0
  138. !parent_handle%=decode_blk%!24
  139.  parent_handle% 
  140.  MenuItem_FG%:FG%=item_pos%
  141.  MenuItem_BG%:BG%=item_pos%
  142. shell_MenuColours(MenuItem_Test%,FG%,BG%)
  143. shell_MenuTickOnly1(MenuHandle_Colours%,item_pos%)
  144. _MenuSelect_Info
  145. _MenuSelect_Help(blk%)
  146. shell_MessageSendDataLoad(&FFF,"<TestMenu$Dir>.!Help")
  147. _MenuSelect_Quit(blk%)
  148. _closedown%=
  149.  ===== Menu_Warn routines =======================================
  150. _MenuWarn_FG(wh%,ih%)
  151. shell_MenuTickOnly1(MenuHandle_Colours%,FG%)
  152. _MenuWarn_BG(wh%,ih%)
  153. shell_MenuTickOnly1(MenuHandle_Colours%,BG%)
  154. _MenuWarn_Sub(a%,b%)
  155. _MenuWarn_Colours(a%,b%)
  156.  ===== Menu_Maker routines ======================================
  157.  ===== Dialog_PreOpen routines ==================================
  158. _PreOpenInfo(h%)
  159. shell_IconPutData(h%,0,
  160. shell_MessageNoArgs("progInfo0"),0)
  161. shell_IconPutData(h%,1,
  162. shell_MessageNoArgs("progInfo1"),0)
  163. shell_IconPutData(h%,2,
  164. shell_MessageNoArgs("progInfo2"),0)
  165. shell_IconPutData(h%,3,
  166. shell_MessageNoArgs("progInfo3"),0)
  167.  ===== Dialog_PostOpen routines =================================
  168.  ===== Mouse_Click routines =====================================
  169. _clickiconbar(wh%,icon%)
  170. shell_OpenWindowStatic(mainw%)
  171.  ================= End Of User Application ============================
  172.