home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / education / b / type / !Type / !Type (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1996-09-26  |  82KB  |  2,758 lines

  1.  > <Type$Dir>.!Type 
  2.  Squished by Lofty's !Shrink vsn 3.02 on 26-Sep-96 
  3. &406C2:
  4. " at line: ";
  5. &406C0:
  6. &400EC,-1,-1
  7. xF%:wF%=1<<&A:SE%=&8000+xF%:
  8. =SE%+wF%:
  9. =SE%:
  10. JA("<Obey$Dir>.",SE%):
  11. _A:wD%=
  12. WA(&C8,"Event Shell Program"):
  13. bA:_closedown%=
  14. :GG%=
  15. &406C1:
  16. dA(0,wD%)):
  17. _closedown%:
  18. g%:qE%=
  19. E("MTIBar"),"",3):hF%=
  20. E("Info"),""):g%=
  21. E("Quit"),"_MenuSelect_Quit"):
  22. ZA(hF%,"progInfo","_PreOpenInfo",""):
  23. fA("mainw",LA%):
  24. M(LA%,&7E,"_clickmainw"):
  25. M(LA%,0,"_keypressmainw"):
  26. Y(LA%,-1,qE%,0,0,0):
  27. zA:N=
  28. FA(-1,"!"+
  29. J,"",&78,qE%,0,0,0):
  30. v(-1,N,"iconbar"):
  31. M(-1,N,"_ClickSelect_IconBar"):
  32. _PreOpenInfo(n%):
  33. C(n%,0,
  34. E("progInfo0"),0):
  35. C(n%,1,
  36. E("progInfo1"),0):
  37. C(n%,2,
  38. E("progInfo2"),0):
  39. C(n%,3,
  40. E("progInfo3"),0):=0
  41. _ClickSelect_IconBar(n%,DC%):
  42. C(LA%,88,"",0):
  43. e(LA%):
  44. l(LA%,88,-1,-1,-1,0):=0
  45. _MenuSelect_Quit(j%):_closedown%=
  46. B$(&64),A$(&64):G=0:GD%=
  47. :WG%=
  48. :FC%=
  49. :fC%=0:XC%=0:KG%=0:G=1:A=0:I$="":F=0:KB%=1:
  50. _clickmainw(n%,DC%):
  51. DC%=&7E:
  52. GD%:D=
  53. ("<Type$Dir>.tests"+
  54. (KB%)):
  55. N:@%=&1020205:GD%=
  56. :@%=257:
  57. C(LA%,44,
  58. (KB%),
  59. ):@%=&1020205:
  60. C(LA%,87,I$,
  61. _keypressmainw(n%,ZA%):
  62. u(n%,DC%):=0
  63. u(n%,DC%):
  64. DC%=0:
  65. GD%:D=
  66. ("<Type$Dir>.tests"+
  67. (KB%)):
  68. N:@%=&1020205:GD%=
  69. r=@%=257:
  70. C(LA%,44,
  71. (KB%),
  72. ):@%=&1020205:
  73. C(LA%,87,I$,
  74. IA:eA$=
  75. F(LA%,88):
  76. (I$):A$(A)=
  77. eA$,A,1):
  78. IA:UC%=
  79. (I$):M=&64:XC%=XC%+UC%:
  80. (I$):
  81. A$(G)<>B$(G)UC%-=1
  82. :M=UC%*&64/(
  83. (I$)):fC%=fC%+UC%:
  84. C(LA%,93,
  85. C(LA%,99,
  86. (fC%*&64/XC%),
  87. C(LA%,89,
  88. -J)/&64),
  89. ):F=F+(
  90. -J)/&64:
  91. C(LA%,95,
  92. N:A=0:I$="":
  93. :A+=1:I=
  94. #D:B$(A)=
  95. (I):I$=I$+B$(A):
  96. #D:I$=
  97. (I$)-1)):
  98. #D:I$="Your average accuracy is "+
  99. (fC%*&64/XC%)+"% in "+
  100. (F)+" seconds. Continue to start again.":@%=257:KB%+=1:
  101. KB%=6:KB%=1
  102. ("<Type$Dir>.tests"+
  103. (KB%)):@%=&1020205
  104. C(LA%,88,"",
  105. C(LA%,87,"",
  106. l(LA%,88,-1,-1,-1,0):
  107. l(IA%,XA%,ID%,cD%,cA%,SB%):
  108. &400D2,IA%,XA%,ID%,cD%,cA%,SB%:
  109. JA(c$,bF%):
  110. _heap_code%900:
  111. ("LOAD "+c$+"heapcode "+
  112. ~_heap_code%):
  113. _heap_code%+0,bF%:
  114. _shell_Bumpers_Init:_c_Bumpers_ShiftKeyFactor%=2:_c_Bumpers_CtrlKeyFactor%=4:_c_Bumpers_ShiftCtrlKeyFactor%=8:=0
  115. _shell_CaretMove_Init:_c_CaretPreMove_RecSize%=20:
  116. _m_CaretPreMove_Anchor%4:
  117. _m_CaretPreMove_DataBlk%4:!_m_CaretPreMove_Anchor%=0:!_m_CaretPreMove_DataBlk%=0:_m_CaretPreMove_DataOffset%=0:_c_CaretPostMove_RecSize%=20:
  118. _m_CaretPostMove_Anchor%4
  119. _m_CaretPostMove_DataBlk%4:!_m_CaretPostMove_Anchor%=0:!_m_CaretPostMove_DataBlk%=0:_m_CaretPostMove_DataOffset%=0:=0
  120. y(P):
  121. fD%,U$,a%:U$="":a%=0:
  122. fD%?a%<>0:U$+=
  123. (fD%?a%):a%+=1:
  124. 1:U$=
  125. 34)+1):U$=
  126. 34)+2)
  127. i(h$):
  128. 8,5,h$
  129. ,,xA%:xA%=(xA%
  130. &FFF00)>>>8:=xA%
  131. _shell_DataLoad_Init:_c_DLoad_ICONBAR_ICON%=-1:_c_DLoad_RecSize%=24:_m_DLoad_FileType%=-1:_m_DLoad_FileName$="":_m_DLoad_DestIconHandle%=-1:_m_DLoad_DestWindowHandle%=-1:_m_DLoad_WindowName$="":_m_DLoad_CmdLineFileName$=
  132. _m_DLoad_CmdLineFileName$<>""
  133. S_m_DLoad_LoadPending%=
  134. :_m_DLoad_CmdLineFileType%=
  135. i(_m_DLoad_CmdLineFileName$)
  136. _m_DLoad_LoadPending%=
  137. :_m_DLoad_CmdLineFileType%=-1
  138. _m_DLoad_Anchor%4:
  139. _m_DLoad_DataBlk%4:!_m_DLoad_Anchor%=0:!_m_DLoad_DataBlk%=0:_EVNTS_DATALOAD_DATAOFFSET%=0:
  140. _m_DLoad_WORKBUFFER%4:=0
  141. _shell_DataSave_Init:
  142. _m_DSave_Anchor%4:
  143. _m_DSave_DataBlk%4:!_m_DSave_Anchor%=0:!_m_DSave_DataBlk%=0:_m_DSave_DataOffset%=0:_m_DSave_WindowName$="":_m_DSave_EvntOffset%=-1:_m_DSave_EvntList%=-1:_m_DSave_FileName$="":_m_DSave_FullFileName$=""
  144. _m_DSave_NameIcon%=-1:_m_DSave_FileType%=-1:_m_DSave_DataAddress%=-1:_m_DSave_UserFN$="":_m_DSave_DestTaskHandle%=-1:_m_DSave_DestWindowHandle%=-1:_m_DSave_DestIconHandle%=-1:_m_DSave_MouseXCoord%=-1:_m_DSave_MouseYCoord%=-1:_m_DSave_MessageMyRef%=-1
  145. _m_DSave_DragASpriteInProgress%=
  146. :_m_DSave_DragInProgress%=
  147. :_c_DSave_NotSpriteMess$="SHELLMSG29":_c_DSave_NoFileNameMess$="SHELLMSG28":_c_DSave_NotASpriteIcon$="SHELLMSG19":_c_DSave_NotAHeapBlockMess$="SHELLMSG21":_c_DSave_RecDiedMess$="SHELLMSG39"
  148. (N_c_DSave_ButtonTypeClick%=6:_c_DSave_DataSize%=&64:_c_DSave_RecSize%=32:=0
  149. _shell_Debug_Init:=0
  150. _shell_Errors_Init:_ERRNR_NONFATAL=&D00:_ERRNR_CLAIMMEM=&903:
  151. _ERRORS_ERR_BLK%256:=0
  152. _shell_Evnts_Init:_m_Evnts_HeaderSize%=8:_m_Evnts_LastEvntOffset%=-1:
  153. _c_Evnts_WorkBuffer%256:
  154. _c_Evnts_PaneBlk%&BB8:
  155. _EVNTS_CLICKSELECT_ANCHOR%4:
  156. _EVNTS_CLICKADJUST_ANCHOR%4:
  157. _EVNTS_CLICKMENU_ANCHOR%4:
  158. _EVNTS_HELPTAG_ANCHOR%4
  159. _EVNTS_POPUPS_ANCHOR%4:
  160. _EVNTS_PANES_ANCHOR%4:
  161. _EVNTS_SLIDERS_ANCHOR%4:
  162. _EVNTS_POINTERIN_ANCHOR%4:
  163. _EVNTS_POINTEROUT_ANCHOR%4:
  164. _EVNTS_DATASAVE_ANCHOR%4:
  165. _EVNTS_REDRAW_ANCHOR%4:
  166. _EVNTS_DRAG_ANCHOR%4:
  167. _EVNTS_BUMP_ANCHOR%4:
  168. _EVNTS_WINDOWOPEN_ANCHOR%4
  169. _EVNTS_WINDOWCLOSE_ANCHOR%4:
  170. _EVNTS_ICONWATCH_ANCHOR%4:
  171. _EVNTS_MENUHELPTAG_ANCHOR%4:!_EVNTS_CLICKSELECT_ANCHOR%=0:!_EVNTS_CLICKADJUST_ANCHOR%=0:!_EVNTS_CLICKMENU_ANCHOR%=0:!_EVNTS_HELPTAG_ANCHOR%=0:!_EVNTS_POPUPS_ANCHOR%=0:!_EVNTS_SLIDERS_ANCHOR%=0
  172. !_EVNTS_PANES_ANCHOR%=0:!_EVNTS_POINTERIN_ANCHOR%=0:!_EVNTS_POINTEROUT_ANCHOR%=0:!_EVNTS_DATASAVE_ANCHOR%=0:!_EVNTS_REDRAW_ANCHOR%=0:!_EVNTS_DRAG_ANCHOR%=0:!_EVNTS_BUMP_ANCHOR%=0:!_EVNTS_WINDOWOPEN_ANCHOR%=0:!_EVNTS_WINDOWCLOSE_ANCHOR%=0
  173. !_EVNTS_ICONWATCH_ANCHOR%=0:!_EVNTS_MENUHELPTAG_ANCHOR%=0:
  174. _EVNTS_CLICKSELECT_DATA%4:
  175. _EVNTS_CLICKADJUST_DATA%4:
  176. _EVNTS_CLICKMENU_DATA%4:
  177. _EVNTS_HELPTAG_DATA%4:
  178. _EVNTS_POPUPS_DATA%4:
  179. _EVNTS_PANES_DATA%4:
  180. _EVNTS_SLIDERS_DATA%4:
  181. _EVNTS_POINTERIN_DATA%4
  182. _EVNTS_POINTEROUT_DATA%4:
  183. _EVNTS_DATASAVE_DATA%4:
  184. _EVNTS_REDRAW_DATA%4:
  185. _EVNTS_DRAG_DATA%4:
  186. _EVNTS_BUMP_DATA%4:
  187. _EVNTS_WINDOWOPEN_DATA%4:
  188. _EVNTS_WINDOWCLOSE_DATA%4:
  189. _EVNTS_ICONWATCH_DATA%4:
  190. _EVNTS_MENUHELPTAG_DATA%4:!_EVNTS_CLICKSELECT_DATA%=0
  191. !_EVNTS_CLICKADJUST_DATA%=0:!_EVNTS_CLICKMENU_DATA%=0:!_EVNTS_HELPTAG_DATA%=0:!_EVNTS_POPUPS_DATA%=0:!_EVNTS_PANES_DATA%=0:!_EVNTS_POINTERIN_DATA%=0:!_EVNTS_POINTEROUT_DATA%=0:!_EVNTS_DATASAVE_DATA%=0:!_EVNTS_REDRAW_DATA%=0:!_EVNTS_DRAG_DATA%=0
  192. !_EVNTS_BUMP_DATA%=0:!_EVNTS_WINDOWOPEN_DATA%=0:!_EVNTS_WINDOWCLOSE_DATA%=0:!_EVNTS_SLIDERS_DATA%=0:!_EVNTS_ICONWATCH_DATA%=0:!_EVNTS_MENUHELPTAG_DATA%=0:_EVNTS_CLICKSELECT_REC_SIZE%=20:_EVNTS_CLICKADJUST_REC_SIZE%=20:_EVNTS_CLICKMENU_REC_SIZE%=24
  193. _EVNTS_HELPTAG_REC_SIZE%=20:_EVNTS_POPUPS_REC_SIZE%=36:_EVNTS_PANES_REC_SIZE%=32:_EVNTS_POINTERIN_REC_SIZE%=20:_EVNTS_POINTEROUT_REC_SIZE%=20:_EVNTS_DATASAVE_REC_SIZE%=20:_EVNTS_REDRAW_REC_SIZE%=20:_EVNTS_DRAG_REC_SIZE%=28:_EVNTS_BUMP_REC_SIZE%=44
  194. _EVNTS_SLIDERS_REC_SIZE%=40:_EVNTS_WINDOWOPEN_REC_SIZE%=20:_EVNTS_WINDOWCLOSE_REC_SIZE%=20:_EVNTS_ICONWATCH_REC_SIZE%=24:_EVNTS_MENUHELPTAG_REC_SIZE%=20:_EVNTS_CLICKSELECT_DATAOFFSET%=0:_EVNTS_CLICKADJUST_DATAOFFSET%=0:_EVNTS_CLICKMENU_DATAOFFSET%=0
  195. _EVNTS_HELPTAG_DATAOFFSET%=0:_EVNTS_POPUPS_DATAOFFSET%=0:_EVNTS_PANES_DATAOFFSET%=0:_EVNTS_POINTERIN_DATAOFFSET%=0:_EVNTS_POINTEROUT_DATAOFFSET%=0:_EVNTS_DATASAVE_DATAOFFSET%=0:_EVNTS_REDRAW_DATAOFFSET%=0:_EVNTS_DRAG_DATAOFFSET%=0
  196. _EVNTS_BUMP_DATAOFFSET%=0:_EVNTS_SLIDERS_DATAOFFSET%=0:_EVNTS_WINDOWOPEN_DATAOFFSET%=0:_EVNTS_WINDOWCLOSE_DATAOFFSET%=0:_EVNTS_ICONWATCH_DATAOFFSET%=0:_EVNTS_MENUHELPTAG_DATAOFFSET%=0:_EVNTS_LAST_MOUSEBUTTON%=0:_EVNTS_LAST_MOUSEXPOS%=0
  197. _EVNTS_LAST_MOUSEYPOS%=0:_EVNTS_LAST_ICONCLICKED%=-1:_EVNTS_LAST_WINDOWCLICKED%=-1:_EVNTS_LAST_MENUMAKER_FN$="":_m_evnts_DestTaskHandle%=-1:_m_evnts_DestWindowHandle%=-1:_m_evnts_DestIconHandle%=-1:_m_evnts_MouseXCoord%=-1:_m_evnts_MouseYCoord%=-1
  198. _m_evnts_DragIconStartWindow%=-1:_m_evnts_DragIconStartIcon%=-1:_m_evnts_DragIconWritableDrag%=
  199. :_m_evnts_DragIconWinXMin%=0:_m_evnts_DragIconWinYMin%=0:_m_evnts_DragIconWinXMax%=0:_m_evnts_DragIconWinYMax%=0:_m_evnts_DragIconMouseX%=0
  200. _m_evnts_DragIconMouseY%=0:_m_evnts_DragIconLastScrollUp%=0:_m_evnts_DragIconLastScrollDown%=0:_m_evnts_DragIconLastScrollLeft%=0:_m_evnts_DragIconLastScrollRight%=0:_m_evnts_DragIconLastDX%=0:_m_evnts_DragIconLastDY%=0:_m_evnts_DragIconMargin%=32
  201. _m_evnts_UserDragInProgress%=
  202. :_c_evnts_MaxIconWatchEvnts%=&64:
  203. _c_evnts_CurrentContents$(_c_evnts_MaxIconWatchEvnts%-1):_c_evnts_CurrentContents$()="":=0
  204. _shell_ExReg_Init:_m_ExReg_FontMenu_Loaded%=
  205. :_m_ExReg_Fonts_Loaded%=
  206. :_m_ExReg_DrawLib_Loaded%=
  207. :_m_ExReg_OLELib_Loaded%=
  208. :_m_ExReg_FontLib_Loaded%=
  209. :_m_ExReg_FontPickLib_Loaded%=
  210. :_m_ExReg_ShareBan_Loaded%=
  211. :_m_ExReg_ColourMenu_Loaded%=
  212. $_m_ExReg_ColourPick_Loaded%=
  213. _shell_Files_Init:=0
  214. _shell_Iconbar_Init:=0
  215. _shell_Icons_Init:_c_Icons_IconDragType%=5:_c_Icons_DragBBoxXMin%=0:_c_Icons_DragBBoxYMin%=0:_c_Icons_DragBBoxXMax%=&7FFFFFFF:_c_Icons_DragBBoxYMax%=&7FFFFFFF:_c_Icons_DragFlags%=&85:_c_Icons_IconOverFlowMess$="SHELLMSG12"
  216. _c_Icons_NotASpriteIconMess$="SHELLMSG19":_c_Icons_WimpColourRangeMess$="SHELLMSG24":_c_Icons_MinWimpColour%=0:_c_Icons_MaxWimpColour%=&F:
  217. _c_Icon_SetIconStateBlk%16:
  218. _c_Icon_GetIconStateBlk%40:
  219. _c_Icon_GetCaretPositionBlk%24
  220. %_m_Icons_AllowWritableDrags%=
  221. _shell_IntHelp_Init:_c_IntHelp_Bubble_Control%=&83400:_c_IntHelp_HelpBubble_Off%=0:_c_IntHelp_HelpBubble_On%=1:_c_IntHelp_HelpBubble_Toggle%=2:_m_IntHelp_IsOn%=
  222. _shell_Memory_Init:_m_MemLib_HeapBase%=0:_m_MemLib_HeapEnd%=0:_m_MemLib_MemClaimed%=0:_m_MemLib_NrBlocks%=0:=0
  223. _shell_Menus_Init:_c_Menu_MinMenuItems%=&A:_m_Menu_HandleLastOpened%=-1:_m_Menu_SubLastOpened%=-1:_m_Menu_LastXPos%=0:_m_Menu_LastYPos%=0:_m_Menu_MovePointerOnPopup%=
  224. :_m_WimpColMen_Handle%=-1:=0
  225. _shell_MenuList_Init:_c_MenuList_HeaderSize%=4:_c_MenuList_ListTerm%=-1:_m_MenuList_DataBlk%=-1:_m_MenuList_NrMenus%=0:=0
  226. _shell_Messages_Init:
  227. _MESSAGES_WORK_BLK%256:_MESSAGE_QUIT=0:_MESSAGE_DATASAVE=1:_MESSAGE_DATASAVEACK=2:_MESSAGE_DATALOAD=3:_MESSAGE_DATALOADACK=4:_MESSAGE_RAMFETCH=6:_MESSAGE_RAMTRANSMIT=7:_MESSAGE_PREQUIT=8:_MESSAGE_PALETTECHANGE=9
  228. _MESSAGE_SAVEDESKTOP=&A:_MESSAGE_SHUTDOWN=&E:_MESSAGE_HELP=&502:_MESSAGE_MENUWARNING=&400C0:_MESSAGE_MODECHANGE=&400C1:_MESSAGE_TASKINIT=&400C2:_MESSAGE_TASKCLOSEDOWN=&400C3:_MESSAGE_TASKNAMEIS=&400C7:_MESSAGE_DESKFONT_CHANGED=&400CF
  229. T`_MESSAGE_COLOURPICKERCOLOURCHOICE=&47700:_MESSAGE_COLOURPICKERCLOSEDIALOGUEREQUEST=&47702:=0
  230. j(aA$,H):
  231. EC%,K$,i%:
  232. ("Set Module$Check Y"):
  233. ("RMEnsure "+aA$+" "+
  234. H+" Set Module$Check N"):
  235. 35,"Module$Check",_m_OS_VAR_BUFFER%,256,0,0
  236. ,,EC%:_m_OS_VAR_BUFFER%?EC%=&D:
  237. ("Unset Module$Check"):K$=$_m_OS_VAR_BUFFER%:
  238. K$="N"
  239. _shell_OS_Init:_m_OS_VAR_BUFFER_SIZE%=256:
  240. _m_OS_VAR_BUFFER%_m_OS_VAR_BUFFER_SIZE%:_m_OS_RiscOS_3_Found%=
  241. j("UtilityModule",3.1):=0
  242. _shell_Pointer_Init:_c_PointerIn_RecSize%=20:
  243. _m_PointerIn_Anchor%4:
  244. _m_PointerIn_DataBlk%4:!_m_PointerIn_Anchor%=0:!_m_PointerIn_DataBlk%=0:_m_PointerIn_DataOffset%=0:_c_PointerOut_RecSize%=20:
  245. _m_PointerOut_Anchor%4:
  246. _m_PointerOut_DataBlk%4
  247. !_m_PointerOut_Anchor%=0:!_m_PointerOut_DataBlk%=0:_m_PointerOut_DataOffset%=0:_m_Pointer_SetShape_Reason%=36:_m_Pointer_SetShape_Ptr_Nr%=2:_m_Pointer_ShapeChanged%=
  248. :_m_Pointer_CurrentShape$="":
  249. _m_Pointer_WorkBuffer%4:
  250. _m_Pointer_GetInfoBlk%20:=0
  251. U(PD%):_POLL_INTERVAL%=PD%:
  252. V(PD%):_POLL_PREVINTERVAL%=PD%:
  253. _shell_Poll_Init:
  254. OG%256:_POLL_EARLIEST_TIME%=0:_POLL_INTERVAL%=&64:_POLL_PREVINTERVAL%=0:
  255. U(_POLL_INTERVAL%):
  256. V(_POLL_INTERVAL%):
  257. _POLL_EARLIEST_TIME%:_POLL_EARLIEST_TIME%+=_POLL_INTERVAL%:_m_poll_mask%=0:=0
  258. _shell_PopUps_Init:=0
  259. _shell_ProgEvnts_Init:_m_ProgEvnts_DeskFontHandle%=-1:_m_ProgEvnts_DeskFontChangeHandlerFN$="":_m_ProgEvnts_PaletteChangeHandlerFN$="":_m_ProgEvnts_ModeChangeHandlerFN$="":_m_ProgEvnts_SaveDesktopHandlerFN$=""
  260. _m_ProgEvnts_TaskInitialiseHandlerFN$="":_m_ProgEvnts_TaskCloseDownHandlerFN$="":_m_ProgEvnts_ShutdownHandlerFN$="":_m_ProgEvnts_PreQuitHandlerFN$="":=0
  261. _shell_Sliders_Init:_m_Sliders_CurrentSliderHandle%=-1:_m_Sliders_DragInProgess%=
  262. :_m_Sliders_LastXPos%=-1:_m_Sliders_LastYPos%=-1:_m_Sliders_SliderIcon%=-1:_m_Sliders_MaxLength%=-1:_m_Sliders_MaxHeight%=-1:_m_Slider_NotifyFN$=""
  263. }_m_Slider_CurrentValue%=-1:
  264. _m_Sliders_IconBlk%50:
  265. _m_Sliders_DragBlk%50:
  266. _m_Sliders_MPtrBlk%20:
  267. _m_Sliders_WorkBlk%50:=0
  268. _shell_Sprites_Init:_c_Sprites_AreaHeaderSize%=16:_c_Sprites_ReasonInitArea%=9:_c_Sprites_ReasonLoad%=&A:_c_Sprites_ReasonGetSize%=40:_c_Sprites_ReasonRemoveLeftWastage%=54
  269. ]_c_Sprites_BadNameOrPtr$="Either a sprite name or a pointer to a sprite must be given":=0
  270. _shell_Strings_Init:=0
  271. _shell_StaticList_Init:_m_StaticList_WList%=0:=0
  272. _shell_WindowList_Init:=0
  273. _shell_Windows_Init:
  274. _c_WindowsGetStateBlk%36:
  275. _c_WindowsGetWInfoBlk%88:
  276. _c_WindowsGetPInfoBlk%20:
  277. _c_WindowsSetExtentBlk%20:
  278. _c_WindowsRedrawBlk%52:_m_WindowsLastDynamicHandle%=-1:MG%=-1:=0
  279. g%:g%=
  280. _shell_Bumpers_Init:g%=
  281. _shell_CaretMove_Init:g%=
  282. _shell_DataLoad_Init:g%=
  283. _shell_DataSave_Init:g%=
  284. _shell_Debug_Init:g%=
  285. _shell_Errors_Init:g%=
  286. _shell_Evnts_Init:g%=
  287. _shell_ExReg_Init:g%=
  288. _shell_Files_Init:g%=
  289. _shell_Iconbar_Init
  290. _shell_Icons_Init:g%=
  291. _shell_IntHelp_Init:g%=
  292. _shell_Memory_Init:g%=
  293. _shell_Menus_Init:g%=
  294. _shell_MenuList_Init:g%=
  295. _shell_Messages_Init:g%=
  296. _shell_OS_Init:g%=
  297. _shell_Pointer_Init:g%=
  298. _shell_Poll_Init:g%=
  299. _shell_PopUps_Init
  300. _shell_ProgEvnts_Init:g%=
  301. _shell_Sliders_Init:g%=
  302. _shell_Sprites_Init:g%=
  303. _shell_Strings_Init:g%=
  304. _shell_StaticList_Init:g%=
  305. _shell_WindowList_Init:g%=
  306. _shell_Windows_Init:
  307. FA:_MSE_SELECTBUT=4:_MSE_MENUBUT=2:_MSE_ADJUSTBUT=1:_EVENT_NULL=0:_EVENT_REDRAWWIN=1:_EVENT_OPENWIN=2:_EVENT_CLOSEWIN=3:_EVENT_PTRLEAVING=4:_EVENT_PTRENTERING=5:_EVNT_MSECLICK=6:_EVNT_DRAGEND=7:_POPUP_TYPE_TEXT=0:_POPUP_TYPE_WIMPCOLOUR=1
  308. _POPUP_TYPE_DATEPICK=2:_POPUP_TYPE_CALCULATOR=3:_POPUP_TYPE_FONTPICK=4:_POPUP_TYPE_LINEFONT=5:_POPUP_TYPE_FONTMENU=6:_POPUP_TYPE_TIMEPICK=7:_POPUP_TYPE_COLOUR24=8:_IBAR_RIGHT%=-1:_IBAR_LEFT%=-2:_BUTTON_TYPE_NEVER=0:_BUTTON_TYPE_CLICK=3
  309. _BUTTON_TYPE_MENU=9:
  310. A(bE%):
  311. _heap_code%+4,HB%,bE%:=HB%
  312. W(FC%,jE%,RC%):
  313. I%,gC%,QD%:gC%=jE%
  314. 4:QD%=jE%
  315. gC%>0
  316. (gC%*4)
  317. 4:FC%!(I%-1)=RC%:
  318. QD%>0
  319. U.FC%=FC%+(gC%*4):
  320. QD%-1:FC%?I%=RC%:
  321. q(IA$,O):
  322. CA$,E,zF%,l%:
  323. &20023,IA$,_m_OS_VAR_BUFFER%,_m_OS_VAR_BUFFER_SIZE%,0,-3*(O=-1)
  324. ,,E,zF%:
  325. E-1:CA$=CA$+
  326. (_m_OS_VAR_BUFFER%?l%):
  327. l%:=CA$
  328. c(c$):
  329. c$,"."):c$=
  330. c$,".")+1):
  331. l(pB%):
  332. 29,6,!(_heap_code%+28),pB%
  333. ,,,K:=K
  334. U(HB%):
  335. HB%<&8000
  336. 99,"No heapblock defined at this address"
  337. l(HB%):
  338. pB%):
  339. U(pB%)
  340. _heap_code%+8,pB%
  341. pB%=0:
  342. j%,EC%,K$,JB%:j%=
  343. A(256):
  344. ("Set RO3$Check Y"):
  345. ("RMEnsure UtilityModule 3.00 Set RO3$Check N"):
  346. 35,"RO3$Check",j%,256,0,0
  347. ,,EC%:j%?EC%=&D:
  348. ("Unset RO3$Check"):K$=$j%:
  349. A(j%):
  350. K$="N"
  351.     JB%=
  352. :=JB%
  353. LA:_m_IntHelp_IsOn%=
  354. SA%,l%,f%,X$:
  355. C$,E$,WC%:
  356. DA:_poll_called%=0:
  357. FA:_SHELL_SENDDATALOAD_MY_REF%=0:_SHELL_SENDDATALOAD_FILE$="":
  358. _U%360,_shell_blk%260:_Q%=
  359. A(&BB8):SA%=
  360. A(48):SA%!0=0:SA%!4=0:SA%!8=0:SA%!&C=0:SA%!16=0:SA%!20=0:SA%!24=0:SA%!28=0:SA%!32=0:SA%!36=0
  361. SA%!40=0:SA%!44=0:_U%!0=0:_U%!4=0:_U%!8=0:_U%!&C=SA%:_U%!16=1:_U%!20=0:_U%!44=-1:_U%!48=0:_U%!52=0:_U%!56=0:_U%!60=0:_U%!64=0:_U%!68=0:_U%!72=0:_U%!76=
  362. A(256):_U%!80=0:_U%!84=-1:_U%!88=0:_U%!92=0:_U%!96=0:_U%!&64=0:_U%!&6C=-1:_U%!&70=-1:_U%!&74=-1
  363. _U%!&78=-1:_U%!&7C=-1:_U%!&80=0:_U%!&84=0:_U%!&88=-1:_U%!&8C=-1:_U%!&90=-1:_U%!&94=0:_U%!&98=0:_U%!&9C=0:_U%!&B0=0:_U%!&B4=0:_U%!&B8=0:_U%!&BC=0:_U%!&C0=0:_U%!&C4=0:_U%!&C8=0:_U%!&CC=0:_U%!&D0=-1:_U%!&D4=-1:_U%!&D8=0:_U%!&DC=0:_U%!&E0=0:_U%!&E4=0
  364. _U%!&E8=
  365. A(256):_U%!&EC=
  366. A(256):_U%!&F0=-1:_U%!&F4=0:_U%!&FC=0:_U%!256=0:_U%!260=1:_U%!264=0:_U%!268=0:_U%!272=0:_U%!276=0:_U%!280=0:_U%!284=0:_U%!304=0:_U%!308=0:_U%!316=0:_U%!324=0:_U%!336=0:_U%!340=0:_U%!344=0:
  367. W(_U%!&E8,256,0):
  368. W(_U%!&EC,256,0)
  369. q("Obey$Dir",1):E$=
  370. c(C$),2):_U%!&BC=
  371. C$)+1):_U%!&C4=
  372. E$)+1):f%=_U%!&BC:$f%=C$:f%=_U%!&C4:$f%=E$:f%=
  373. j("WimpExtension",1.98):
  374. _U%!&64=_U%!&64
  375. _U%!&64=_U%!&64
  376. 1<<&A
  377. LA:WC%=&64:
  378. U(WC%):
  379. V(WC%):
  380. _POLL_EARLIEST_TIME%:_POLL_EARLIEST_TIME%+=WC%:X$=
  381. y(1):
  382. X$<>""
  383. +9_U%!&64=_U%!&64
  384. 1<<5:f%=
  385. X$+1):$(f%)=X$:_U%!324=f%
  386. s(H):=
  387. j("UtilityModule",H)
  388. IA(IB%,s$):
  389. xD%,VA%:
  390. xD%4:!xD%=0:
  391. s(3.1)
  392. A1IB%=310:
  393. &400C0,IB%,&4B534154,s$,xD%
  394. IB%,VA%
  395. IB%=&C8:
  396. &400C0,IB%,&4B534154,s$
  397. IB%,VA%
  398. _U%!&64
  399. "WimpExt_Initialise",&E,VA%
  400. :_U%!&94=VA%:=VA%
  401. WA(IB%,s$):
  402. VA%:VA%=
  403. IA(IB%,s$):
  404. &81682,VA%:=VA%
  405. f%:f%=_U%!&C4:=$f%
  406. f%:f%=_U%!&BC:=$f%
  407. o(IA$):
  408. &20023,IA$,_m_OS_VAR_BUFFER%,-1,0,0
  409. D(h$):
  410. xA%,L,i%:L=5:
  411. 8,L,h$
  412. xA%=0
  413. I(H$,
  414. hE%):
  415. bB%,p%:
  416. 3,"Cannot open message file '"+H$+"'"
  417. &41500,,H$
  418. p%,,bB%:
  419. hE%=0
  420. A(bB%)
  421. 30,6,,,17+
  422. ,,YC%:$(YC%+16)=H$:
  423. &41501,YC%,YC%+16:
  424. V(H$):
  425. UB%,S%,T%:S%=
  426. (H$):T%=
  427. #S%+16:
  428. #S%:UB%=
  429. A(T%):!UB%=T%:UB%!4=0:UB%!8=_c_Sprites_AreaHeaderSize%:UB%!&C=_c_Sprites_AreaHeaderSize%:
  430. 46,521,UB%:
  431. 46,522,UB%,H$:=UB%
  432. EF%,_3d%:
  433. _U%!&64
  434. (1<<&A)
  435. 6,&A1,&8C
  436. ,,EF%:
  437. _3d%=
  438. _3d%=
  439. _3d%=
  440. :=_3d%
  441. d(h$):
  442. 8,5,h$
  443. ,,,,aB%:=aB%
  444. SA(H$,
  445. BA%,kB%,BB%,gA%:
  446. m%,ZC%,SD%,kA%,MC%,p%:BA%=0:y%=0:kB%=0:BB%=0:CA%=
  447. A(&D):
  448. &400D9,,H$:
  449. :$CA%="*":
  450. &400DB,,-1,,,,CA%,BA%
  451. ,WA%,nF%,,,,BA%:
  452. BA%<>0
  453. WA%>BB%
  454. BB%=WA%
  455. kB%+=nF%:y%+=1
  456. BA%=0:
  457. &400DA:WA%=BB%+kB%:
  458. A(CA%):
  459. u(gA%,p%,aD%,X%):
  460. bB%,_E%,m%,ZC%:
  461. &800100)=256
  462. "bB%=aD%!8:
  463. (aD%!4<>-1)
  464. A_E%=aD%!4:
  465. #X%=gA%+_E%:m%=0:
  466. :ZC%=
  467. #X%:m%+=1:
  468. ZC%<32:bB%+=+m%
  469. bB%=0
  470. :=bB%
  471. TA(H$,
  472. BA%,kB%,BB%:
  473. CA%,X%,yA%,sF%:
  474. m%,ZC%,SD%,kA%,MC%,p%:BA%=0:y%=0:kB%=0:BB%=0:i%=0:
  475. D(H$)
  476. i%=-1
  477. i(H$)<>&FEC
  478. i%=-2
  479. BCA%=
  480. A(&D):X%=
  481. (H$):
  482. #X%=16:
  483. &C,4,X%,CA%,4:gA%=!CA%:
  484. gA%>0
  485. y%+=1:TE%=0:
  486. &C,4,X%,CA%,4:yA%=!CA%:
  487. &C,4,X%,CA%,4:sF%=!CA%:
  488. &C,4,X%,CA%,&C:SD%=
  489. #X%=gA%+56:
  490. &C,4,X%,CA%,4:p%=!CA%:
  491. #X%=gA%+72:
  492. &C,4,X%,CA%,&C:TE%+=
  493. u(gA%,p%,CA%,X%):
  494. #X%=gA%+84:
  495. &C,4,X%,CA%,4:kA%=!CA%:
  496. kA%>0
  497. MC%=0
  498. kA%-1:
  499. #X%=gA%+88+(MC%*32)+16:
  500. &C,4,X%,CA%,4:p%=!CA%:
  501. #X%=gA%+88+(MC%*32)+20:
  502. &C,4,X%,CA%,&C:TE%+=
  503. u(gA%,p%,CA%,X%):
  504. #X%=SD%:kB%+=TE%:
  505. yA%>BB%
  506. BB%=yA%
  507. gA%=0:
  508. A(CA%):WA%=BB%+kB%
  509. YA(H$,
  510. oB%:oB%=
  511. SA(H$,WA%,y%,i%)
  512. TA(H$,WA%,y%,i%)
  513. W(G$,i$,AA$):
  514. p%,L%,g$,GC%,fB%:
  515. G$,8)="SHELLMSG"
  516. GC%=_U%!284:fB%=_U%!280
  517. GC%=_U%!64:fB%=_U%!68
  518. &61502,fB%,G$,GC%,256,i$,AA$
  519. ,,,L%;p%:
  520. GC%?L%=&D:g$=$(GC%)
  521. k(G$,i$,AA$):=
  522. W(G$,i$,AA$)
  523. L(f$,
  524. qF%):
  525. JC%,LE%,GF%,WA%:
  526. IF%,BA%,DD%,n$,y%,QF%,i%:
  527. WF%,HC%:DD%=
  528. A(&C):BA%=0:y%=0:IF%=
  529. d(f$):kF%=
  530. A(IF%):JC%=kF%:
  531. YA(f$,WA%,y%,i%):
  532. IfQC%=
  533. A(4+(20*y%)):_U%!4=QC%:MF%=
  534. A(WA%):LE%=MF%:GF%=MF%+WA%:y%=0:HC%=4:
  535. &600D9,,f$
  536. ;QF%:
  537. k("SHELLMSG34","template",f$)
  538. :$DD%="*":
  539. &400DB,,JC%,LE%,GF%,_U%!&E8,DD%,BA%
  540. ,,LE%,,,n$,BA%:
  541. BA%<>0
  542. [[QC%!HC%=JC%:$(QC%+HC%+4)=n$:QC%!(HC%+16)=-1:HC%+=20:WF%=(JC%!84)*32:JC%+=(88+WF%):y%+=1
  543. BA%=0:
  544. &400DA:_U%!0=y%
  545. k("SHELLMSG35","template",f$)
  546. k("SHELLMSG36",f$,"template")
  547. A(DD%):qF%=0:!QC%=y%:
  548. H(eE%,bE%):
  549. _heap_code%+&C,eE%,bE%:=eE%
  550. D(AA%,hC%,RD%,
  551. KA%):
  552. dE%,tA%,h%,tA%,yA%,uA%:
  553. !hC%<>0
  554. A(!hC%)
  555. !RD%<>0
  556. A(!RD%)
  557. #AA%:
  558. dE%=1
  559. A(_m_Evnts_HeaderSize%):
  560. &C,4,AA%,h%,_m_Evnts_HeaderSize%:tA%=!h%:h%=
  561. H(h%,tA%):
  562. &C,4,AA%,h%+_m_Evnts_HeaderSize%,tA%:!hC%=h%:
  563. &C,4,AA%,_c_Evnts_WorkBuffer%,4:yA%=!_c_Evnts_WorkBuffer%:
  564. yA%>0
  565. 3uA%=
  566. A(yA%):
  567. &C,4,AA%,uA%,yA%:!RD%=uA%:KA%=yA%
  568. !hC%=0
  569. cA(AA%):
  570. D(AA%,_m_PointerIn_Anchor%,_m_PointerIn_DataBlk%,_m_PointerIn_DataOffset%):
  571. D(AA%,_m_PointerOut_Anchor%,_m_PointerOut_DataBlk%,_m_PointerOut_DataOffset%):
  572. gA(iA$):
  573. AA%,h%,hA%,iA%:AA%=
  574. (iA$):
  575. D(AA%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_DATA%,_EVNTS_CLICKSELECT_DATAOFFSET%):
  576. D(AA%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_DATA%,_EVNTS_CLICKADJUST_DATAOFFSET%)
  577. D(AA%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%):
  578. D(AA%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_DATA%,_EVNTS_HELPTAG_DATAOFFSET%):
  579. cA(AA%):
  580. D(AA%,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_DATA%,_EVNTS_REDRAW_DATAOFFSET%)
  581. D(AA%,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_DATA%,_EVNTS_WINDOWCLOSE_DATAOFFSET%):
  582. D(AA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_DATA%,_EVNTS_PANES_DATAOFFSET%):
  583. D(AA%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%)
  584. D(AA%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_DATA%,_EVNTS_SLIDERS_DATAOFFSET%):
  585. D(AA%,_EVNTS_BUMP_ANCHOR%,_EVNTS_BUMP_DATA%,_EVNTS_BUMP_DATAOFFSET%):
  586. D(AA%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_DATA%,_EVNTS_DRAG_DATAOFFSET%)
  587. D(AA%,_m_DSave_Anchor%,_m_DSave_DataBlk%,_m_DSave_DataOffset%):
  588. D(AA%,_EVNTS_ICONWATCH_ANCHOR%,_EVNTS_ICONWATCH_DATA%,_EVNTS_ICONWATCH_DATAOFFSET%):
  589. D(AA%,_m_DLoad_Anchor%,_m_DLoad_DataBlk%,_m_DLoad_DataOffset%):
  590. #AA%:
  591. RA:=_m_ExReg_ShareBan_Loaded%
  592. B(A$,e%,d%,w%,OC%):
  593. HA%,c%,u%,a%,RA%,YA%:
  594. A$="IconBar"
  595. e%=-1:A$="iconbar"
  596. :a%=0:
  597. (!d%=0
  598.     a%=-2
  599. A$=""
  600.     a%=-1
  601. (!d%=0)
  602. A(w%+_m_Evnts_HeaderSize%):RA%=!d%:RA%!0=w%:RA%!4=1:$(RA%+_m_Evnts_HeaderSize%)="":
  603. l%=&C
  604. (w%-4)
  605. 4:RA%!(l%+_m_Evnts_HeaderSize%)=-1:
  606. l%:_m_Evnts_LastEvntOffset%=_m_Evnts_HeaderSize%:a%=_m_Evnts_HeaderSize%
  607. a%<>_m_Evnts_HeaderSize%
  608. YRA%=!d%:HA%=!RA%:c%=_m_Evnts_HeaderSize%:u%=
  609. :a%=-1:eF%=-1:YA%=!d%:
  610. ($(YA%+c%)=A$)
  611. YA%!(c%+&C)=e%
  612. a%=c%:u%=
  613. c%+=w%
  614. c%+=w%
  615. ((c%>=(HA%+_m_Evnts_HeaderSize%))
  616. (a%=-1
  617. ya%=HA%+_m_Evnts_HeaderSize%:!d%=
  618. H(!d%,w%):lA%=!d%:lA%!0+=w%:lA%!4+=1:lA%+=a%:$(lA%)="":
  619. l%=&C
  620. (w%-4)
  621. 4:lA%!l%=-1:
  622. :_m_Evnts_LastEvntOffset%=a%
  623. _U%!324<>0
  624. X$=$(_U%!324)
  625. hA(xA%,n$):
  626. TA%:TA%=
  627. A(256):TA%!0=256:TA%!4=0:TA%!&C=0:TA%!16=5:TA%!20=0:TA%!28=0:TA%!32=0:TA%!36=0:TA%!40=xA%:$(TA%+44)=n$+
  628. &400E7,18,TA%,0:_SHELL_SENDDATALOAD_MY_REF%=TA%!8:_SHELL_SENDDATALOAD_FILE$=n$:
  629. A(TA%):
  630. a%,h%,hA%,iA%:a%=
  631. B("iconbar",_c_DLoad_ICONBAR_ICON%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  632. a%>-1
  633. J3_m_DLoad_FileName$=
  634. _m_DLoad_FileName$<>""
  635. LWh%=!_m_DLoad_Anchor%:h%+=a%:hA%=h%!16:iA%=hA%
  636. (1<<31):
  637. i(_m_DLoad_FileName$)=iA%
  638. hA(iA%,_m_DLoad_FileName$)
  639. LA$,f%,E$,C$,pC%:
  640. uC%,uE%,CC%:E$=
  641. J:C$=
  642. o(E$+"Res$Path")
  643. _U%!&64=_U%!&64
  644. o(E$+"Data$Dir")
  645. cCLA$=
  646. q(E$+"Data$Dir",1):_U%!&C0=
  647. LA$)+1):f%=_U%!&C0:$f%=LA$
  648. _U%!&C0=
  649. C$)+1):f%=_U%!&C0:$f%=C$
  650. :CC%=
  651. _U%!&64
  652. D(E$+"Res:Messages")
  653. I(E$+"Res:Messages",_U%!68,_U%!64)
  654. D(E$+"Res:ShellMsgs")
  655. I(E$+"Res:ShellMsgs",_U%!280,_U%!284)
  656. I("EvntShellRes:ShellMsgs",_U%!280,_U%!284)
  657. &20035,-1,4
  658. ,,uE%:
  659. &20035,-1,5
  660. ,,uC%:
  661. uC%=1
  662. D(E$+"Res:Sprites22")
  663. y!_U%!16=
  664. V(E$+"Res:Sprites22")
  665. D(E$+"Res:Sprites")
  666. _U%!16=
  667. V(E$+"Res:Sprites")
  668. _U%!16=1
  669. :pC%=
  670. D(E$+"Res:Templates3")
  671. L(E$+"Res:Templates3",g%):CC%=
  672. D(E$+"Res:Templates")
  673. L(E$+"Res:Templates",g%):CC%=
  674. D(C$+".Messages")
  675. I(C$+".Messages",_U%!68,_U%!64)
  676. D(C$+".ShellMsgs")
  677. I(C$+".ShellMsgs",_U%!280,_U%!284)
  678. I("EvntShellRes:ShellMsgs",_U%!280,_U%!284)
  679. &20035,-1,4
  680. ,,uE%:
  681. &20035,-1,5
  682. ,,uC%:
  683. uC%=1
  684. D(C$+".Sprites22")
  685. _U%!16=
  686. V(C$+".Sprites22")
  687. D(C$+".Sprites")
  688. _U%!16=
  689. V(C$+".Sprites")
  690. _U%!16=1
  691. :pC%=
  692. D(C$+".Templates3")
  693. L(C$+".Templates3",g%):CC%=
  694. D(C$+".Templates")
  695. L(C$+".Templates",g%):CC%=
  696. 99,"Unable to find templates file.."
  697. &45BC0:
  698. A(_Q%):_Q%=
  699. A(&400):
  700. D(C$+".EvntData")
  701. gA(C$+".EvntData")
  702. _m_DLoad_LoadPending%=
  703. iA:_m_DLoad_LoadPending%=
  704. _m_MenuList_DataBlk%<>-1
  705. A(_m_MenuList_DataBlk%):_m_MenuList_DataBlk%=-1:_m_MenuList_NrMenus%=0
  706. DB:_m_MenuList_DataBlk%=
  707. A(8):_m_MenuList_DataBlk%!4=_c_MenuList_ListTerm%:
  708. OB(t%,T$):
  709. c%,mA%:
  710. _m_MenuList_DataBlk%=-1
  711. _m_MenuList_DataBlk%=
  712. H(_m_MenuList_DataBlk%,4)
  713. :c%=_m_MenuList_NrMenus%*4:_m_MenuList_DataBlk%!c%=
  714. A(_c_MenuList_HeaderSize%+
  715. (T$)+1):mA%=_m_MenuList_DataBlk%!c%:mA%!0=t%:$(mA%+_c_MenuList_HeaderSize%)=T$:_m_MenuList_NrMenus%+=1:_m_MenuList_DataBlk%!(_m_MenuList_NrMenus%*4)=_c_MenuList_ListTerm%
  716. aA(bA$,T$,ND%):
  717. ND%<_c_Menu_MinMenuItems%
  718. ND%=_c_Menu_MinMenuItems%
  719. &45BC1,,bA$,ND%
  720. OB(t%,T$):=t%
  721. E(G$):=
  722. W(G$,"","")
  723. z(q%,PA$,S$):
  724. S$<>""
  725. &45BC2,q%,PA$,S$
  726. &45BC2,q%,PA$
  727. :=aA%
  728. N(G$,i$):=
  729. W(G$,i$,"")
  730. I:=_U%!4
  731. v%:v%=
  732. I:=!v%
  733. X(D$):
  734. a%,y%,bA%,m%:
  735. (D$)>&B
  736. N("SHELLMSG02",D$)
  737. #9y%=
  738. S:bA%=
  739. I+4:m%=0:a%=-1:
  740. $(((bA%)+(20*m%))+4)=D$
  741. a%=m%*20
  742. :m%+=1:
  743. a%<>-1
  744. m%>(y%-1):=a%
  745. KA(D$):
  746. a%,XD%:a%=
  747. X(D$):
  748. a%>=0
  749. ZA(oF%,u$,TA$,OA$):
  750. j%,f%,HB%:
  751. KA(u$)
  752. N("SHELLMSG03",u$)
  753. A(&C):j%!0=
  754. u$+1):f%=j%!0:$f%=u$:j%!4=
  755. TA$+1):f%=j%!4:$f%=TA$:j%!8=
  756. OA$+1):f%=j%!8:$f%=OA$:
  757. &45BCE,oF%,j%:
  758. &45BCC,,
  759. CA(D$):
  760. a%,HF%,bA%:a%=
  761. X(D$):
  762. 99,D$+":"+
  763. a%>=0
  764. HF%=bA%!a%
  765. N("SHELLMSG03",D$)
  766. :=HF%
  767. Y(q%):
  768. u%,m%:u%=-1:m%=0:
  769. _m_StaticList_WList%<>0
  770. _m_StaticList_WList%!m%<>-1:
  771. _m_StaticList_WList%!m%=q%
  772. \    u%=m%
  773. :m%+=4:
  774. eB(q%):
  775. a%,m%,f%:
  776. _m_StaticList_WList%=0
  777. jR_m_StaticList_WList%=
  778. A(8):_m_StaticList_WList%!0=q%:_m_StaticList_WList%!4=-1
  779. Y(q%):
  780. a%=-1
  781. Y(0):
  782. a%=-1
  783. m%=0:
  784. _m_StaticList_WList%!m%<>-1:m%+=4:
  785. :_m_StaticList_WList%=
  786. H(_m_StaticList_WList%,4):f%=_m_StaticList_WList%+m%:f%!0=q%:f%!4=-1
  787. f%=_m_StaticList_WList%+a%:f%!0=q%
  788. X(D$,b%):
  789. gE%,v%,c%,lD%:
  790. D$=""
  791. 99,"Bad window name passed to WindowListAddHandle"
  792. &gE%=
  793. X(D$)+16:v%=
  794. I+4+gE%:
  795. !v%=-1
  796. $!v%=
  797. A(8):c%=!v%:c%!0=b%:c%!4=-1
  798. v%!16<>-1
  799. +s%=!v%:c%=0:lD%=
  800. s%!c%<>-1:
  801. s%!c%=0
  802. s%!c%=b%:lD%=
  803. :c%+=4:
  804. O!v%=
  805. H(!v%,4):bA%=!v%:c%=0:
  806. bA%!c%<>-1:c%+=4:
  807. :bA%!(c%+0)=b%:bA%!(c%+4)=-1
  808. fA(D$,
  809. cB%:cB%=
  810. CA(D$):cB%!64=_U%!16:
  811. &400C1,,cB%
  812. eB(b%):
  813. X(D$,b%):
  814. C(q%):
  815. v%,y%,c%,m%,l$:y%=
  816. S:v%=
  817. I+4:l$="":
  818. -1,-2:l$="iconbar"
  819. v%!16<>-1
  820. 2s%=v%!16:c%=0:
  821. s%!c%<>-1:
  822. s%!c%=q%
  823. l$=$(v%+4)
  824. c%+=4:
  825. :m%+=1:v%+=20:
  826. l$<>""
  827. m%=y%
  828. G(DA%,LB%,
  829. KA%,J$):
  830. !DA%=-1
  831. >!DA%=KA%:!LB%=
  832. H(!LB%,
  833. (J$)+1):$(!LB%+KA%)=J$:KA%+=
  834. (J$)+1
  835. BA$=$(!LB%+!DA%):
  836. BA$<>J$
  837. (J$)<=
  838. (BA$)
  839. $(!LB%+!DA%)=J$
  840. !LB%=
  841. H(!LB%,
  842. (J$)+1):$(!LB%+KA%)=J$:!DA%=KA%:KA%+=
  843. (J$)+1
  844. bA(b%,e%):
  845. MB%,k%:k%=
  846. A(40):k%!0=b%:k%!4=e%:
  847. &400CE,,k%:MB%=(k%!24>>&C)
  848. A(k%):=MB%
  849. P(b%,e%,DG%,ZF%):_c_Icon_SetIconStateBlk%!0=b%:_c_Icon_SetIconStateBlk%!4=e%:_c_Icon_SetIconStateBlk%!8=DG%:_c_Icon_SetIconStateBlk%!&C=ZF%:
  850. &600CD,,_c_Icon_SetIconStateBlk%:
  851. Z(n%,ZA%,MB%):
  852. MB%=&C
  853. MB%=&D
  854. N("SHELLMSG23","PROCshell_IconSetButtonType")
  855. MB%<0
  856. MB%>&F
  857. N("SHELLMSG22","PROCshell_IconSetButtonType")
  858. P(n%,ZA%,MB%<<&C,&F000):
  859. M(b%,e%,B$):
  860. a%,h%,DA%,A$:A$=
  861. C(b%):
  862. A$="iconbar"
  863. L    e%=-1
  864. B(A$,e%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,
  865. ):h%=!_EVNTS_CLICKSELECT_ANCHOR%:h%+=a%:$h%=A$:h%!&C=e%:
  866. !_EVNTS_CLICKSELECT_DATA%=0
  867. W)!_EVNTS_CLICKSELECT_DATA%=
  868. (B$)+1)
  869. :DA%=h%+16:
  870. G(DA%,_EVNTS_CLICKSELECT_DATA%,_EVNTS_CLICKSELECT_DATAOFFSET%,B$):
  871. bA(b%,e%)=_BUTTON_TYPE_NEVER
  872. Z(b%,e%,_BUTTON_TYPE_CLICK)
  873. e(b%):
  874. -1,-2:i%=
  875. _U%!20:i%=
  876. Y(b%)>-1
  877. E(dA$):
  878. _ERRNR_NONFATAL,dA$
  879. EA(t%):
  880. c%,T$,mA%:
  881. _m_MenuList_DataBlk%<>-1
  882. `c%=0:
  883. _m_MenuList_DataBlk%!c%<>_c_MenuList_ListTerm%:mA%=_m_MenuList_DataBlk%!c%:
  884. mA%!0=t%
  885. %T$=$(mA%+_c_MenuList_HeaderSize%)
  886. :c%+=4:
  887. y(A$,nB%,EA%,t%,L$,V$,fE%):
  888. a%,h%,P$:a%=
  889. B(A$,nB%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_REC_SIZE%,
  890. ):h%=!_EVNTS_POPUPS_ANCHOR%:h%+=a%:$h%=A$:h%!&C=nB%:h%!20=EA%:h%!24=fE%:
  891. !_EVNTS_POPUPS_DATA%=0
  892. $!_EVNTS_POPUPS_DATA%=
  893. (P$)+1)
  894. L$<>""
  895. FDA%=h%+16:
  896. G(DA%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%,L$)
  897. h%!16=-1
  898. EA(t%):
  899. P$<>""
  900. FDA%=h%+28:
  901. G(DA%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%,P$)
  902. V$<>""
  903. !_EVNTS_POPUPS_DATA%=0
  904. $!_EVNTS_POPUPS_DATA%=
  905. (V$)+1)
  906. :DA%=h%+32:
  907. G(DA%,_EVNTS_POPUPS_DATA%,_EVNTS_POPUPS_DATAOFFSET%,V$)
  908. h%!32=-1
  909. Y(b%,e%,t%,WD%,YD%,eD%):
  910. a%,h%,A$,mD%:
  911. e(b%)=
  912. E("SHELLMSG30"))
  913. C(b%):P$=
  914. EA(t%):
  915. A$="iconbar"
  916.     e%=-1
  917. e%>=0
  918. Z(b%,e%,_BUTTON_TYPE_CLICK):
  919. y(A$,e%,-1,t%,"","",_POPUP_TYPE_TEXT)
  920. B(A$,e%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,
  921. a%>=0
  922.     mD%=
  923. B(A$,e%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,
  924. ):h%=!_EVNTS_CLICKMENU_ANCHOR%:h%+=a%:$h%=A$:h%!&C=e%:
  925. !_EVNTS_CLICKMENU_DATA%=0
  926. !!_EVNTS_CLICKMENU_DATA%=
  927. :DA%=h%+16:
  928. G(DA%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,P$):
  929. LDA%=h%+20:
  930. G(DA%,_EVNTS_CLICKMENU_DATA%,_EVNTS_CLICKMENU_DATAOFFSET%,"")
  931. z(b%,e%):
  932. P(b%,e%,0,0):
  933. lA(b%,e%,t$):
  934. xC%,CE%,EE%,aE%:_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=e%:
  935. &400CE,,_c_Icon_GetIconStateBlk%:
  936. (_c_Icon_GetIconStateBlk%!24
  937. (1<<1))
  938.     CE%=
  939. (_c_Icon_GetIconStateBlk%!24
  940.     EE%=
  941. (_c_Icon_GetIconStateBlk%!24
  942. (1<<8))
  943.             aE%=
  944. _c_Icon_GetIconStateBlk%!24
  945. )$(_c_Icon_GetIconStateBlk%!32)="S"+t$
  946. $(_c_Icon_GetIconStateBlk%!28)=t$:_c_Icon_GetIconStateBlk%!36=
  947. :xC%=e%
  948. &400C4,,_c_Icon_GetIconStateBlk%:_c_Icon_GetIconStateBlk%!4=_c_Icon_GetIconStateBlk%!8:_c_Icon_GetIconStateBlk%!8=_c_Icon_GetIconStateBlk%!&C:_c_Icon_GetIconStateBlk%!&C=_c_Icon_GetIconStateBlk%!16
  949. _c_Icon_GetIconStateBlk%!16=_c_Icon_GetIconStateBlk%!20:_c_Icon_GetIconStateBlk%!20=_c_Icon_GetIconStateBlk%!24:$(_c_Icon_GetIconStateBlk%+24)=t$:
  950. &400C2,,_c_Icon_GetIconStateBlk%
  951. z(b%,xC%):=xC%
  952. FA(BA%,UA$,d$,nA%,vA%,WD%,YD%,eD%):
  953. q%,x%,MD%,TD%:x%=
  954. A(36):
  955. MD%20:
  956. TD%20:!x%=BA%:x%!4=0:x%!&C=96:
  957. d$<>""
  958.     ;+x%!&C=nA%:x%!8=-16:x%!16=92:x%!32=
  959. x%!8=0:x%!16=70:x%!32=&C
  960. :x%!20=&1700310B:x%!24=MD%:x%!28=TD%:$MD%=d$:$TD%=UA$:
  961. &400C2,,x%
  962. Y(-2,q%,vA%,WD%,YD%,eD%):
  963. A(x%):=
  964. lA(BA%,q%,UA$)
  965. v(b%,e%,Q$):
  966. a%,h%,A$:A$=
  967. C(b%):
  968. A$="iconbar"
  969.     ]    e%=-1
  970. B(A$,e%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_REC_SIZE%,
  971. ):h%=!_EVNTS_HELPTAG_ANCHOR%:h%+=a%:$h%=A$:h%!&C=e%:
  972. !_EVNTS_HELPTAG_DATA%=0
  973.     g%!_EVNTS_HELPTAG_DATA%=
  974. (Q$)+1)
  975. :DA%=h%+16:
  976. G(DA%,_EVNTS_HELPTAG_DATA%,_EVNTS_HELPTAG_DATAOFFSET%,Q$):
  977. _U%!44<>-1
  978. #(_U%!44):_U%!44=-1
  979. _A:=_m_ExReg_FontLib_Loaded%
  980. AA(VA%):
  981. _U%!&64
  982. "WimpExt_Initialise",&E,VA%
  983. &600DD,VA%,&4B534154:
  984. &A1683,VA%:
  985. _U%!&64
  986. "XImpulse_CloseDown",_U%!&94
  987. fB%:fB%=_U%!68:
  988. &61504,fB%:
  989. &2001E,7,,fB%:
  990. &606C2:
  991. &600D0,,-1:
  992. AA(_U%!&94):
  993. Q(ZA$):
  994. AF%:!_ERRORS_ERR_BLK%=
  995. :$(_ERRORS_ERR_BLK%+4)=ZA$+
  996. =_ERRNR_NONFATAL
  997. =_ERRNR_CLAIMMEM
  998. &600DF,_ERRORS_ERR_BLK%,17,"Message from "+
  999. &600DF,_ERRORS_ERR_BLK%,1,
  1000. &606C2:
  1001. D("Resources:$.Resources.Edit.ThrowBack")
  1002. 1<<31)
  1003. ("Set Basic$File <"+
  1004. J+"$BasicFile>"):
  1005. "Edit:ThrowBack"
  1006. Q("Unexpected error:- "+
  1007. $+" Internal error code "+
  1008. EA:_m_DSave_DragASpriteInProgress%=
  1009. :_m_DSave_DragInProgress%=
  1010. BA%,o$:
  1011. &606C2:
  1012. <>_ERRNR_NONFATAL
  1013. <>_ERRNR_CLAIMMEM
  1014. 1<<31)
  1015. D("Resources:$.Resources.Edit.ThrowBack")
  1016. ("Set Basic$File <"+
  1017. J+"$BasicFile>"):
  1018. "Edit:ThrowBack"
  1019. Q("Unexpected error:- "+
  1020. $+" (Internal error code "+
  1021. +")")
  1022. $:BA%=
  1023. $,"in "+
  1024. 34+"EvntShell:ShellLib"):
  1025. BA%>0
  1026. $,BA%-1)
  1027. .o$+=" (Internal error code "+
  1028. +")":
  1029. Q(o$)
  1030. MA:=_m_ExReg_OLELib_Loaded%
  1031. t:=_m_Sliders_DragInProgess%
  1032. T(D$):
  1033. a%,s%,bA%:a%=
  1034. X(D$):bA%=
  1035. a%>=0
  1036. s%=!(bA%+a%+16)
  1037. N("SHELLMSG03",D$)
  1038. F(b%,e%):
  1039. b%<-2
  1040. _U%!&64
  1041. "WimpExt_GetIcon",,,b%,e%
  1042. ,,,K$
  1043. _c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=e%:
  1044. &400CE,,_c_Icon_GetIconStateBlk%:
  1045. (_c_Icon_GetIconStateBlk%!24
  1046. (1<<8))<>0
  1047. %K$=$(_c_Icon_GetIconStateBlk%!28)
  1048. K$=$(_c_Icon_GetIconStateBlk%+28)
  1049. JA(b%,e%):
  1050. XA%,IA%,i%:
  1051. &400D3,,_c_Icon_GetCaretPositionBlk%:IA%=_c_Icon_GetCaretPositionBlk%!0:XA%=_c_Icon_GetCaretPositionBlk%!4:
  1052. (XA%=e%
  1053. IA%=b%)
  1054. v(b%,mF%):
  1055. A$,a%,UA%,dB%,VC%,Y$:
  1056. s%,eB%,d%,o%,NB%:
  1057. zA%:UA%=0:VC%=0:dB%=
  1058. C(b%):a%=
  1059. B(A$,UA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,
  1060. a%>=0
  1061. B(A$,UA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,
  1062. )>-1:a%=_m_Evnts_LastEvntOffset%:d%=!_EVNTS_PANES_ANCHOR%+a%:zA%=d%!20:
  1063. zA%=mF%
  1064. eB%=d%!16:zA%=d%!20:o%=!_EVNTS_PANES_DATA%:Y$=$(o%+eB%):s%=
  1065. T(Y$):NB%=!s%:_c_Evnts_PaneBlk%!0=NB%:
  1066. &400CB,,_c_Evnts_PaneBlk%:
  1067. VC%=0
  1068. B0VC%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8
  1069. :UA%+=1:
  1070. :=VC%
  1071. f(b%):=
  1072. v(b%,4)
  1073. g(b%):=
  1074. v(b%,2)
  1075. GA(b%):
  1076. p%:_c_WindowsGetStateBlk%!0=b%:
  1077. &400CB,,_c_WindowsGetStateBlk%:p%=_c_WindowsGetStateBlk%!32:=p%
  1078. w(b%):
  1079. i%:i%=
  1080. GA(b%)
  1081. 1<<16)
  1082. b%=-1
  1083. b%=-2
  1084. F(b%,aF%,fF%):
  1085. _A%:_A%=
  1086. A(36):!_A%=b%:
  1087. &400CB,,_A%:_A%!20+=aF%:_A%!24+=fF%:
  1088. w(b%)
  1089. &400C5,,_A%
  1090. &400C5,,_A%:
  1091. &400C6,,_A%
  1092. A(_A%):
  1093. H(b%,e%):
  1094. wA%,AB%,yE%:
  1095. FF%,OF%,PF%:
  1096. gD%,pD%,qD%,yD%:
  1097. zD%,_D%:
  1098. sE%,tE%:
  1099. BE%,FE%:
  1100. HE%,JE%:
  1101. e%>=0
  1102. A(36):AB%=
  1103. A(40):!wA%=b%:
  1104. &400CB,,wA%:yE%=wA%!4:FF%=wA%!8:OF%=wA%!&C:PF%=wA%!16:zD%=wA%!20:_D%=wA%!24:tE%=OF%-yE%:sE%=PF%-FF%:AB%!0=b%:AB%!4=e%:
  1105. &400CE,,AB%:gD%=AB%!8:pD%=AB%!&C:qD%=AB%!16:yD%=AB%!20:BE%=zD%:JE%=_D%:HE%=zD%+tE%:FE%=_D%-sE%
  1106. -gB%=
  1107. f(b%)+8:qB%=
  1108. g(b%)+8:
  1109. pD%<(FE%+gB%)
  1110. F(b%,0,pD%-FE%-gB%)
  1111. yD%>(JE%-qB%-gB%)
  1112. F(b%,0,yD%-JE%+qB%+gB%+&C)
  1113. qD%>HE%
  1114. F(b%,qD%-HE%,0)
  1115. gD%<BE%
  1116. F(b%,gD%-BE%,0)
  1117. A(wA%):
  1118. A(AB%)
  1119. HA(IA%,XA%,ID%,cD%,cA%,SB%):
  1120. &400D2,IA%,XA%,ID%,cD%,cA%,SB%:
  1121. H(IA%,XA%):
  1122. C(IA%,XA%,J$,Q):
  1123. _U%!&64
  1124. "WimpExt_SetIconString",,,IA%,XA%,J$+
  1125. F(IA%,XA%):
  1126. J$<>YA$
  1127. _c_Icon_GetIconStateBlk%!0=IA%:_c_Icon_GetIconStateBlk%!4=XA%:
  1128. &400CE,,_c_Icon_GetIconStateBlk%:
  1129. (_c_Icon_GetIconStateBlk%!24
  1130. (1<<8))<>0
  1131. J$>_c_Icon_GetIconStateBlk%!36
  1132. E(_c_Icons_IconOverFlowMess$)
  1133. :$(_c_Icon_GetIconStateBlk%!28)=J$
  1134. $(_c_Icon_GetIconStateBlk%+28)=
  1135. J$,&B)
  1136. JA(IA%,XA%)
  1137. HA(IA%,XA%,-1,-1,-1,
  1138. (J$))
  1139. a_c_Icon_GetIconStateBlk%!8=0:_c_Icon_GetIconStateBlk%!&C=0:
  1140. &400CD,,_c_Icon_GetIconStateBlk%
  1141. c(hB%,_value%):
  1142. h%,h%,JF%,NF%,EA%:
  1143. s%,w$,k%,JG%,NG%:
  1144. aG%,LG%,PG%,g%,w$:
  1145. L$,oA%,aC%,JD%:
  1146. hB%<0
  1147. nh%=!_EVNTS_SLIDERS_ANCHOR%:h%+=hB%:JF%=h%!&C:NF%=h%!16:EA%=h%!20:aC%=h%!36:w$=$h%:s%=
  1148. T(w$):b%=!s%:
  1149. b%<=0
  1150. b%=s%!4
  1151. :_m_Sliders_IconBlk%!0=b%:_m_Sliders_IconBlk%!4=NF%:
  1152. &400CE,,_m_Sliders_IconBlk%:LD%=_m_Sliders_IconBlk%!16:bC%=_m_Sliders_IconBlk%!8:cC%=_m_Sliders_IconBlk%!&C:OD%=_m_Sliders_IconBlk%!20:JD%=
  1153. (cC%)-
  1154. (OD%):KD%=LD%-bC%:_m_Sliders_IconBlk%!4=JF%
  1155. &400CE,,_m_Sliders_IconBlk%:
  1156. &400C4,,_m_Sliders_IconBlk%:_m_Sliders_IconBlk%!4=b%:
  1157. _value%>&64
  1158. _value%=&64
  1159. _value%<=0
  1160. _value%=0:
  1161. KD%>JD%
  1162. 0_m_Sliders_IconBlk%!16=_m_Sliders_IconBlk%!8
  1163. _m_Sliders_IconBlk%!20=_m_Sliders_IconBlk%!&C
  1164. KD%>JD%
  1165. #F_m_Sliders_IconBlk%!16=bC%+(LD%*(_value%/&64))-(bC%*(_value%/&64))
  1166. _m_Sliders_IconBlk%!20=cC%+(OD%*(_value%/&64))-(cC%*(_value%/&64))
  1167. :h%!36=_value%:
  1168. &400C2,,_m_Sliders_IconBlk%+4:
  1169. &400D1,b%,bC%,cC%,LD%,OD%:oA%=!_EVNTS_SLIDERS_DATA%:
  1170. oA%>0
  1171. L$=$(oA%+h%!32)
  1172. L$<>""
  1173. 3"g%=
  1174. ("FN"+L$+"("+
  1175. _value%+")")
  1176. EA%>=0
  1177. C(b%,EA%,
  1178. (_value%),
  1179. b%,IC%,FA%,j%,g%,dC%,GA%:
  1180. &400CF,,_m_Sliders_MPtrBlk%:b%=_m_Sliders_MPtrBlk%!&C:IC%=!_m_Sliders_MPtrBlk%:dC%=_m_Sliders_MPtrBlk%!4:
  1181. IC%<>_m_Sliders_LastXPos%
  1182. dC%<>_m_Sliders_LastYPos%
  1183. _m_Sliders_LastXPos%=IC%:_m_Sliders_LastYPos%=dC%:j%=_m_Sliders_WorkBlk%:!j%=b%:
  1184. &400CB,,j%:FA%=IC%-j%!4:GA%=dC%-j%!16:j%!4=_m_Sliders_SliderIcon%:
  1185. &400CE,,j%:
  1186. &400C4,,j%:j%!4=b%:
  1187. _m_Sliders_MaxLength%>_m_Sliders_MaxHeight%
  1188. j%!16=FA%:
  1189. &400C2,,j%+4:
  1190. &400D1,b%,j%!8,j%!&C,j%!8+_m_Sliders_MaxLength%,j%!20:_value%=((FA%-j%!8)*&64)/_m_Sliders_MaxLength%:
  1191. c(_m_Sliders_CurrentSliderHandle%,_value%)
  1192. j%!20=GA%:
  1193. &400C2,,j%+4:
  1194. &400D1,b%,j%!8,j%!&C,j%!8+_m_Sliders_MaxLength%,j%!20+_m_Sliders_MaxHeight%:_value%=((GA%-j%!&C)*&64)/_m_Sliders_MaxHeight%
  1195. _m_Slider_NotifyFN$<>""
  1196. `3g%=
  1197. ("FN"+_m_Slider_NotifyFN$+"("+
  1198. _value%+")")
  1199. :_m_Sliders_LastXPos%=IC%
  1200. x:=_m_Evnts_HeaderSize%
  1201. d%,w%,eC%,c%,l%,e%,A$,XG%:
  1202. s%,b%,p$,WA$,B$,z%:
  1203. o%,DA%:d%=!_EVNTS_ICONWATCH_ANCHOR%:w%=_EVNTS_ICONWATCH_REC_SIZE%:eC%=d%!4:
  1204. c%=_m_Evnts_HeaderSize%:
  1205. eC%:A$=$(d%+c%):e%=d%!(c%+&C):z%=d%!(c%+16):o%=!_EVNTS_ICONWATCH_DATA%:B$=$(o%+z%):WA$=_c_evnts_CurrentContents$( (c%-
  1206. _EVNTS_ICONWATCH_REC_SIZE%):s%=
  1207. T(A$):
  1208. s%<>-1
  1209. m%=0:
  1210. :b%=s%!m%:
  1211. w(b%)=
  1212. F(b%,e%):
  1213. B$<>""
  1214. p$<>WA$
  1215. ("FN"+B$+"( "+
  1216. (34)+p$+
  1217. (34)+" )"):_c_evnts_CurrentContents$( (c%-
  1218. _EVNTS_ICONWATCH_REC_SIZE%)=p$
  1219. :m%+=4:
  1220. s%!m%=-1
  1221. :c%+=_EVNTS_ICONWATCH_REC_SIZE%:
  1222. OA:=_m_evnts_DragIconWritableDrag%
  1223. OA%):
  1224. &400CF,,_m_Pointer_GetInfoBlk%:NA%=_m_Pointer_GetInfoBlk%!0:OA%=_m_Pointer_GetInfoBlk%!4:
  1225. &400CF,,_m_Pointer_GetInfoBlk%:b%=_m_Pointer_GetInfoBlk%!&C:
  1226. NA(rE%,DF%,NA%,OA%,
  1227. qA%):pA%=NA%-rE%:qA%=OA%-DF%:OB%=
  1228. :PB%=
  1229. :RB%=
  1230. :QB%=
  1231. (pA%)>
  1232. (qA%)
  1233. NA%>rE%
  1234.     RB%=
  1235. OA%<DF%
  1236.     PB%=
  1237. pA%<>0
  1238. qA%<>0
  1239. _m_evnts_DragIconLastScrollUp%=OB%:_m_evnts_DragIconLastScrollDown%=PB%:_m_evnts_DragIconLastScrollLeft%=QB%:_m_evnts_DragIconLastScrollRight%=RB%:_m_evnts_DragIconLastDX%=pA%:_m_evnts_DragIconLastDY%=qA%
  1240. qA%):OB%=_m_evnts_DragIconLastScrollUp%:PB%=_m_evnts_DragIconLastScrollDown%:QB%=_m_evnts_DragIconLastScrollLeft%:RB%=_m_evnts_DragIconLastScrollRight%:pA%=_m_evnts_DragIconLastDX%:qA%=_m_evnts_DragIconLastDY%:
  1241. L:=_m_evnts_DragIconStartWindow%
  1242. rB%,b%,OA%,NA%:
  1243. OB%,PB%,QB%,RB%,pA%,qA%,qB%:
  1244. R(NA%,OA%):
  1245. MA(b%):
  1246. NA(_m_evnts_DragIconMouseX%,_m_evnts_DragIconMouseY%,NA%,OA%,OB%,PB%,QB%,RB%,pA%,qA%):
  1247. pA%<>0
  1248. qA%<>0
  1249. =_m_evnts_DragIconMouseX%=NA%:_m_evnts_DragIconMouseY%=OA%
  1250. OA(OB%,PB%,QB%,RB%,pA%,qA%):
  1251. pA%<>0
  1252. qA%<>0
  1253. NA%>(_m_evnts_DragIconWinXMax%-_m_evnts_DragIconMargin%)
  1254. L,NA%-(_m_evnts_DragIconWinXMax%-_m_evnts_DragIconMargin%),0)
  1255. NA%<(_m_evnts_DragIconWinXMin%+_m_evnts_DragIconMargin%)
  1256. L,NA%-(_m_evnts_DragIconWinXMin%+_m_evnts_DragIconMargin%),0)
  1257. :gB%=
  1258. OA%<(_m_evnts_DragIconWinYMin%+_m_evnts_DragIconMargin%+gB%)
  1259. L,0,OA%-(_m_evnts_DragIconWinYMin%+_m_evnts_DragIconMargin%+
  1260. :qB%=
  1261. OA%>(_m_evnts_DragIconWinYMax%-_m_evnts_DragIconMargin%-qB%)
  1262. L,0,OA%-(_m_evnts_DragIconWinYMax%-_m_evnts_DragIconMargin%-
  1263. gA:=_m_ExReg_ColourPick_Loaded%
  1264. QA(_window_handle%,j%,iC%,jC%):
  1265. A$,a%,B$,d%,o%,g%:A$=
  1266. C(_window_handle%):a%=
  1267. B(A$,-1,_EVNTS_REDRAW_ANCHOR%,_EVNTS_REDRAW_REC_SIZE%,
  1268. a%>=0
  1269. Vd%=!_EVNTS_REDRAW_ANCHOR%+a%:z%=d%!16:o%=!_EVNTS_REDRAW_DATA%:B$=$(o%+z%):
  1270. B$<>""
  1271. ("FN"+B$+"("+
  1272. j%+","+
  1273. iC%+","+
  1274. jC%+")")
  1275. f(q%):
  1276. UD%,hA$,iC%,jC%,j%:
  1277. q%<>-1
  1278. A(&64):j%!0=q%:
  1279. &400C8,,j%
  1280. UD%:iC%=j%!4-j%!20:jC%=j%!16-j%!24:
  1281. &81681,,j%:
  1282. QA(q%,j%,iC%,jC%):
  1283. &400CA,,j%
  1284. A(j%)
  1285. g(_window_handle%,VD%,KC%):
  1286. a%,kE%,sB%,cA%,nA%:
  1287. tB%,lE%,mE%:
  1288. A$,d%,z%,o%:
  1289. B$,g%,UA%,dB%,zA%,uB%:
  1290. LC%,s%,NB%,ZD%:
  1291. pE%:A$=
  1292. C(_window_handle%):sB%=_Q%!28:a%=
  1293. B(A$,-1,_EVNTS_WINDOWOPEN_ANCHOR%,_EVNTS_WINDOWOPEN_REC_SIZE%,
  1294. a%>=0
  1295. Ind%=!_EVNTS_WINDOWOPEN_ANCHOR%+a%:z%=d%!16:o%=!_EVNTS_WINDOWOPEN_DATA%:B$=$(o%+z%):g%=
  1296. ("FN"+B$+"("+A$+")")
  1297. :tB%=
  1298. :_c_WindowsGetStateBlk%!0=_window_handle%:
  1299. &400CB,,_c_WindowsGetStateBlk%:
  1300. (_c_WindowsGetStateBlk%!32
  1301. &80000)=&80000
  1302. &400CF,,_c_WindowsGetPInfoBlk%:_Q%!0=_window_handle%:
  1303. &400CB,,_Q%
  1304. &400C5,,_Q%
  1305. :dB%=
  1306. B(A$,UA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,
  1307. a%>=0
  1308. d!_Q%!0=_window_handle%:
  1309. KC%>0
  1310. sB%=KC%
  1311. sB%=-1
  1312. sB%=_Q%!28
  1313. &400C5,,_Q%:
  1314. &400CB,,_Q%:
  1315. &400C6,,_Q%
  1316. :UA%=0:
  1317. B(A$,UA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,
  1318. )>-1:a%=_m_Evnts_LastEvntOffset%:d%=!_EVNTS_PANES_ANCHOR%+a%:eB%=d%!16:o%=!_EVNTS_PANES_DATA%:Y$=$(o%+eB%):zA%=d%!20:ZD%=
  1319. :uB%=d%!24:LC%=d%!28:
  1320. (1<<8)
  1321. :zA%=zA%
  1322. (1<<8)
  1323. T(Y$):NB%=!s%:_c_Evnts_PaneBlk%!0=NB%:
  1324. kE%=0
  1325. kE%=_c_Evnts_PaneBlk%!0
  1326. {lE%=_c_Evnts_PaneBlk%!0:
  1327. &400CB,,_c_Evnts_PaneBlk%:
  1328. _c_WindowsGetPInfoBlk%!16=-9
  1329. _c_WindowsGetPInfoBlk%!16>-5
  1330. 0,1:cA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:nA%=_c_Evnts_PaneBlk%!&C-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!4+uB%:_c_Evnts_PaneBlk%!&C=_c_Evnts_PaneBlk%!4+nA%:_c_Evnts_PaneBlk%!16=_Q%!16+LC%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16-cA%
  1331. 2:cA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:nA%=_Q%!&C-_Q%!4:_c_Evnts_PaneBlk%!4=_Q%!4+uB%:_c_Evnts_PaneBlk%!&C=_Q%!&C:_c_Evnts_PaneBlk%!16=_Q%!16+LC%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16-cA%
  1332. 3:cA%=_Q%!16-_Q%!8:nA%=_c_Evnts_PaneBlk%!&C-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!4+uB%:_c_Evnts_PaneBlk%!&C=_c_Evnts_PaneBlk%!4+nA%:_c_Evnts_PaneBlk%!16=_Q%!16:_c_Evnts_PaneBlk%!8=_Q%!8+LC%
  1333. 4:cA%=_c_Evnts_PaneBlk%!16-_c_Evnts_PaneBlk%!8:nA%=_Q%!&C-_Q%!4:_c_Evnts_PaneBlk%!4=_Q%!4+uB%:_c_Evnts_PaneBlk%!&C=_Q%!&C:_c_Evnts_PaneBlk%!16=_Q%!8+cA%+LC%:_c_Evnts_PaneBlk%!8=_c_Evnts_PaneBlk%!16+cA%
  1334. 5:cA%=_Q%!16-_Q%!8:nA%=_c_Evnts_PaneBlk%!&C-_c_Evnts_PaneBlk%!4:_c_Evnts_PaneBlk%!4=_Q%!&C-nA%+uB%:_c_Evnts_PaneBlk%!&C=_c_Evnts_PaneBlk%!4+nA%:_c_Evnts_PaneBlk%!16=_Q%!16:_c_Evnts_PaneBlk%!8=_Q%!8
  1335. :pE%=_c_Evnts_PaneBlk%!28:
  1336. UA%=0
  1337. _c_Evnts_PaneBlk%!28=sB%
  1338. _c_Evnts_PaneBlk%!28=mE%
  1339. &400C5,,_c_Evnts_PaneBlk%
  1340. _c_Evnts_PaneBlk%!0=pE%
  1341. :mE%=_c_Evnts_PaneBlk%!0:UA%+=1:
  1342. _Q%!28=lE%:
  1343. &400C5,,_Q%
  1344. _Q%!0=_window_handle%:
  1345. &400CB,,_Q%
  1346. sB%=-2
  1347. _Q%!28=-2
  1348. KC%=-1
  1349. _Q%!28=-1
  1350. &400C5,,_Q%
  1351. h(b%):
  1352. a%,_%,FG%,UA%,eB%,A$:
  1353. d%,Y$,s%,NB%:A$=
  1354. C(b%):
  1355. UA%=0:
  1356. B(A$,UA%,_EVNTS_PANES_ANCHOR%,_EVNTS_PANES_REC_SIZE%,
  1357. )>-1:a%=_m_Evnts_LastEvntOffset%:d%=!_EVNTS_PANES_ANCHOR%+a%:eB%=d%!16:o%=!_EVNTS_PANES_DATA%:Y$=$(o%+eB%):s%=
  1358. T(Y$):
  1359. s%<>-1
  1360. ?NB%=!s%:_c_Evnts_PaneBlk%!0=NB%:
  1361. &400C6,,_c_Evnts_PaneBlk%
  1362. :UA%+=1:
  1363. :_c_Evnts_PaneBlk%!0=b%:
  1364. &400C6,,_c_Evnts_PaneBlk%
  1365. UA(_window_handle%):
  1366. A$,a%,B$,d%,o%,bD%:A$=
  1367. C(_window_handle%):a%=
  1368. B(A$,-1,_EVNTS_WINDOWCLOSE_ANCHOR%,_EVNTS_WINDOWCLOSE_REC_SIZE%,
  1369. ):bD%=
  1370. a%>=0
  1371. `d%=!_EVNTS_WINDOWCLOSE_ANCHOR%+a%:z%=d%!16:o%=!_EVNTS_WINDOWCLOSE_DATA%:B$=$(o%+z%):
  1372. B$<>""
  1373. .bD%=
  1374. ("FN"+B$+"("+
  1375. (_window_handle%)+" )")
  1376. h(_window_handle%)
  1377. _m_Pointer_ShapeChanged%=
  1378. ("Pointer"):_m_Pointer_ShapeChanged%=
  1379. :_m_Pointer_CurrentShape$=""
  1380. WA(_window_handle%):
  1381. A$,a%,d%,z%,o%,B$:
  1382. g%:A$=
  1383. C(_window_handle%):
  1384. A$<>""
  1385. #Ga%=
  1386. B(A$,-1,_m_PointerOut_Anchor%,_c_PointerOut_RecSize%,
  1387. a%>=0
  1388. %td%=!_m_PointerOut_Anchor%+a%:z%=d%!16:o%=!_m_PointerOut_DataBlk%:B$=$(o%+z%):g%=
  1389. ("FN"+B$+"( _window_handle% )")
  1390. XA(_window_handle%):
  1391. A$,a%,d%,z%,o%,B$:
  1392. g%:A$=
  1393. C(_window_handle%):
  1394. A$<>""
  1395. :Ea%=
  1396. B(A$,-1,_m_PointerIn_Anchor%,_c_PointerIn_RecSize%,
  1397. a%>=0
  1398. <rd%=!_m_PointerIn_Anchor%+a%:z%=d%!16:o%=!_m_PointerIn_DataBlk%:B$=$(o%+z%):g%=
  1399. ("FN"+B$+"( _window_handle% )")
  1400. h:=_U%!20
  1401. a(b%):
  1402. i%,v%,u%,I%,y%,q%:
  1403. S&y%=
  1404. S:v%=
  1405. v%!16<>-1
  1406. W.s%=v%!16:c%=0:
  1407. s%!c%<>-1:q%=s%!c%:
  1408. q%=b%
  1409. :c%+=4:
  1410. :v%+=20:
  1411. _(b%,e%):
  1412. p%:_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=e%:
  1413. &400CE,,_c_Icon_GetIconStateBlk%:p%=_c_Icon_GetIconStateBlk%!24:=p%
  1414. HA(b%,e%):
  1415. p%,i%,TB%,JB%:
  1416. a(b%)=
  1417. u9TB%=(1<<&D)+(1<<&E):p%=
  1418. _(b%,e%):i%=(p%
  1419. TB%):
  1420. i%=TB%
  1421. y    JB%=
  1422. :=JB%
  1423. G:=_EVNTS_LAST_WINDOWCLICKED%
  1424. K:=_EVNTS_LAST_ICONCLICKED%
  1425. b(n%):
  1426. vB%,oB%,kA%:
  1427. (_U%!&64
  1428. 1<<&A)
  1429. n%=-1
  1430. n%=-2
  1431. jvB%=
  1432. A(88):!_c_WindowsGetWInfoBlk%=n%:
  1433. &400CC,,_c_WindowsGetWInfoBlk%+1:kA%=_c_WindowsGetWInfoBlk%!88
  1434. A(6000):
  1435. $!vB%=n%:
  1436. &400CC,,vB%:kA%=vB%!88
  1437. A(vB%)
  1438. :=kA%
  1439. i(b%,e%):
  1440. k%,B,C,p%,kC%:k%=
  1441. A(&64+(
  1442. b(b%)*32)):!k%=b%:
  1443. &400CC,,k%:B=k%!4-k%!20:C=k%!16-k%!24:k%!4=e%:
  1444. &400CE,,k%:k%!0=b%:k%!4=_c_Icons_IconDragType%:p%=k%!24:kC%=k%!32:k%!8=k%!8+B:k%!&C=k%!&C+C:k%!16=k%!16+B:k%!20=k%!20+C
  1445. k%!24=_c_Icons_DragBBoxXMin%:k%!28=_c_Icons_DragBBoxYMin%:k%!32=_c_Icons_DragBBoxXMax%:k%!36=_c_Icons_DragBBoxYMax%:
  1446. &400D0,,k%:
  1447. A(k%):
  1448. LA:=_m_Icons_AllowWritableDrags%
  1449. BA(b%,e%):
  1450. p%,i%,TB%:
  1451. a(b%)=
  1452. /TB%=1<<&F:p%=
  1453. _(b%,e%):i%=(p%
  1454. TB%):
  1455. i%=TB%
  1456. j(b%,
  1457. BG%):!_c_WindowsGetStateBlk%=b%:
  1458. &400CB,,_c_WindowsGetStateBlk%:rF%=_c_WindowsGetStateBlk%!4:uF%=_c_WindowsGetStateBlk%!8:vF%=_c_WindowsGetStateBlk%!&C:BG%=_c_WindowsGetStateBlk%!16:
  1459. aA(b%,e%):
  1460. z%,o%,A$,a%:A$=
  1461. C(b%):a%=
  1462. B(A$,e%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_REC_SIZE%,
  1463. a%>=0
  1464. i(b%,e%):_m_evnts_DragIconStartWindow%=b%:_m_evnts_DragIconStartIcon%=e%
  1465. BA(b%,e%)
  1466. i(b%,e%):_m_evnts_DragIconStartWindow%=b%:_m_evnts_DragIconStartIcon%=e%:_m_evnts_DragIconWritableDrag%=
  1467. j(b%,_m_evnts_DragIconWinXMin%,_m_evnts_DragIconWinYMin%,_m_evnts_DragIconWinXMax%,_m_evnts_DragIconWinYMax%)
  1468. R(_m_evnts_DragIconMouseX%,_m_evnts_DragIconMouseY%)
  1469. NA:=_m_DSave_DragInProgress%
  1470. O(F$):
  1471. (F$)>0
  1472. (F$):
  1473. F$,l%,1)>="a"
  1474. F$,l%,1)<="z"
  1475. F$,l%,1)=
  1476. F$,l%,1))
  1477. PA(lC%,fA$):
  1478. I%,K$:
  1479. lC%<=0
  1480.     K$=""
  1481. O($lC%),";"+
  1482. O(fA$)):
  1483.     K$=""
  1484. $(lC%+I%),
  1485. $(lC%+I%)+";",";")-1)
  1486. k(b%,e%):
  1487. A$,h%,zE%,EA%:
  1488. dA%,L$,oA%,aC%,a%:A$=
  1489. C(b%):h%=!_EVNTS_SLIDERS_ANCHOR%:a%=
  1490. B(A$,e%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_REC_SIZE%,
  1491. a%=-1
  1492. 2He%+=1:a%=
  1493. B(A$,e%,_EVNTS_SLIDERS_ANCHOR%,_EVNTS_SLIDERS_REC_SIZE%,
  1494. :_m_Sliders_CurrentSliderHandle%=a%:
  1495. a%>-1
  1496. 8YdA%=h%+a%:zE%=!(dA%+16):EA%=!(dA%+20):aC%=!(dA%+36):oA%=!_EVNTS_SLIDERS_DATA%:
  1497. oA%>0
  1498. L$=$(oA%+dA%!32)
  1499. :_m_Sliders_DragBlk%!0=b%:_m_Sliders_DragBlk%!4=zE%:
  1500. &400CE,,_m_Sliders_DragBlk%:_m_Sliders_MaxLength%=_m_Sliders_DragBlk%!16-_m_Sliders_DragBlk%!8:_m_Sliders_MaxHeight%=_m_Sliders_DragBlk%!20-_m_Sliders_DragBlk%!&C:_m_Sliders_SliderIcon%=e%
  1501. _m_Sliders_DisplayIcon%=EA%:_m_Slider_NotifyFN$=L$:_m_Slider_CurrentValue%=aC%:_m_Sliders_DragBlk%!0=b%:
  1502. &400CB,,_m_Sliders_DragBlk%:FA%=_m_Sliders_DragBlk%!4-_m_Sliders_DragBlk%!20:GA%=_m_Sliders_DragBlk%!16-_m_Sliders_DragBlk%!24
  1503. _m_Sliders_DragBlk%!4=e%:
  1504. &400CE,,_m_Sliders_DragBlk%:_m_Sliders_DragBlk%!4=7:_m_Sliders_DragBlk%!8+=FA%:_m_Sliders_DragBlk%!&C+=GA%:_m_Sliders_DragBlk%!16+=FA%:_m_Sliders_DragBlk%!20+=GA%:_m_Sliders_DragBlk%!24=_m_Sliders_DragBlk%!8
  1505. Y__m_Sliders_DragBlk%!28=_m_Sliders_DragBlk%!&C:
  1506. _m_Sliders_MaxLength%>_m_Sliders_MaxHeight%
  1507. \u_m_Sliders_DragBlk%!32=_m_Sliders_DragBlk%!24+_m_Sliders_MaxLength%:_m_Sliders_DragBlk%!36=_m_Sliders_DragBlk%!20
  1508. _m_Sliders_DragBlk%!32=_m_Sliders_DragBlk%!24+_m_Sliders_MaxLength%:_m_Sliders_DragBlk%!36=_m_Sliders_DragBlk%!28+_m_Sliders_MaxHeight%
  1509. &400D0,,_m_Sliders_DragBlk%:_m_Sliders_DragInProgess%=
  1510. S(b%,e%):
  1511. A$,a%,d%,z%,o%,B$,g%:
  1512. VG%,k%,B,C,BF%,p%,kC%,CF%,VB%,v$:k%=
  1513. A(&64+(
  1514. b(b%)*32)):!k%=b%:
  1515. &400CC,,k%:B=k%!4-k%!20:C=k%!16-k%!24:BF%=k%!68:k%!4=e%:
  1516. &400CE,,k%:k%!0=b%:k%!4=_c_Icons_IconDragType%:p%=k%!24:kC%=k%!32:k%!8=k%!8+B:k%!&C=k%!&C+C
  1517. k%!16=k%!16+B:k%!20=k%!20+C:k%!24=_c_Icons_DragBBoxXMin%:k%!28=_c_Icons_DragBBoxYMin%:k%!32=_c_Icons_DragBBoxXMax%:k%!36=_c_Icons_DragBBoxYMax%:
  1518. 6,&A1,28
  1519. ,,VB%:CF%=((VB%
  1520. 2)=2):_m_DSave_DragASpriteInProgress%=
  1521. VB%=p%:
  1522. PA(kC%,"s")
  1523. E(_c_Icons_NotASpriteIconMess$))
  1524. v$<>""
  1525. &42400,_c_Icons_DragFlags%,BF%,v$,k%+8:_m_DSave_DragASpriteInProgress%=
  1526. &400D0,,k%
  1527. &400D0,,k%
  1528. A(k%):
  1529. k(b%,e%):
  1530. dA(b%,e%):
  1531. z%,o%:_m_DSave_DragInProgress%=
  1532. :_m_DSave_WindowName$=
  1533. C(b%):_m_DSave_EvntOffset%=
  1534. B(_m_DSave_WindowName$,e%,_m_DSave_Anchor%,_c_DSave_RecSize%,
  1535. _m_DSave_EvntOffset%>=0
  1536. _m_DSave_EvntList%=!_m_DSave_Anchor%+_m_DSave_EvntOffset%:_m_DSave_FileType%=_m_DSave_EvntList%!16:_m_DSave_NameIcon%=_m_DSave_EvntList%!20:_m_DSave_DataAddress%=_m_DSave_EvntList%!24:o%=!_m_DSave_DataBlk%:z%=_m_DSave_EvntList%!28
  1537. b_m_DSave_UserFN$=$(o%+z%):_m_DSave_FileName$=
  1538. F(b%,_m_DSave_NameIcon%):
  1539. _m_DSave_FileName$=""
  1540. E(_c_DSave_NoFileNameMess$))
  1541. :_m_DSave_DragInProgress%=
  1542. S(b%,e%)
  1543. QA(b%):
  1544. a%,e%,d%,z%,o%:
  1545. eA%,NA%,OA%,A$,IG%:
  1546. dD%:dD%=
  1547. :e%=-1:A$=
  1548. C(b%):a%=
  1549. B(A$,e%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_REC_SIZE%,
  1550. a%>=0
  1551. d%=!_EVNTS_DRAG_ANCHOR%+a%:z%=d%!16:o%=!_EVNTS_DRAG_DATA%:_m_Drag_CurrentFN$=$(o%+z%):_m_Drag_CurrentWindow$=A$:_m_Drag_CurrentWindowHandle%=b%:eA%=
  1552. A(40):eA%!0=b%:eA%!4=6:
  1553. R(NA%,OA%):eA%!8=NA%:eA%!&C=OA%:eA%!16=NA%:eA%!20=OA%
  1554. j(b%,_m_evnts_UserDrag_win_xmin%,_m_evnts_UserDrag_win_ymin%,_m_evnts_UserDrag_win_xmax%,_m_evnts_UserDrag_win_ymax%):eA%!24=_m_evnts_UserDrag_win_xmin%:eA%!28=_m_evnts_UserDrag_win_ymin%:eA%!32=_m_evnts_UserDrag_win_xmax%
  1555. aeA%!36=_m_evnts_UserDrag_win_ymax%:
  1556. &400D0,,eA%:_m_evnts_UserDragInProgress%=
  1557. A(eA%):dD%=
  1558. :=dD%
  1559. eA(b%,e%,SG%,gF%):
  1560. mC%,i%:mC%=
  1561. K):mC%=
  1562. gF%=_MSE_ADJUSTBUT
  1563. _m_Drag_AdjustUsed%=
  1564. _m_Drag_AdjustUsed%=
  1565. :mC%=
  1566. QA(b%)
  1567. m(T$):
  1568. c%,t%,mA%:
  1569. _m_MenuList_DataBlk%<>-1
  1570. yc%=0:
  1571. _m_MenuList_DataBlk%!c%<>_c_MenuList_ListTerm%:mA%=_m_MenuList_DataBlk%!c%:
  1572. $(mA%+_c_MenuList_HeaderSize%)=T$
  1573. t%=!mA%
  1574. :c%+=4:
  1575. SA:=_m_ExReg_FontMenu_Loaded%
  1576. T(FA%,GA%,t%):
  1577. &400D4,,t%,FA%-64,GA%
  1578. _Q%!0=FA%:_Q%!4=GA%:
  1579. &65BC5,t%,_Q%
  1580. _Q%!0=FA%:_Q%!4=GA%:
  1581. &65BC5,t%,_Q%
  1582. :_m_Menu_HandleLastOpened%=t%:_m_Menu_LastXPos%=FA%:_m_Menu_LastYPos%=GA%:_U%!52=_U%!28:_U%!56=_U%!32:
  1583. UA:=_m_Menu_MovePointerOnPopup%
  1584. m(_Q%,vA%,n%,ZA%,jF%):
  1585. iB%,wB%:
  1586. T(_Q%!0,_Q%!4,vA%)
  1587. A(50):wB%=
  1588. A(36):iB%!0=n%:iB%!4=ZA%:
  1589. &400CE,,iB%:wB%!0=n%:
  1590. &400CB,,wB%:
  1591. T(wB%!4+iB%!16+64,_Q%!4,vA%):
  1592. wB%!4+iB%!16+64,_Q%!4
  1593. A(iB%):
  1594. A(wB%)
  1595. n(_window_handle%,_icon_handle%):
  1596. A$,a%,o%,KA%,d%,nC%,t%:
  1597. bG%,L$,V$,g%,P$:A$=
  1598. C(_window_handle%):a%=
  1599. B(A$,_icon_handle%,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_REC_SIZE%,
  1600. a%>=0
  1601. dwd%=!_EVNTS_POPUPS_ANCHOR%+a%:KA%=d%!16:o%=!_EVNTS_POPUPS_DATA%:nB%=d%!&C:EA%=d%!20:nC%=d%!24:
  1602. nC%=_POPUP_TYPE_TEXT
  1603. KA%=d%!28:
  1604. KA%>=0
  1605. P$=$(o%+KA%)
  1606. m(P$)
  1607. P$="":t%=0
  1608. KA%>=0
  1609. L$=$(o%+KA%)
  1610. :KA%=d%!32:
  1611. KA%>=0
  1612. +V$=$(o%+KA%):
  1613. nC%=_POPUP_TYPE_FONTMENU
  1614. ("FN"+V$+"("+
  1615. TA)+")")
  1616. ("FN"+V$+"("+
  1617. (t%)+")")
  1618. _POPUP_TYPE_TEXT:
  1619. m(_Q%,t%,_window_handle%,_icon_handle%,
  1620. _POPUP_TYPE_WIMPCOLOUR:
  1621. _m_WimpColMen_Handle%=-1
  1622. &45BCF,,"",L$
  1623. _m_WimpColMen_Handle%
  1624. m(_Q%,_m_WimpColMen_Handle%,_window_handle%,_icon_handle%,
  1625. _POPUP_TYPE_COLOUR24:
  1626. JC(_window_handle%,EA%,nB%,L$,V$)
  1627. _POPUP_TYPE_FONTMENU:
  1628. KC(_Q%,_window_handle%,_icon_handle%,
  1629. _POPUP_TYPE_FONTPICK:
  1630. MC(_window_handle%,EA%,nB%,L$,V$)
  1631. _POPUP_TYPE_DATEPICK:
  1632. CC(_window_handle%,EA%,nB%,L$)
  1633. 99,"Unknown popup type detected!"
  1634. VA:=_EVNTS_LAST_MOUSEBUTTON%
  1635. o(_window_handle%,_icon_handle%):
  1636. A$,a%,d%,oC%:
  1637. rA%,xB%,WB%,XB%,jB%,hD%,iD%:
  1638. yB%,jD%,_new_val$,_new_val%,DA%,x$,y$:
  1639. z$:A$=
  1640. C(_window_handle%):a%=
  1641. B(A$,_icon_handle%,_EVNTS_BUMP_ANCHOR%,_EVNTS_BUMP_REC_SIZE%,
  1642. ):jB%=
  1643. a%>=0
  1644. 8d%=!_EVNTS_BUMP_ANCHOR%+a%:
  1645. d%!40
  1646. (1<<2)
  1647. d%!40
  1648. (1<<0)
  1649. d%-=_EVNTS_BUMP_REC_SIZE%
  1650. IrA%=d%!16:xB%=d%!20:WB%=d%!24:XB%=d%!28:hD%=
  1651. (-1):iD%=
  1652. (-2):
  1653. *rA%=rA%*_c_Bumpers_ShiftCtrlKeyFactor%
  1654. rA%=rA%*_c_Bumpers_ShiftKeyFactor%
  1655. rA%=rA%*_c_Bumpers_CtrlKeyFactor%
  1656. :oA%=!_EVNTS_BUMP_DATA%:
  1657. oA%>0
  1658. d%!32>=0
  1659. x$=$(oA%+d%!32)
  1660. d%!36>=0
  1661. y$=$(oA%+d%!36)
  1662. F(_window_handle%,xB%):
  1663. y$<>""
  1664. 'yB%=
  1665. ("FN"+y$+"( "+
  1666. 34+z$+
  1667. 34+" )")
  1668. jB%=_MSE_ADJUSTBUT
  1669. _new_val%=yB%+rA%
  1670. _new_val%=yB%-rA%
  1671. jB%=_MSE_ADJUSTBUT
  1672. _new_val%=yB%-rA%
  1673. _new_val%=yB%+rA%
  1674. _new_val%>XB%
  1675. _new_val%=XB%
  1676. _new_val%<WB%
  1677. _new_val%=WB%
  1678. _new_val%>XB%
  1679. _new_val%=WB%
  1680. _new_val%<WB%
  1681. _new_val%=XB%
  1682. x$<>""
  1683. /_new_val$=
  1684. ("FN"+x$+"(_new_val%,"+
  1685. jB%+")")
  1686. _new_val$=
  1687. _new_val%
  1688. C(_window_handle%,xB%,_new_val$,
  1689. jA(_window_handle%,_icon_handle%):
  1690. A$,a%,B$,d%,o%,i%,e$:A$=
  1691. C(_window_handle%):
  1692. A$="iconbar"
  1693. _icon_handle%=-1
  1694. B(A$,_icon_handle%,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,
  1695. B(A$,-1,_EVNTS_CLICKSELECT_ANCHOR%,_EVNTS_CLICKSELECT_REC_SIZE%,
  1696. a%>=0
  1697. d%=!_EVNTS_CLICKSELECT_ANCHOR%+a%:z%=d%!16:o%=!_EVNTS_CLICKSELECT_DATA%:B$=$(o%+z%):g%=
  1698. ("FN"+B$+"( _window_handle%, _icon_handle% )"):
  1699. _icon_handle%=0
  1700. _window_handle%=_U%!20
  1701. h(_window_handle%)
  1702. _icon_handle%>=0
  1703. A$<>"iconbar"
  1704. n(_window_handle%,_icon_handle%):
  1705. o(_window_handle%,_icon_handle%)
  1706. kA(_window_handle%,_icon_handle%):
  1707. A$,a%,d%,iE%,Z$,kD%,g%:
  1708. zB%:A$=
  1709. C(_window_handle%):
  1710. A$="iconbar"
  1711. _icon_handle%=-1
  1712. B(A$,_icon_handle%,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,
  1713. B(A$,-1,_EVNTS_CLICKMENU_ANCHOR%,_EVNTS_CLICKMENU_REC_SIZE%,
  1714. a%>=0
  1715. d%=!_EVNTS_CLICKMENU_ANCHOR%+a%:zB%=d%!16:iE%=d%!20:kD%=!_EVNTS_CLICKMENU_DATA%:t%=
  1716. m($(kD%+zB%)):Z$=$(kD%+iE%):_EVNTS_LAST_MENUMAKER_FN$=Z$:
  1717. Z$<>""
  1718. M@g%=
  1719. ("FN"+Z$+"( "+
  1720. _window_handle%+", "+
  1721. _icon_handle%+" )")
  1722. T(_Q%!0,_Q%!4,t%)
  1723. _window_handle%>0
  1724. n(_window_handle%,_icon_handle%)
  1725. lA(_window_handle%,_icon_handle%):
  1726. A$,a%,B$,d%,o%:A$=
  1727. C(_window_handle%):
  1728. A$="iconbar"
  1729. _icon_handle%=-1
  1730. B(A$,_icon_handle%,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,
  1731. B(A$,-1,_EVNTS_CLICKADJUST_ANCHOR%,_EVNTS_CLICKADJUST_REC_SIZE%,
  1732. a%>=0
  1733. d%=!_EVNTS_CLICKADJUST_ANCHOR%+a%:z%=d%!16:o%=!_EVNTS_CLICKADJUST_DATA%:B$=$(o%+z%):g%=
  1734. ("FN"+B$+"(_window_handle%,_icon_handle%)")
  1735. _window_handle%>0
  1736. o(_window_handle%,_icon_handle%)
  1737. PA%,A$,a%,d%,z%,o%:
  1738. g%,B$,_$,RA$,NC%,nD%:A$=
  1739. C(_m_evnts_DragIconStartWindow%):a%=
  1740. B(A$,_m_evnts_DragIconStartIcon%,_EVNTS_DRAG_ANCHOR%,_EVNTS_DRAG_REC_SIZE%,
  1741. ):PA%=
  1742. A(30):
  1743. &400CF,,PA%:_m_evnts_MouseXCoord%=PA%!0:_m_evnts_MouseYCoord%=PA%!4
  1744. U_m_evnts_DestWindowHandle%=PA%!&C:_m_evnts_DestIconHandle%=PA%!16:
  1745. A(PA%):
  1746. a%>=0
  1747. d%=!_EVNTS_DRAG_ANCHOR%+a%:z%=d%!16:o%=!_EVNTS_DRAG_DATA%:B$=$(o%+z%):g%=
  1748. ("FN"+B$+"("+
  1749. _m_evnts_DestTaskHandle%+","+
  1750. _m_evnts_DestWindowHandle%+","+
  1751. _m_evnts_DestIconHandle%+","+
  1752. _m_evnts_MouseXCoord%+","+
  1753. _m_evnts_MouseYCoord%+")")
  1754. _m_evnts_DragIconWritableDrag%=
  1755. ~_m_evnts_DragIconWritableDrag%=
  1756. BA(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%)
  1757. a(_m_evnts_DestWindowHandle%)
  1758. F(_m_evnts_DragIconStartWindow%,_m_evnts_DragIconStartIcon%):RA$=
  1759. F(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%):
  1760. C(_m_evnts_DragIconStartWindow%,_m_evnts_DragIconStartIcon%,"",
  1761. (_m_evnts_DestWindowHandle%<>_m_evnts_DragIconStartWindow%)
  1762.     NC%=
  1763. (_m_evnts_DestIconHandle%<>_m_evnts_DragIconStartIcon%)
  1764.     nD%=
  1765. (NC%=
  1766. (NC%=
  1767. C(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%,RA$+_$,
  1768. C(_m_evnts_DestWindowHandle%,_m_evnts_DestIconHandle%,_$,
  1769. PA%,QA%,oD%:
  1770. _m_DSave_DragInProgress%
  1771. _m_DSave_DragASpriteInProgress%
  1772. &42401:_m_DSave_DragASpriteInProgress%=
  1773. :_m_DSave_DragInProgress%=
  1774. :PA%=
  1775. A(30):
  1776. &400CF,,PA%:_m_DSave_DestTaskHandle%=PA%!4:_m_DSave_DestWindowHandle%=PA%!&C:_m_DSave_DestIconHandle%=PA%!16:_m_DSave_MouseXCoord%=PA%!0:_m_DSave_MouseYCoord%=PA%!4:
  1777. _m_DSave_DataAddress%>&8000
  1778. #oD%=
  1779. l(_m_DSave_DataAddress%)-4
  1780. oD%=_m_DSave_DataAddress%
  1781. :QA%=
  1782. A(60):QA%!0=60:QA%!&C=0:QA%!16=1:QA%!20=_m_DSave_DestWindowHandle%:QA%!24=_m_DSave_DestIconHandle%:QA%!28=_m_DSave_MouseXCoord%:QA%!32=_m_DSave_MouseXCoord%:QA%!36=oD%:QA%!40=_m_DSave_FileType%:$(QA%+44)=
  1783. c(_m_DSave_FileName$)
  1784. &400E7,18,QA%,_m_DSave_DestWindowHandle%,_m_DSave_DestIconHandle%:_m_DSave_MessageMyRef%=QA%!8:
  1785. A(PA%):
  1786. A(QA%)
  1787. oA:_m_Sliders_DragInProgess%=
  1788. XA:=_m_evnts_UserDragInProgress%
  1789. pA(qC%,rC%,rD%,sD%):
  1790. tD%,uD%,nE%,oE%:
  1791. g%:_m_evnts_UserDragInProgress%=
  1792. rD%<qC%
  1793. rD%,qC%
  1794. sD%<rC%
  1795. sD%,rC%
  1796. :tD%=qC%-_m_evnts_UserDrag_win_xmin%:uD%=rC%-_m_evnts_UserDrag_win_ymax%:nE%=tD%+(rD%-qC%):oE%=uD%+(sD%-rC%):g%=
  1797. ("FN"+_m_Drag_CurrentFN$+"("+
  1798. (_m_Drag_CurrentWindowHandle%)+","+
  1799. (tD%)+","+
  1800. (uD%)+","+
  1801. (nE%)+","+
  1802. (oE%)+","+
  1803. (_m_Drag_AdjustUsed%)+")")
  1804. qA(n%,ZA%,YF%):
  1805. 6,&F,1:_Q%!8=YF%:_Q%!&C=n%:_Q%!16=ZA%:
  1806. b(6):
  1807. YA(n%,ZA%,vD%):
  1808. kA%,YB%,ZB%,m%:
  1809. sC%,tC%,jA%,AE%:AE%=
  1810. :kA%=
  1811. b(n%):jA%=
  1812. A((kA%+1)*4):
  1813. &400D3,,jA%:
  1814. !jA%=-1
  1815. A(jA%):AE%=
  1816. &400D6,n%,jA%,&40E000,&E000:YB%=!jA%:m%=0:
  1817. jA%!m%=ZA%
  1818. !sC%=jA%!(m%-4):tC%=jA%!(m%+4)
  1819. :m%+=4:
  1820. jA%!m%=-1:ZB%=jA%!(m%-4):
  1821. qA(n%,0,4)
  1822. 398,394:
  1823. ZA%=ZB%
  1824. &400D2,n%,YB%,-1,-1,-1,
  1825. F(n%,YB%)):
  1826. H(n%,YB%)
  1827. &400D2,n%,tC%,-1,-1,-1,
  1828. F(n%,tC%)):
  1829. H(n%,tC%)
  1830. 399,410:
  1831. ZA%=YB%
  1832. &400D2,n%,ZB%,-1,-1,-1,
  1833. F(n%,ZB%)):
  1834. H(n%,ZB%)
  1835. &400D2,n%,sC%,-1,-1,-1,
  1836. F(n%,sC%)):
  1837. H(n%,sC%)
  1838. &400D2,n%,YB%,-1,-1,-1,
  1839. F(n%,YB%)):
  1840. H(n%,YB%)
  1841. &400D2,n%,ZB%,-1,-1,-1,
  1842. F(n%,ZB%)):
  1843. H(n%,ZB%)
  1844. A(jA%)
  1845. p(D$,
  1846. cB%:cB%=
  1847. CA(D$):cB%!64=_U%!16:
  1848. &400C1,,cB%
  1849. X(D$,b%):
  1850. e(q%):
  1851. e(q%)=
  1852. g(q%,0,-1)
  1853. rA(n%,vC%,wC%):
  1854. g%,rB%:rB%=
  1855. A(20):_U%!20=n%:
  1856. &400CF,,rB%:
  1857. &400D4,,n%,rB%!0+vC%,rB%!4+wC%:
  1858. A(rB%):
  1859. ZA(vD%):
  1860. sA%,HA%,u%,c%,fA%,q$,j$,k$:
  1861. YD%,WD%,eD%,vC%,wC%,fE%,TG%,a%:
  1862. i%,_%:sA%=_U%!60:HA%=_U%!&B4*24:u%=
  1863. :c%=0:
  1864. sA%!c%=vD%
  1865. c%+=24
  1866. c%>=HA%:
  1867. o+f%=sA%+c%:q$=$(f%!8):
  1868. (q$<>""
  1869. f%!&C=0)
  1870. p(q$,fA%):_%=
  1871. A(36):_%!0=fA%:
  1872. &400CB,,_%:vC%=(_%!4-_%!&C)/2:wC%=(_%!16-_%!8)/2:
  1873. A(_%)
  1874. :j$=$(f%!16):
  1875. j$<>""
  1876. f%!&C>0
  1877. ("FN"+j$+"("+
  1878. f%!&C+")")
  1879. ("FN"+j$+"("+
  1880. fA%+")")
  1881. e(f%!&C)
  1882. e(f%!&C)
  1883. f%!&C>0
  1884. E("SHELLMSG09")
  1885. rA(fA%,vC%,wC%)
  1886. :k$=$(f%!20):
  1887. k$<>""
  1888. f%!&C>0
  1889. ("FN"+k$+"("+
  1890. f%!&C+")")
  1891. ("FN"+k$+"("+
  1892. fA%+")")
  1893. q$="":j$="":k$="":i%=
  1894. jB%):
  1895. &400CF,,_m_Pointer_GetInfoBlk%:jB%=_m_Pointer_GetInfoBlk%!8:
  1896. cA(t%,pF%):
  1897. PC%,c%,d$:PC%=
  1898. A(8):PC%!0=pF%:PC%!4=-1:
  1899. &45BC4,t%,PC%
  1900. ,,c%:d$=$(c%!&C):
  1901. A(PC%):=d$
  1902. tA(b%,e%,DE%):
  1903. DE%<_c_Icons_MinWimpColour%
  1904. DE%>_c_Icons_MaxWimpColour%
  1905. N(_c_Icons_WimpColourRangeMess$,"PROCshell_IconSetBGColour")
  1906. P(b%,e%,DE%<<28,&F0000000):
  1907. uA(lB%):
  1908. A$,a%,d%,a$,t%,_B%:
  1909. uA%,yC%,i%,NA$:
  1910. EA%,yF%,vE%,zB%:A$=
  1911. P):a%=
  1912. B(A$,
  1913. n,_EVNTS_POPUPS_ANCHOR%,_EVNTS_POPUPS_REC_SIZE%,
  1914. a%>=0
  1915. A$<>"iconbar"
  1916. }d%=!_EVNTS_POPUPS_ANCHOR%+a%:_B%=d%!24:uA%=!_EVNTS_POPUPS_DATA%:yC%=d%!16:EA%=d%!20:
  1917. lB%!4<>-1
  1918. _B%<>_POPUP_TYPE_FONTMENU
  1919. 99,"Unable to handle popup with submenus!"
  1920. _B%=_POPUP_TYPE_TEXT
  1921. zB%=d%!28:
  1922. zB%>=0
  1923. P$=$(uA%+zB%)
  1924. m(P$)
  1925. _B%=_POPUP_TYPE_FONTMENU
  1926. CB(lB%)
  1927. cA(t%,!lB%)
  1928. :i%=0:
  1929. yC%>-1
  1930. NA$=$(uA%+yC%):
  1931. a$<>""
  1932. ("FN"+NA$+"("+
  1933. P)+","+
  1934. EA%+","+
  1935. (34)+a$+
  1936. (34)+")")
  1937. i%<>0
  1938. yC%=-1
  1939. EA%>=0
  1940. _POPUP_TYPE_TEXT:
  1941. P,EA%,a$,
  1942. _POPUP_TYPE_WIMPCOLOUR:
  1943. P,EA%,!lB%)
  1944. _POPUP_TYPE_FONTMENU:
  1945. a$<>""
  1946. P,EA%,a$,
  1947. 99,"Unknown Popup type in PROCshell_EvntHandle_PopupSelect (type was "+
  1948. _B%+")"
  1949. vA(fA%,_F%):
  1950. ("FN"+$fA%+"("+
  1951. _F%+")")
  1952. &65BC5,_m_Menu_HandleLastOpened%:
  1953. xA(lB%):
  1954. GE%,p%:
  1955. sA (_EVNTS_LAST_MOUSEBUTTON%):
  1956. uA(lB%)
  1957. &65BC4,_m_Menu_HandleLastOpened%,lB%
  1958. GE%,,_c_Evnts_WorkBuffer%;p%:
  1959. p%<>1
  1960. vA(GE%,_c_Evnts_WorkBuffer%)
  1961. DA=_MSE_ADJUSTBUT
  1962. _EVNTS_LAST_MENUMAKER_FN$<>""
  1963. *=g%=
  1964. ("FN"+_EVNTS_LAST_MENUMAKER_FN$+"( _U%!52, _U%!56 )")
  1965. _U%!&64
  1966. yA(_Q%):
  1967. f%,a%,j%,l%:
  1968. _Q%!4<>_U%!&94
  1969. E-a%=
  1970. AB(_Q%!20,_Q%!24,_U%+96,16,
  1971. a%>-1
  1972. G%j%=_U%!96+a%:
  1973. BB(_Q%!40,j%!8,
  1974. M`_Q%!0=256:_Q%!&C=_Q%!8:_Q%!36=-1:_Q%!16=2:$(_Q%+44)=
  1975. Z+".ScrapFile"+
  1976. &400E7,18,_Q%,_Q%!4
  1977. A(_U%!&9C):_U%!&9C=
  1978. A((_Q%!0)+8):f%=_U%!&9C:
  1979. _Q%!0
  1980. 4:f%!l%=_Q%!l%:
  1981. l%:_EVNTS_LAST_WINDOWCLICKED%=_Q%!20:_EVNTS_LAST_ICONCLICKED%=_Q%!24:_U%!&80=0:_U%!&84=_Q%!36:_U%!&98=
  1982. A(_Q%!36):_Q%!0=28:_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80
  1983. h6_Q%!24=_U%!&84:
  1984. &400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8
  1985. _U%!&64
  1986. (1<<9)
  1987. K(CG%,r$):
  1988. wE%:wE%=(
  1989. (r$)+30)
  1990. 3:_MESSAGES_WORK_BLK%!&C=0:_MESSAGES_WORK_BLK%!16=CG%:$(_MESSAGES_WORK_BLK%+20)=r$+
  1991. (0):_MESSAGES_WORK_BLK%!0=wE%:
  1992. &600E7,17,_MESSAGES_WORK_BLK%,0:
  1993. B(I$):
  1994. _U%!44<>-1
  1995. VB%=_U%!44:
  1996. #VB%,I$
  1997. _U%!&94>0
  1998. K(&43B00,"ShellDBug:Trace "+I$)
  1999. M(xE%):
  2000. MA$,zC%:
  2001. ((xE%?zC%)>31
  2002. zC%<&FF):MA$+=
  2003. (xE%?zC%):zC%+=1:
  2004. :=MA$
  2005. &400D4,,-1:
  2006. BB(x%):
  2007. IE%,g%:IE%=x%!&C:
  2008. B("PROCshell_DataSaveAck: your_ref% is "+
  2009. (IE%)):
  2010. IE%=_m_DSave_MessageMyRef%
  2011. B("PROCshell_DataSaveAck: Our DataSave Message from the last fileicon drag has been acknowledged"):
  2012. B("PROCshell_DataSaveAck: so we can go ahead and save the file.."):_m_DSave_FullFileName$=
  2013. M(x%+44)
  2014. B("PROCshell_DataSaveAck: full filename is : "+_m_DSave_FullFileName$):
  2015. _m_DSave_UserFN$<>""
  2016. ("FN"+_m_DSave_UserFN$+"( "+
  2017. 34+_m_DSave_FullFileName$+
  2018. 34+" )")
  2019. B("PROCshell_DataSaveAck: no file saving routine specified for this event, so check if data is in a heapblock.."):
  2020. U(_m_DSave_DataAddress%)
  2021. 8,&A,_m_DSave_FullFileName$,_m_DSave_FileType%,,_m_DSave_DataAddress%,_m_DSave_DataAddress%+
  2022. l(_m_DSave_DataAddress%)+1
  2023. E(_c_DSave_NotAHeapBlockMess$)
  2024. B("PROCshell_DataSaveAck: file is 'secure'"):x%!16=3:x%!0=256:x%!20=_m_DSave_DestWindowHandle%:x%!24=_m_DSave_DestIconHandle%:x%!40=_m_DSave_FileType%:x%!36=
  2025. d(_m_DSave_FullFileName$):x%!&C=x%!8:$(x%+44)=_m_DSave_FullFileName$+
  2026. &400E7,18,x%,_m_DSave_DestWindowHandle%,_m_DSave_DestIconHandle%:_m_DSave_MessageMyRef%=x%!8:
  2027. _U%!80<>0
  2028. A(_U%!80)
  2029. R_U%!80=
  2030. _m_DSave_FullFileName$+1):$(_U%!80)=_m_DSave_FullFileName$:
  2031. hA(DA$):
  2032. BA%,EA$,f%:
  2033. DA$,".")=0
  2034. EA$=""
  2035. f%=0:
  2036. :BA%=f%+1:f%=
  2037. DA$,".",BA%):
  2038. f%=0:EA$=
  2039. DA$,BA%-2)
  2040. :=EA$
  2041. iA(_C%):
  2042. i%,FA$,QA$:
  2043. B("DataLoad_OKToLoad:Message reason code was 3, normal drag load.."):i%=
  2044. B("DataOpenOKToLoad:Message reason code was 5, double click load.."):FA$=
  2045. q("Alias$@RunType_"+
  2046. ~_m_DLoad_FileType%,1):
  2047. B("DataLoad_OKToLoad:Alias$@RunType="+FA$):QA$=
  2048. hA(FA$):
  2049. c(QA$)="!"+
  2050. jA(AD%):=((AD%
  2051. 1)=1)
  2052. kA(UG%):
  2053. GA$,KE%,AD%,CB%:GA$=
  2054. M(_Q%+44):KE%=
  2055. d(GA$):
  2056. KE%<0
  2057. E("SHELLMSG16"))
  2058. %5CB%=
  2059. A(KE%):
  2060. &20008,16,GA$,CB%,0
  2061. ;AD%:
  2062. jA(AD%)
  2063. A(CB%)
  2064. :=CB%
  2065. CB(CB%,hA%,_file_size%,h%):
  2066. g%,ME%,HA$,uA%:ME%=h%!20:
  2067. ME%>-1
  2068. C3uA%=!_m_DLoad_DataBlk%:HA$=$(uA%+ME%):
  2069. HA$<>""
  2070. Igg%=
  2071. ("FN"+HA$+"("+
  2072. CB%+","+
  2073. _m_DLoad_FileType%+","+
  2074. 34+_m_DLoad_FileName$+
  2075. 34+","+
  2076. _file_size%+")")
  2077. q(a%):
  2078. hA%,iA%:
  2079. a%>-1
  2080. Snh%=!_m_DLoad_Anchor%:h%+=a%:hA%=h%!16:
  2081. B("DataLoad_ProcessLoadRequest:file_type% = &"+
  2082. ~(hA%)):
  2083. 1<<31
  2084. _U%!&64=_U%!&64
  2085. :iA%=hA%
  2086. (1<<31):
  2087. B("DataLoad_ProcessLoadRequest:converted_file_type% = &"+
  2088. ~(iA%)):
  2089. iA%=_m_DLoad_FileType%
  2090. hA%=-1
  2091. B("DataLoad_ProcessLoadRequest:File type recognised (&"+
  2092. ~_Q%!40+")"):cF%=_Q%!&C:_Q%!&C=_Q%!8:_Q%!16=4:
  2093. &400E7,18,_Q%,_Q%!4:
  2094. B("DataLoad_ProcessLoadRequest:top bit type load.. ")
  2095. B("DataLoad_ProcessLoadRequest:not a top bit type load..")
  2096. CB%=-1:_U%!&64=_U%!&64
  2097. B("DataLoad_ProcessLoadRequest:autoloading file.."):CB%=
  2098. kA(cF%=_U%!&6C)
  2099. B("DataLoad_ProcessLoadRequest:calling user file load routine.."):
  2100. CB(CB%,_m_DLoad_FileType%,_Q%!36,h%):
  2101. _U%!&9C<>0
  2102. A(_U%!&9C):_U%!&9C=0
  2103. B("DataLoad_ProcessLoadRequest:File type NOT recognised (&"+
  2104. ~_Q%!40+")")
  2105. a%:a%=
  2106. B("iconbar",_c_DLoad_ICONBAR_ICON%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  2107. q(a%):
  2108. Q(A$,e%,hA%,d%,w%,OC%):
  2109. HA%,c%,u%,a%,RA%,YA%:
  2110. l%,iA%:
  2111. A$="IconBar"
  2112. e%=-1:A$="iconbar"
  2113. (!d%=0
  2114. A$=""
  2115. (!d%=0)
  2116. A(w%+_m_Evnts_HeaderSize%):RA%=!d%:RA%!0=w%:RA%!4=1:$(RA%+_m_Evnts_HeaderSize%)="":
  2117. l%=&C
  2118. (w%-4)
  2119. 4:RA%!(l%+_m_Evnts_HeaderSize%)=-1:
  2120. l%:_m_Evnts_LastEvntOffset%=_m_Evnts_HeaderSize%:a%=_m_Evnts_HeaderSize%
  2121. a%<>_m_Evnts_HeaderSize%
  2122. YRA%=!d%:HA%=!RA%:c%=_m_Evnts_HeaderSize%:u%=
  2123. :a%=-1:eF%=-1:YA%=!d%:
  2124. ($(YA%+c%)=A$)
  2125. 7iA%=(YA%!(c%+16))
  2126. (1<<31):
  2127. YA%!(c%+&C)=e%
  2128. iA%=hA%
  2129. a%=c%:u%=
  2130. c%+=w%
  2131. c%+=w%
  2132. ((c%>=(HA%+_m_Evnts_HeaderSize%))
  2133. (a%=-1
  2134. ya%=HA%+_m_Evnts_HeaderSize%:!d%=
  2135. H(!d%,w%):lA%=!d%:lA%!0+=w%:lA%!4+=1:lA%+=a%:$(lA%)="":
  2136. l%=&C
  2137. (w%-4)
  2138. 4:lA%!l%=-1:
  2139. :_m_Evnts_LastEvntOffset%=a%
  2140. a%,dF%,iA%,c%:h%=!_m_DLoad_Anchor%:dF%=h%!0:a%=
  2141. Q(_m_DLoad_WindowName$,_m_DLoad_DestIconHandle%,-1,_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  2142. a%=-1
  2143. Q(_m_DLoad_WindowName$,_m_DLoad_DestIconHandle%,-1
  2144. (1<<31),_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  2145. a%=-1
  2146. Q(_m_DLoad_WindowName$,-1,-1,_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  2147. a%=-1
  2148. Q(_m_DLoad_WindowName$,-1,-1
  2149. (1<<31),_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  2150. a%=-1
  2151. Q(_m_DLoad_WindowName$,_m_DLoad_DestIconHandle%,_m_DLoad_FileType%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  2152. Q(_m_DLoad_WindowName$,-1,_m_DLoad_FileType%,_m_DLoad_Anchor%,_c_DLoad_RecSize%,
  2153. ):h%=!_m_DLoad_Anchor%
  2154. a%>-1
  2155. q(a%)
  2156. r(BD%,_C%):_m_DLoad_FileType%=BD%!40:_m_DLoad_DestWindowHandle%=BD%!20:_m_DLoad_DestIconHandle%=BD%!24:_m_DLoad_FileName$=
  2157. M(BD%+44):
  2158. B("EvntHandle_DataLoad:filename is : "+_m_DLoad_FileName$)
  2159. B("EvntHandle_DataLoad:filetype is : &"+
  2160. ~(_m_DLoad_FileType%)):
  2161. iA(_C%)
  2162. B("EvntHandle_DataLoad:DataLoad message received"):
  2163. B("EvntHandle_DataLoad:Double click load type.."):
  2164. _m_DLoad_WindowName$=
  2165. C(_m_DLoad_DestWindowHandle%):
  2166. B("EvntHandle_DataLoad:Drag load type.."):
  2167. B("EvntHandle_DataLoad:Load to window '"+_m_DLoad_WindowName$+"'"):
  2168. HB(_Q%):
  2169. IB(_Q%):
  2170. ZG%,NE%,OE%:OE%=
  2171. _U%!&90>&8000
  2172. $4_Q%!&C=_Q%!8:_Q%!16=7:NE%=_U%!&88:
  2173. _U%!&8C=&FF9
  2174. _U%!&90+=4
  2175. (NE%-_U%!&80)<_Q%!24
  2176. _Q%!24=NE%-_U%!&80:OE%=
  2177. &400F1,_U%!&94,_U%!&90+_U%!&80,_Q%!4,_Q%!20,_Q%!24:
  2178. &400E7,17,_Q%,_Q%!4:_U%!&78=_Q%!8:_U%!&80+=_Q%!24:
  2179. _U%!&80=0
  2180. JB(_Q%):
  2181. a%,j%,SA$,f%:
  2182. _Q%!&C=_U%!&70
  2183. B$_U%!&80+=_Q%!24:
  2184. _Q%!24<_U%!&84
  2185. Ena%=
  2186. K,_U%+96,16,
  2187. ):j%=_U%!96+a%:f%=_U%!&9C:SA$=
  2188. M(f%+44):
  2189. IC(f%!40,_U%!&98,j%!8,SA$,_U%!&84,j%)
  2190. _U%!&80>_U%!&84
  2191. Q'_U%!&98=
  2192. H(_U%!&98,_U%!&80,_U%!&84)
  2193. :_Q%!&C=_Q%!8:_Q%!16=6:_Q%!20=_U%!&98+_U%!&80:_Q%!24=_U%!&84:
  2194. &400E7,18,_Q%,_Q%!4:_U%!&70=_Q%!8
  2195. A(_U%!&98):_U%!&98=0:
  2196. E("SHELLMSG15"))
  2197. KB(QA%):
  2198. g%,j%,PE%,QE%,l%:
  2199. _m_ProgEvnts_PreQuitHandlerFN$<>""
  2200. iVj%=
  2201. A(256):PE%=QA%!0:
  2202. 4:j%!l%=_Q%!l%:
  2203. l%:QE%=j%!4:
  2204. PE%<24
  2205. RE%=0
  2206. RE%=j%!20
  2207. tMj%!&C=j%!8:
  2208. &400E7,19,j%,QE%:
  2209. ("FN"+_m_ProgEvnts_PreQuitHandlerFN$)<>0
  2210. _closedown%=
  2211. !j%=24:j%!24=508:
  2212. &400E7,8,j%,QE%:_closedown%=
  2213. A(j%)
  2214. _m_ProgEvnts_PaletteChangeHandlerFN$<>""
  2215. ("FN"+_m_ProgEvnts_PaletteChangeHandlerFN$)
  2216. MB(AA%):
  2217. _m_ProgEvnts_SaveDesktopHandlerFN$<>""
  2218. ("FN"+_m_ProgEvnts_SaveDesktopHandlerFN$)+
  2219. (&A):
  2220. m$=""
  2221. m$="Run "+
  2222. &C,2,AA%,m$,
  2223. _m_ProgEvnts_ShutdownHandlerFN$<>""
  2224. ("FN"+_m_ProgEvnts_ShutdownHandlerFN$)
  2225. mA(a%):
  2226. d%,AC%,BC%,Q$:d%=!_EVNTS_HELPTAG_ANCHOR%+a%:AC%=d%!16:BC%=!_EVNTS_HELPTAG_DATA%:Q$=$(BC%+AC%):=Q$
  2227. nA:=_m_Menu_HandleLastOpened%
  2228. oA(t%,iF%):
  2229. c%,aA%,p%:c%=
  2230. A(40):
  2231. &65BC4,t%,iF%
  2232. ,,c%;p%:
  2233.     aA%=0
  2234. aA%=c%!8
  2235. A(c%):=aA%
  2236. pA(UE%):
  2237. Q$,VE%,c%,aA%,a%:
  2238. AC%,BC%:VE%=
  2239. nA:c%=0:
  2240. UE%!c%<>-1:lF%=UE%!c%:c%+=4:
  2241. :aA%=
  2242. oA(VE%,UE%):
  2243. aA%<>0
  2244. B("menu",aA%,_EVNTS_MENUHELPTAG_ANCHOR%,_EVNTS_MENUHELPTAG_REC_SIZE%,
  2245. a%>=0
  2246. [d%=!_EVNTS_MENUHELPTAG_ANCHOR%+a%:AC%=d%!16:BC%=!_EVNTS_MENUHELPTAG_DATA%:Q$=$(BC%+AC%)
  2247. Q$=""
  2248. s(_window_handle%,_icon_handle%,
  2249. A$,a%,d%,BC%,AC%,CD%:
  2250. p%,VE%,c%,lF%,h%:A$=
  2251. C(_window_handle%):
  2252. A$="iconbar"
  2253. _icon_handle%=-1
  2254. B(A$,_icon_handle%,_EVNTS_HELPTAG_ANCHOR%,_EVNTS_HELPTAG_REC_SIZE%,
  2255. a%>=0
  2256. mA(a%)
  2257. A(96):
  2258. &600F4,1,CD%,_window_handle%,_icon_handle%
  2259. p%<>1
  2260. _window_handle%<>
  2261. a(_window_handle%)
  2262. pA(CD%)
  2263. A(CD%)
  2264. qA(b%,e%):
  2265. N$,p%:
  2266. e%=-1
  2267. N$="":_c_Icon_GetIconStateBlk%!0=b%:_c_Icon_GetIconStateBlk%!4=e%:
  2268. &400CE,,_c_Icon_GetIconStateBlk%:p%=_c_Icon_GetIconStateBlk%!24:
  2269. _c_Icon_GetIconStateBlk%!32>0
  2270. N$=$(_c_Icon_GetIconStateBlk%!32)
  2271. rA(b$):
  2272. M$,g$,SB%:M$="":
  2273. b$,"\")>0:SB%=
  2274. b$,"\"):M$+=
  2275. b$,SB%-1):g$=
  2276. b$,SB%+1,1):b$=
  2277. b$,SB%+2):
  2278. "A":M$+="Click ADJUST to"
  2279. "a":M$+="ADJUST"
  2280. "D":M$+="Drag with SELECT to"
  2281. "d":M$+="Drag with ADJUST to"
  2282. "G":M$+="This option is greyed out because"
  2283. "R":M$+="Move the pointer right"
  2284. "S":M$+="Click SELECT to"
  2285. "s":M$+="SELECT"
  2286. "T":M$+="This is the"
  2287. "W":M$+="This window is"
  2288. "w":M$+="window"
  2289. M$+="\"+g$
  2290. :=M$+b$
  2291. PB(_Q%):
  2292. G$,e$,N$,DB%,WE%,jA$,p%:
  2293. s(_Q%!32,_Q%!36,G$):N$=
  2294. qA(_Q%!32,_Q%!36):
  2295. N$<>""
  2296. N$,1))="I"
  2297. N$,";"):
  2298. DB%=0
  2299. N$,2)
  2300. N$,2,DB%-2)
  2301. O(N$),
  2302. O(";i")):WE%=
  2303. O(N$),
  2304. O(";"),DB%+1):
  2305. DB%>0
  2306. WE%>0
  2307. N$,DB%+2,WE%-DB%-2)
  2308. N$,DB%+2)
  2309. G$=""
  2310. s(_Q%!32,-1,G$)
  2311. G$<>""
  2312. pk_Q%!16=&503:_Q%!&C=_Q%!8:e$=
  2313. W(G$,"",""):e$=
  2314. rA(e$):$(_Q%+20)=e$:!_Q%=(
  2315. e$+25)
  2316. &400E7,17,_Q%,_Q%!4
  2317. sA(q%):=-1
  2318. QB(q%):
  2319. v%,y%,I%,c%:y%=
  2320. S:v%=
  2321. v%!16<>-1
  2322. (s%=v%!16:c%=0:
  2323. s%!c%<>-1:
  2324. s%!c%=q%
  2325. s%!c%=0
  2326. :c%+=4:
  2327. :v%+=20:
  2328. RB(b%):
  2329. a%,m%,u%:u%=
  2330. :m%=0:
  2331. _m_StaticList_WList%>0
  2332. _m_StaticList_WList%!m%=b%
  2333. :_m_StaticList_WList%!m%=0
  2334. :m%+=4:
  2335. _m_StaticList_WList%!m%<>-1
  2336. tA(q%):
  2337. _%:_%=
  2338. A(20):
  2339. sA(q%)
  2340. QB(q%):
  2341. q%=_U%!20
  2342. _U%!20=0
  2343. RB(q%)
  2344. :_%!0=q%:
  2345. &600C3,,_%:q%=0
  2346. A(_%):=q%
  2347. uA(b%):=
  2348. A(&64+(
  2349. b(b%)*32))
  2350. SB(EB%,FB%):
  2351. a%:a%=
  2352. Y(EB%):_m_StaticList_WList%!a%=FB%:
  2353. TB(EB%,FB%):
  2354. v%,y%,I%,c%:y%=
  2355. S:v%=
  2356. v%!16<>-1
  2357. 2s%=v%!16:c%=0:
  2358. s%!c%<>-1:
  2359. s%!c%=EB%
  2360. s%!c%=FB%
  2361. c%+=4:
  2362. :v%+=20:
  2363. UB(EB%,FB%):
  2364. FB%<>EB%
  2365. G=EB%
  2366. _EVNTS_LAST_WINDOWCLICKED%=FB%
  2367. !_Q%=EB%
  2368. !_Q%=FB%
  2369. SB(EB%,FB%):
  2370. TB(EB%,FB%)
  2371. VB(x%):
  2372. A(x%):
  2373. IA%,VA$):
  2374. f%,_%,q%,KF%:_%=
  2375. uA(IA%):_%!0=IA%:
  2376. &400CC,,_%:
  2377. ((_%!60)
  2378. 256)=0
  2379. Bf%=_%+76:$f%=
  2380. VA$,&B):
  2381. &400C3,,_%:
  2382. &400C1,,_%+4
  2383. q%<>IA%
  2384. UB(IA%,q%):IA%=q%
  2385. KF%=_%!84:$(!(_%+76))=
  2386. VA$,KF%-1):
  2387. ((_%!32)
  2388. (1<<16))<>0
  2389. &400D1,-1,_%!4,_%!16,_%!&C,_%!16+44
  2390. VB(_%)
  2391. vA(vA%,LF%):
  2392. m%,mB%:
  2393. &45BC7,vA%
  2394. :mB%=vA%+28+((LF%!m%)*24):vA%=mB%!4:m%+=4:
  2395. LF%!m%=-1:=mB%
  2396. XB(HB%,FA%,GA%):
  2397. f%,fA%,g%:
  2398. )f%=HB%!4:
  2399. p($f%!0,fA%):
  2400. $f%!4<>""
  2401. ("FN"+$f%!4+"("+
  2402. fA%+")")
  2403. $f%!8<>""
  2404. ("FN"+$f%!8+"("+
  2405. fA%+")")
  2406. &400E8,,fA%,FA%,GA%:_U%!20=fA%:
  2407. YB(aA%,
  2408. i%,sA%,f%,a%,u%,HA%,ED%,m%:
  2409. XE%:XE%=0:sA%=_U%!&DC:a%=0:u%=
  2410. :R$="":XE%=0:
  2411. U(sA%)
  2412. :m%+=4:
  2413. sA%!m%=-1:HA%=m%:m%=0:
  2414. :f%=!(sA%+a%+0):
  2415. f%<>-1
  2416. f%=aA%
  2417. 2Fu%=
  2418. :ED%=sA%!(a%+4):R$=$ED%:XE%=sA%!(a%+8):ED%=sA%!(a%+&C):S$=$ED%
  2419. :a%+=16
  2420. a%=HA%
  2421. a%>=HA%
  2422. R$="":S$=""
  2423. wA:=_m_ExReg_ColourMenu_Loaded%
  2424. xA:=_m_WimpColMen_Handle%
  2425. ZB(YE%,FA%,GA%,R$,S$):
  2426. g%,f%,cG%,m%:_shell_FontMenuSelFN$=S$:
  2427. U(_U%!&E0)
  2428. A(_U%!&E0)
  2429. O0_U%!&E0=
  2430. R$+1):f%=_U%!&E0:$f%=R$:
  2431. R$<>""
  2432. S#g%=
  2433. ("FN"+R$+"(_U%!52,_U%!56)")
  2434. &400E8,,YE%,FA%,GA%:_m_Menu_SubLastOpened%=YE%:
  2435. aB(_Q%):
  2436. vE%,FA%,GA%,g%,_temp%,pB%,R$,mB%,j%:
  2437. S$:FA%=_Q%!24:GA%=_Q%!28:_U%!264=0:
  2438. _U%!20<>0
  2439. tA(_U%!20)
  2440. _Q%!20
  2441. _U%!&E4:
  2442. WB(_U%!&E4,
  2443. E("warning")):
  2444. C(_U%!&E4,1,
  2445. E("SHELLMSG07"),0):
  2446. &400E8,,_U%!&E4,FA%,GA%
  2447. vA(_m_Menu_HandleLastOpened%,_Q%+32):
  2448. U(mB%!4)
  2449. XB(mB%,FA%,GA%)
  2450. A(32):
  2451. &45BC4,_m_Menu_HandleLastOpened%,_Q%+32
  2452. ,,j%:
  2453. YB(j%!8,R$,S$):
  2454. A(j%):
  2455. ZB(_Q%!20,FA%,GA%,R$,S$)
  2456. _m_ProgEvnts_ModeChangeHandlerFN$<>""
  2457. ("FN"+_m_ProgEvnts_ModeChangeHandlerFN$)
  2458. cB(tF%):
  2459. g%:_m_ProgEvnts_DeskFontHandle%=tF%:
  2460. _m_ProgEvnts_DeskFontChangeHandlerFN$<>""
  2461. ("FN"+_m_ProgEvnts_DeskFontChangeHandlerFN$+"("+
  2462. _m_ProgEvnts_DeskFontHandle%+")")
  2463. yA:=_m_ExReg_Fonts_Loaded%
  2464. dB(ZE%,cA$):
  2465. _m_ProgEvnts_TaskInitialiseHandlerFN$<>""
  2466. ("FN"+_m_ProgEvnts_TaskInitialiseHandlerFN$+"("+
  2467. ZE%+","+
  2468. (34)+cA$+
  2469. (34)+")")
  2470. t(r$):
  2471. K(&43B00,r$):
  2472. fB(JA$):
  2473. HG%,f%:
  2474. _U%!&D0=-1
  2475. o("StrongHelp$Dir")
  2476. &600DE,"<StrongHelp$Dir>":
  2477. _U%!&D8<>0
  2478. A(_U%!&D8)
  2479. )_U%!&D8=
  2480. JA$+1):f%=_U%!&D8:$f%=JA$
  2481. E("SHELLMSG11"))
  2482. t("Help_Word "+JA$)
  2483. gB(ZE%):
  2484. _m_ProgEvnts_TaskCloseDownHandlerFN$<>""
  2485. ("FN"+_m_ProgEvnts_TaskCloseDownHandlerFN$+"("+
  2486. ZE%+")")
  2487. GB%,FD%:GB%=
  2488. A(256):
  2489. :GB%!&C=0:
  2490. &400E7,19,GB%,-2,_U%!&D4
  2491. ,,FD%:_U%!&D4=_U%!&D4+1:
  2492. FD%<>-1
  2493. (_U%!&D4)>64:
  2494. FD%<>-1
  2495. @GB%!0=24:GB%!&C=0:GB%!16=&400C6:GB%!20=FD%:
  2496. &400E7,17,GB%,0
  2497. A(GB%):
  2498. iB(_Q%):
  2499. jB(_Q%):
  2500. kB(_Q%):
  2501. lB(_Q%):
  2502. mB:_U%!&64=_U%!&64
  2503. 1<<9:
  2504. K(&43B00,"ShellDBug:TraceOn"):
  2505. (_U%!&64
  2506. (1<<9))
  2507. _U%!&64=_U%!&64
  2508. (1<<9)
  2509. K(&43B00,"ShellDBug:TraceOff"):
  2510. J(lA$,oA$):
  2511. HA%,r%,w%,c%,MA%,YA%:
  2512. e%,B$,JA%,l%:r%=!_EVNTS_CLICKSELECT_ANCHOR%:w%=_EVNTS_CLICKSELECT_REC_SIZE%:MA%=r%!4:
  2513. J ("ClickSelect","Window         Icon   FN"):
  2514. c%=_m_Evnts_HeaderSize%:
  2515. MA%:A$=$(r%+c%):e%=r%!(c%+&C):JA%=!_EVNTS_CLICKSELECT_DATA%:
  2516. JA%>0
  2517. B$=$(JA%+r%!(c%+16))
  2518. :c%+=_EVNTS_CLICKSELECT_REC_SIZE%:
  2519. HA%,r%,w%,c%,MA%,YA%,t%:
  2520. e%,l%,Z$:r%=!_EVNTS_CLICKMENU_ANCHOR%:w%=_EVNTS_CLICKMENU_REC_SIZE%:MA%=r%!4:
  2521. J ("ClickMenu  ","Window         Icon   Menu handle  Maker FN"):
  2522. c%=_m_Evnts_HeaderSize%:
  2523. MA%:A$=$(r%+c%):e%=r%!(c%+&C):t%=r%!(c%+16):JA%=!_EVNTS_CLICKMENU_DATA%:
  2524. JA%>0
  2525. Z$=$(JA%+r%!(c%+20))
  2526. Z$="None"
  2527. :c%+=_EVNTS_CLICKMENU_REC_SIZE%:
  2528. HA%,r%,w%,c%,MA%,YA%:
  2529. e%,B$,JA%,l%:r%=!_EVNTS_CLICKADJUST_ANCHOR%:w%=_EVNTS_CLICKADJUST_REC_SIZE%:MA%=r%!4:
  2530. J ("ClickAdjust","Window         Icon   FN"):
  2531. c%=_m_Evnts_HeaderSize%:
  2532. MA%:A$=$(r%+c%):e%=r%!(c%+&C):JA%=!_EVNTS_CLICKADJUST_DATA%:
  2533. JA%>0
  2534. B$=$(JA%+r%!(c%+16))
  2535. :c%+=_EVNTS_CLICKADJUST_REC_SIZE%:
  2536. HA%,r%,w%,c%,MA%,YA%,B$:
  2537. e%,JA%,l%:r%=!_EVNTS_HELPTAG_ANCHOR%:w%=_EVNTS_HELPTAG_REC_SIZE%:MA%=r%!4:
  2538. J ("HelpTag ","Window         Icon   Help tag"):
  2539. c%=_m_Evnts_HeaderSize%:
  2540. MA%:A$=$(r%+c%):e%=r%!(c%+&C):JA%=!_EVNTS_HELPTAG_DATA%:
  2541. JA%>0
  2542. B$=$(JA%+r%!(c%+16))
  2543. :c%+=_EVNTS_HELPTAG_REC_SIZE%:
  2544. zA(F$,KA$,aB%):
  2545. (F$)<aB%:F$=F$+
  2546. (F$),KA$):
  2547. R(F$,KA$,aB%):
  2548. (F$)<aB%:F$=
  2549. (F$),KA$)+F$:
  2550. HA%,r%,w%,c%,MA%,YA%:
  2551. SC%,TC%,XA$,gA$,JA%,l%,W$:
  2552. RF%,xB%,WB%,XB%:r%=!_EVNTS_BUMP_ANCHOR%:w%=_EVNTS_BUMP_REC_SIZE%:MA%=(r%!4)/2:
  2553. J ("Bump ","Window       Inc Dec Disp Step Lower Upper Value Change FN"):
  2554. c%=_m_Evnts_HeaderSize%:
  2555. MA%:A$=$(r%+c%):SC%=r%!(c%+&C):TC%=r%!(c%+&C+_EVNTS_BUMP_REC_SIZE%):RF%=r%!(c%+16):xB%=r%!(c%+20):WB%=r%!(c%+24):XB%=r%!(c%+28):JA%=!_EVNTS_BUMP_DATA%:
  2556. JA%>0
  2557. /XA$=$(JA%+r%!(c%+32)):gA$=$(JA%+r%!(c%+36))
  2558. zA(A$,".",&C):W$+=" "+
  2559. SC%," ",3):W$+=" "+
  2560. TC%," ",3):W$+=" "+
  2561. xB%," ",4):W$+=" "+
  2562. RF%," ",4):W$+=" "+
  2563. WB%," ",5):W$+=" "+
  2564. XB%," ",5):W$+="   "+XA$:c%+=_EVNTS_BUMP_REC_SIZE%*2:
  2565. d%,c%,eC%,m%,QG%,RG%:
  2566. e%,l%,W$,kA$:d%=!_m_DLoad_Anchor%:eC%=d%!4:
  2567. J ("DataLoad ","Window       Icon  Filetype NL LoadFN"):
  2568. B(" "):
  2569. wB(_Q%):
  2570. xB(_Q%):
  2571. _Q%!16
  2572. &43B00:O$=$(_Q%+20):
  2573. O$,30)="EvntShellLib:ShellDBug started"
  2574. _U%!&64
  2575. N_U%!&64=(_U%!&64
  2576. 1<<4):
  2577. K(&43B00,"ShellDBug:Init Debug messages from "+
  2578. O$,25)="EvntShellLib:TraceInitAck"
  2579. _U%!&64=(_U%!&64
  2580. 1<<4)
  2581. O$,20)="EvntShellLib:TraceOn"
  2582. O$,21)="EvntShellLib:TraceOff"
  2583. O$,28)="EvntShellLib:ListClickSelect"
  2584. O$,26)="EvntShellLib:ListClickMenu"
  2585. O$,28)="EvntShellLib:ListClickAdjust"
  2586. O$,25)="EvntShellLib:ListHelpTags"
  2587. O$,24)="EvntShellLib:ListBumpers"
  2588. O$,26)="EvntShellLib:ListPointerIn"
  2589. O$,27)="EvntShellLib:ListPointerOut"
  2590. O$,25)="EvntShellLib:ListDataLoad"
  2591. O$,25)="EvntShellLib:ListDataSave"
  2592. wB(_Q%):
  2593. yB(_Q%):
  2594. f%,g%,SF%:
  2595. _Q%!16
  2596. _MESSAGE_QUIT:
  2597. _MESSAGE_DATASAVE:
  2598. yA(_Q%)
  2599. _MESSAGE_DATASAVEACK:
  2600. BB(_Q%)
  2601. _MESSAGE_DATALOAD:
  2602. r(_Q%,
  2603. _MESSAGE_DATALOADACK:
  2604. HB(_Q%)
  2605. r(_Q%,
  2606. _MESSAGE_RAMFETCH:
  2607. IB(_Q%)
  2608. _MESSAGE_RAMTRANSMIT:
  2609. JB(_Q%)
  2610. _MESSAGE_PREQUIT:
  2611. KB(_Q%)
  2612. _MESSAGE_PALETTECHANGE:
  2613. _MESSAGE_SAVEDESKTOP:
  2614. MB(_Q%!20)
  2615. _MESSAGE_SHUTDOWN:
  2616. _MESSAGE_HELP:
  2617. PB(_Q%)
  2618. _MESSAGE_MENUWARNING:
  2619. aB(_Q%)
  2620. _MESSAGE_MODECHANGE:
  2621. _MESSAGE_COLOURPICKERCOLOURCHOICE:SF%=(_Q%!24
  2622. GC(_Q%!28,SF%)
  2623. _MESSAGE_DESKFONT_CHANGED:
  2624. cB(_Q%!20):
  2625. HC(_Q%!20)
  2626. _MESSAGE_TASKINIT:
  2627. dB(_Q%!4,
  2628. M(_Q%+28)):
  2629. _U%!&D0=-1
  2630. M(_Q%+28)="StrongHelp"
  2631. Q_U%!&D0=_Q%!4:
  2632. t("Help_Install -DieWithTask "+
  2633. Z+"."+
  2634. J):f%=_U%!&D8:
  2635. $f%<>""
  2636. fB($f%):
  2637. A(_U%!&D8):_U%!&D8=0
  2638. _MESSAGE_TASKCLOSEDOWN:
  2639. gB(_Q%!4):
  2640. _Q%!4=_U%!&D0
  2641. _U%!&D0=-1
  2642. _MESSAGE_TASKNAMEIS:
  2643. M(_Q%+28)="StrongHelp"
  2644. _U%!&D0=_Q%!20
  2645. &80140:
  2646. iB(_Q%)
  2647. &80143:
  2648. jB(_Q%)
  2649. &80145:
  2650. kB(_Q%)
  2651. &80147:
  2652. lB(_Q%)
  2653. &47700,&47702:
  2654. B("PROCshell_Receive: resetting acorn colour dbox handle to -1.."):_m_ColourPick_AcornDBoxHandle%=-1
  2655. xB(_Q%)
  2656. zB(_Q%):
  2657. _Q%!&C<>_m_DSave_MessageMyRef%
  2658. _B(_Q%):
  2659. TF%,f%:f%=_U%!&9C:
  2660. _Q%!&C<>_U%!&70
  2661. _U%!&80=0
  2662. &20023,"Wimp$Scrap",,-1,0,3
  2663. ,,TF%:
  2664. TF%<>0
  2665. w$(f%+44)="<Wimp$Scrap>"+
  2666. (0):f%!0=(49+
  2667. M(f%+44)))
  2668. 3:f%!&C=f%!8:f%!16=2:f%!36=-1:
  2669. &400E7,18,f%,f%!4:_U%!&6C=f%!8
  2670. E("SHELLMSG14"))
  2671. A(_U%!&98):_U%!&98=0:
  2672. E("SHELLMSG06")
  2673. AC(_Q%):
  2674. _Q%!16
  2675. zB(_Q%)
  2676. _B(_Q%)
  2677. _Q%!8=_SHELL_SENDDATALOAD_MY_REF%
  2678. ("Filer_Run "+_SHELL_SENDDATALOAD_FILE$)
  2679. ("Run "+_SHELL_SENDDATALOAD_FILE$)
  2680. b(AG%):
  2681. hA$,vA%,mA$,nA$,vE%,UF%,VF%,cE%:
  2682. n%,ZA%,g%,_temp28%,_temp32%,_temp24%,_temp%,yF%:
  2683. YG%,a%,XF%:
  2684. _EVENT_NULL:
  2685. _closedown%=
  2686. (XF%-_POLL_EARLIEST_TIME%)>0:_POLL_EARLIEST_TIME%+=_POLL_INTERVAL%:
  2687. _EVENT_REDRAWWIN:
  2688. _Q%!0<>_m_ColourPick_AcornDBoxHandle%
  2689. f(_Q%!0)
  2690. f(_Q%!0)
  2691. _EVENT_OPENWIN:
  2692. g(_Q%!0,
  2693. _EVENT_CLOSEWIN:
  2694. UA(_Q%!0)
  2695. _EVENT_PTRLEAVING:
  2696. WA(!_Q%)
  2697. _EVENT_PTRENTERING:
  2698. XA(!_Q%)
  2699. _EVNT_MSECLICK:UF%=_Q%!0:VF%=_Q%!4:_EVNTS_LAST_MOUSEXPOS%=UF%:_EVNTS_LAST_MOUSEYPOS%=VF%:_U%!272=_Q%!0:_U%!276=_Q%!4:
  2700. _Q%!8>4
  2701. _Q%!8<256
  2702. eA(_Q%!&C,_Q%!16,_Q%!8,_EVNTS_LAST_MOUSEBUTTON%)
  2703. :_EVNTS_LAST_MOUSEBUTTON%=_Q%!8:_EVNTS_LAST_WINDOWCLICKED%=_Q%!&C:_EVNTS_LAST_ICONCLICKED%=_Q%!16:
  2704. _Q%!8
  2705. 4,&400:
  2706. 2,512:
  2707. 1,256:
  2708. 7:_U%!&80=0:
  2709. pA(_Q%!0,_Q%!4,_Q%!8,_Q%!&C)
  2710. _Q%!24
  2711. &D,394,398,399,410,430,431:cE%=
  2712. YA(_Q%!0,_Q%!4,_Q%!24)
  2713. ZA(_Q%!24)
  2714. &400DC,_Q%!24
  2715. xA(_Q%)
  2716. 17,18:
  2717. yB(_Q%)
  2718. AC(_Q%)
  2719. dA(TB%,wD%):
  2720. _U%!&64
  2721. "WimpExt_PrePoll"
  2722. &400C7,_m_poll_mask%,_Q%
  2723. _U%!&64
  2724. "WimpExt_Action",_U%!&94,_Q%,HD%
  2725. &81686,HD%,,wD%:=HD%
  2726. _Sliders_Drag(b%,e%):
  2727. h%,MA%,w%,c%,A$:
  2728. u%,tA%,hB%,EA%:h%=!_EVNTS_SLIDERS_ANCHOR%:w%=_EVNTS_SLIDERS_REC_SIZE%:tA%=h%!0:MA%=h%!4:c%=_m_Evnts_HeaderSize%:A$=
  2729. C(b%):u%=
  2730. $(h%+c%)=A$
  2731. h%!(c%+16)=e%
  2732. u-u%=
  2733. :EG%=h%!(c%+&C):EA%=h%!(c%+20):hB%=c%
  2734. :c%+=w%:
  2735. c%>=tA%
  2736. S(b%,EG%):
  2737. EA%<>-1
  2738. _Sliders_BackgroundClick(b%,e%):
  2739. g%:g%=
  2740. _Sliders_Drag(b%,e%):=0
  2741. _Sliders_BarClick(n%,ZA%):
  2742. S(n%,ZA%):=0
  2743. _Sliders_Bump(RC%,jB%):
  2744. b%,e%,h%,dA%,MA%,tA%:
  2745. u%,hB%,A$,SC%,TC%:b%=
  2746. P:e%=
  2747. n:A$=
  2748. C(b%):h%=!_EVNTS_SLIDERS_ANCHOR%:tA%=h%!0:MA%=h%!4:dA%=_m_Evnts_HeaderSize%:u%=
  2749. :SC%=h%!(dA%+24):TC%=h%!(dA%+28):
  2750. A$=$(h%+dA%)
  2751. SC%=e%
  2752. TC%=e%
  2753. :hB%=dA%
  2754. :dA%+=_EVNTS_SLIDERS_REC_SIZE%:
  2755. dA%>=tA%
  2756. c(hB%,RC%)
  2757. (RC%)
  2758.