home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1994-02-21 | 21.5 KB | 698 lines |
- WimpED Libary
- |_________________________________________________________________________
- |_________________________________________________________________________
- | ------------------------------- 6/1/92
- | WIMP PROCEDURE LIBRARY
- | Index of Contents
- | -------------------------------
- | 1.
- Windows
- | 2.
- Icons
- | 3.
- Menus
- | 4.
- Sprites
- | 5.
- Miscellaneous
- | 6.
- Polling
- | -------------------------------
- | -------------------------------
- | 1.
- Windows
- | -------------------------------
- | ------------------------------------------------
- | Procedures :
- | PROCWimp_WindowAlert(title$,message$)
- | PROCWimp_WindowAlertBox(title$,message$,button%)
- | FNWimp_WindowCancel(title$,message$)
- | PROCWimp_WindowErrorBox(title$,message$)
- | FNWimp_WindowTitle(window%)
- | FNWimp_WindowLoad(window$)
- | FNWimp_WindowLoadFrom(window$,template$)
- | PROCWimp_WindowBringToTop(window%)
- | PROCWimp_WindowForceDraw(window%)
- | PROCWimp_WindowOpen(window%)
- | PROCWimp_WindowInterface
- | ----------------------------------------------
- Wimp_WindowAlert(title$,message$)
- Wimp_WindowAlertBox(title$,message$,0)
- Wimp_WindowAlertBox(title$,message$,button%)
- response%
- $(wimp%+4)=message$
- button%
- 2 : response%=1
- 1 : response%=15
- 3 : response%=(1<<5)+16
- 4 : response%=(1<<6)+16
- : response%=16
- "Wimp_ReportError",wimp%,response%,title$
- ,response%
- Wimp_WindowCancel(title$,message$)
- $(wimp%+4)=message$
- response%=23
- "Wimp_ReportError",wimp%,response%,title$
- ,response%
- =response%-2
- Wimp_WindowErrorBox(title$,message$)
- Wimp_WindowAlertBox(title$,message$,2)
- Wimp_WindowTitle(window%)
- wimp%!0=window%
- "Wimp_GetWindInfo",,wimp%
- ((wimp%!60)
- &100)=0
- 1,"Title isn't indirected"
- =$(wimp%!76)
- Wimp_WindowLoad(window$)
- Wimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates")
- Wimp_WindowLoadFrom(window$,template$)
- fonts% 256
- c%,i%,n%,j%,sp$,sp2$
- "Wimp_OpenTemplate",,template$
- "Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,fonts%,window$,0
- ,,icons%
- sprites%
- 1 : wimp%!64=sprites%
- : wimp%!64=
- Event_Sprites(window%)
- "Wimp_CreateWindow",,wimp%
- "Wimp_CloseTemplate"
- "Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8)
- wimp%!40
- -1 :
- : i%=40
- n$ wimp%!4=wimp%!i% : wimp%!0=c%
- o$
- "Wimp_GetIconState",,wimp%
- p- sp$=
- Wimp_GetStringAtAddress(wimp%!28)
- q"
- "Wimp_DeleteIcon",,wimp%
- sprites%
- 1 : wimp%!32=1
- u/
- "OS_SpriteOp",&108,sprites%
- ,,,n%
- j%=0
-
- : j%+=1
- x=
- "OS_SpriteOp",&10D,sprites%,pointer_block%,20,j%
- y7 sp2$=
- Wimp_GetStringAtAddress(pointer_block%)
-
- j%=n%
- sp$=sp2$
- {4
- sp$=sp2$
- wimp%!32=sprites%
- wimp%!32=1
- wimp%!4=c%
- ~.
- "Wimp_CreateIcon",,wimp%+4
- handle%
- i%+=4
- (wimp%!i%)=-1
- Wimp_WindowBringToTop(window%)
- !wimp%=window%
- "Wimp_GetWindowState",,wimp%
- wimp%!28=-1
- "WimpExt_OpenLinked",,wimp%
- Wimp_WindowClose(window%)
- !wimp%=window%
- "WimpExt_CloseLinked",,wimp%
- Wimp_WindowForceDraw(window%)
- window%
- -1 :
- "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024
- "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0
- Wimp_WindowOpen(window%)
- !wimp%=window%
- "Wimp_GetWindowState",,wimp%
- "WimpExt_OpenLinked",,wimp%
- Wimp_WindowInterface
- "Wimp_BorderWindow",,wimp%
- | -------------------------
- | 2.
- Icons
- | -------------------------
- | ------------------------------------------
- | Procedures :
- | FNWimp_IconBar(Sprite$)
- | PROCWimp_IconCaret(window%,icon%,chars%)
- | FNWimp_IconText(window%,icon%)
- | FNWimp_IconValidation(window%,icon%)
- | PROCWimp_IconDisable(window%,icon%)
- | PROCWimp_IconEnable(window%,icon%)
- | FNWimp_IconPutSprite(window%,icon%,sprite$)
- | PROCWimp_IconPutText(window%,icon%,text$)
- | PROCWimp_IconInterfaceStart
- | PROCWimp_IconInterfaceFinish
- | ------------------------------------------
- Wimp_IconBar(Sprite$)
- icon%
- wimp%!0=-1
- wimp%!4=0 : wimp%!8=0
- wimp%!12=68 : wimp%!16=68
- wimp%!20=&3002
- $(wimp%+24)=Sprite$
- "Wimp_CreateIcon",,wimp%
- icon%
- =icon%
- Wimp_IconCaret(window%,icon%,chars%)
- "Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
- Wimp_IconText(window%,icon%)
- #wimp%!0=window% : wimp%!4=icon%
- "Wimp_GetIconState",,wimp%
- ((wimp%!24)
- &100)=0
- 1,"Icon isn't indirected"
- =$(wimp%!28)
- Wimp_IconValidation(window%,icon%)
- #wimp%!0=window% : wimp%!4=icon%
- "Wimp_GetIconState",,wimp%
- ((wimp%!24)
- &100)=0
- 1,"Icon isn't indirected"
- =$(wimp%!32)
- Wimp_IconDisable(window%,icon%)
- #wimp%!0=window% : wimp%!4=icon%
- $wimp%!8=1<<22 : wimp%!12=1<<22
- "Wimp_SetIconState",,wimp%
- Wimp_IconEnable(window%,icon%)
- #wimp%!0=window% : wimp%!4=icon%
- $wimp%!8=0 : wimp%!12=1<<22
- "Wimp_SetIconState",,wimp%
- Wimp_IconPutSprite(window%,icon%,sprite$)
- !wimp%!0=window%:wimp%!4=icon%
- "Wimp_GetIconState",,wimp%
- "Wimp_DeleteIcon",,wimp%
- =wimp%!4=wimp%!8 : wimp%!8=wimp%!12 : wimp%!12=wimp%!16
- ?wimp%!16=wimp%!20 : wimp%!20=wimp%!24 : $(wimp%+24)=sprite$
- "Wimp_CreateIcon",,wimp%
- icon%
- =icon%
- Wimp_IconPutText(window%,icon%,text$)
- #wimp%!0=window% : wimp%!4=icon%
- "Wimp_GetIconState",,wimp%
- ((wimp%!24)
- &100)=0
- 1,"Icon isn't indirected"
- $(wimp%!28)=text$
- #wimp%!0=window% : wimp%!4=icon%
- wimp%!8=0 : wimp%!12=0
- "Wimp_SetIconState",,wimp%
- Wimp_IconInterfaceStart
- "Wimp_BorderIcon",,wimp%
- Wimp_IconInterfaceFinish
- wimp%!8=0
- "Wimp_BorderIcon",,wimp%
- | -------------------------
- | 3.
- Menus
- | -------------------------
- | ----------------------------------------------
- | Procedures :
- | PROCWimp_MenuAdjustOn(menu%)
- | FNWimp_MenuChoice(level%)
- | FNWimp_MenuCreate(menu$)
- | FNWimp_MenuColours
- | FNWimp_MenuCreateColours(title$)
- | FNWimp_MenuNoOfEntries(menu$)
- | PROCWimp_MenuBackGroundColour(menu%,item%,colour%)
- | PROCWimp_MenuCentre(menu%,item%)
- | PROCWimp_MenuClose
- | PROCWimp_MenuDisable(menu%,item%)
- | PROCWimp_MenuDottedLine(menu%,item%)
- | PROCWimp_MenuEnable(menu%,item%)
- | PROCWimp_MenuForegroundColour(menu%,item%,colour%)
- | PROCWimp_MenuGlue(menu1%,item%,menu2%)
- | PROCWimp_MenuItem(menu%,item%,item$)
- | PROCWimp_MenuMessage(menu%,item%)
- | PROCWimp_MenuPopUp(Menu%,x%,y%)
- | PROCWimp_MenuPopUpBar(x%,y%)
- | PROCWimp_MenuTick(menu%,item%)
- | PROCWimp_MenuTitle(menu%,title$)
- | PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%)
- | ----------------------------------------------
- Wimp_MenuAdjustOn(menu%)
- "Wimp_GetPointerInfo",,pointer_block%
- ((pointer_block%!8)
- 1)=1
- "Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4
- Wimp_MenuChoice(level%)
- =(wimp%!(4*level%))+1
- Wimp_MenuCreate(menu$)
- menu$="Colours"
- Wimp_MenuColours
- menu%,index%,width%,length%,k%,s%
- menu% 28+
- Wimp_MenuNoOfEntries(menu$)*24
- .7menu%?12=7 : menu%?13=2 : menu%?14=7 :menu%?15=0
- /+menu%!16=140 : menu%!20=44 : menu%!24=0
- index%=menu%+28
- 1 $menu%=
- menu$,
- menu$,"\")-1)
- 2#width%=
- menu$,
- menu$,"\")-1))
- 3$menu$+="\" : Menu_NoOfEntries%=0
- menu$<>""
- menu$=
- menu$,
- menu$,"\")+1)
- menu$
- 91 !index%=0 : index%!4=-1 : index%!8=&7000021
- length%=
- menu$,"\")-1
- k%=
- menu$,length%),">")
- ?% s%=
- menu$,k%+1,length%-k%))
- index%!4=s%
- length%=k%-1
- C" $(index%+12)=
- menu$,length%)
- length%>width%
- width%=length%
- index%+=24
- menu%!16=16*(width%+1)
- I(index%!-24=index%!-24
- &80 : =menu%
- Wimp_MenuColours
- Wimp_MenuCreateColours(" ")
- Wimp_MenuCreateColours(title$)
- x$,men%,j%,i%
- P6x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15"
- men%=
- Wimp_MenuCreate(x$)
- i%=0
- i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7
- : j%=0
- men%?(39+i%*24)=i%*16+j%
- Wimp_MenuCentre(men%,i%+1)
- Z =men%
- Wimp_MenuNoOfEntries(menu$)
- n% ,j% : n%=0 : j%=0
- menu$,"\",j%+1)
- j%<>0
- n%+=1
- j%=0
- Wimp_MenuBackGroundColour(menu%,item%,colour%)
- fore%,i%
- f&fore%=(menu%?(39+(item%-1)*24))
- g(i%=((menu%?(39+(item%-1)*24))
- h/menu%?(39+(item%-1)*24)=fore%+16*colour%+i%
- Wimp_MenuCentre(menu%,item%)
- l:menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)
- (1<<3)
- Wimp_MenuClose
- "Wimp_CreateMenu",-1
- Wimp_MenuDisable(menu%,item%)
- t;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)
- (1<<22)
- Wimp_MenuDottedLine(menu%,item%)
- x7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))
- Wimp_MenuEnable(menu%,item%)
- Wimp_MenuDisable(menu%,item%)
- };menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)
- (1<<22)
- Wimp_MenuForegroundColour(menu%,item%,colour%)
- Emenu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))
- Wimp_MenuGlue(menu1%,item%,menu2%)
- menu1%!(8+item%*24)=menu2%
- Wimp_MenuItem(menu%,item%,item$)
- ,$(menu%+(40+(item%-1)*24))=
- item$,12)+
- Wimp_MenuMessage(menu%,item%)
- <menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))
- (1<<3)
- Wimp_MenuPopUp(Menu%,x%,y%)
- menu%=Menu%
- "Wimp_CreateMenu",,menu%,x%-64,y%+20
- Wimp_MenuPopUpBar(x%,y%)
- n% : n%=0
- ((Bar_Menu%!(28+n%*24))
- %10000000)=0
- n%+=1
- "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
- menu%=Bar_Menu%
- Wimp_MenuTick(menu%,item%)
- 7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))
- Wimp_MenuTitle(menu%,title$)
- $menu%=
- title$,12)+
- Wimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%)
- 7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))
- 8menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)
- #menu%!(40+(item%-1)*24)=buffer%
- menu%!(44+(item%-1)*24)=val%
- )menu%!(48+(item%-1)*24)=BufferLength%
- | -------------------------
- | 4.
- Sprites
- | -------------------------
- | ------------------------------------
- | Procedures :
- | PROCWimp_SpritesLoad
- | PROCWimp_SpritesPathLoad(pathname$
- | ------------------------------------
- Wimp_SpritesLoad
- Wimp_SpritesPathLoad("<Obey$Dir>.Sprites")
- direct_sprites%=sprites%
- Wimp_SpritesPathLoad(pathname$)
- S%,T%
- "<Obey$Dir>.Sprites":T%=
- #S%+16:
- sprites%T%,spname%12
- !sprites%=T%:sprites%!8=0
- "OS_SpriteOp",&109,sprites%
- "OS_SpriteOp",&10A,sprites%,pathname$
- | -------------------------
- | 5.
- Files
- | -------------------------
- | -------------------------------
- | Procedures :
- | FNWimp_FileType(type%)
- | FNWimp_GetFilePathName
- | FNWimp_FileLoad(pathname$)
- | FNWimp_GetStringAtAddress(array%)
- | FNWimp_GetFileFromPathname(f$)
- | PROCWimp_SendToEdit(file$)
- | -------------------------------
- Wimp_FileType(type%)
- type%
- &FFF:="Text"
- &FFD:="Data"
- &FFB:="Basic"
- &FF9:="Sprite"
- &FED:="Palette"
- &FEC:="Template"
- &AFF:="Draw"
- &1000:="Folder"
- &2000:="Application"
- ~(type%)
- Wimp_GetFilePathName
- Wimp_GetStringAtAddress(wimp%+44)
- Wimp_FileLoad(pathname$)
- S%,T%,file%
- pathname$
- #S%+16
- file%T%
- ("LOAD"+pathname$+""+
- ~file%)
- =file%
- Wimp_GetStringAtAddress(array%)
- s$:s$=""
- (?array%<>13)
- (?array%<>0):s$+=
- (?array%):array%+=1:
- Wimp_GetFileFromPathname(f$)
- f$,".")
- 0 :=f$
- Wimp_GetFileFromPathname(
- (f$)-
- f$,".")))
- Wimp_SendToEdit(file$)
- wimp%!4=&6CC01C0C
- wimp%!16=5
- wimp%!36=0
- wimp%!40=&FFF
- $(wimp%+44)=file$+
- file$+45
- !wimp%=4+(n%>>2)<<2
- !wimp%=n%
- "Wimp_SendMessage",17,wimp%,0
- | -------------------------
- | 5.
- Miscellaneous
- | -------------------------
- | -------------------------------
- | Procedures :
- | PROCWimp_Start(TaskName$)
- | FNWimp_BASICParameters
- | PROCWimp_SetEventVariables
- | PROCWimp_Error(task%,TaskName$)
- | PROCWimp_CloseDown
- | PROCWimp_Quit
- | FNWimp_ReadVariable(Variable$)
- | -------------------------------
- Wimp_Start(TaskName$,wimp_memory%,icon%)
- wimp% wimp_memory%,icons% icon%
- wimp_memory%<256
- wimp_memory%=256
- icon_memory%=icons%+icon%
- task$=TaskName$
- 9+indirect_sprites%=1 : direct_sprites%=1
- Wimp_SetEventVariables
- Wimp_Error:
- "Wimp_Initialise",200,&4B534154,TaskName$
- version%,task%
- "WimpExt_Initialise",12,task%,%100001111
- Wimp_BASICParameters
- com$,param$,I%
- "OS_GetEnv"
- com$
- params$=""
- com$," -quit ")
- params$=
- com$,
- com$," ",I%+
- " -quit ")+1)
- =params$
- Wimp_SetEventVariables
- pointer_block% 20
- interface%=
- K.null%=1 :draw%=2 : pointer_leaving%=1<<4
- L1pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7
- M&key%=1<<8:menu%=1<<9:scroll%=1<<10
- N@lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
- O0recorder%=1<<18:acknowledge%=1<<19:window%=0
- P!sprites%=1:version%=0:task%=0
- Q*Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
- R*x_origin%=0:y_origin%=0:SaveWindow%=-3
- S3message_quit%=0:message_save%=2:message_load%=3
- T!mouse_button%=2:save_event%=0
- U top_line%=0 : bottom_line%=0
- Wimp_Error
- X$,x%
- $+"atline"+
- ErrorMsg%36
- ^EErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x%
- $(ErrorMsg%+24)="!RunImage"
- "Wimp_SendMessage",17,ErrorMsg%
- Wimp_WindowAlert(task$,X$)
- Wimp_CloseDown
- Wimp_CloseDown
- "Wimp_CloseDown",task%,"TASK"
- Wimp_Quit
- finished%=
- Wimp_ReadVariable(Variable$)
- len%,result%,variable%
- $wimp%=Variable$
- "OS_ReadVarVal",wimp%,wimp%+255,255,,3
- ,,len%
- wimp%?(len%+255)=13
- =$(wimp%+255)
- | ----------------
- | Wimp Polling
- | ----------------
- Wimp_WaitForEvent
- mask%,event%
- finished%=
- mask%=%111000011001
- "XWimpExt_SlabIcon",,,0,0,0
- "WimpExt_PrePoll"
- "Wimp_Poll",0,wimp%
- event%
- "WimpExt_Action",task%,wimp%,event%
- event%
- event%
- Wimp_PollDrawWindow
- "WimpExt_OpenLinked",,wimp%
- Wimp_PollCloseWindow
- Wimp_PollMouseClick
- Wimp_PollSaveMessage
- Wimp_PollKeyPress
- Event_MenuChoice(menu%)
- 17,18:
- Wimp_PollMessages
- finished%
- Wimp_PollDrawWindow
- more%
- "Wimp_RedrawWindow",,wimp%
- more%
- window%=wimp%!0
- Ax_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
- more%
- "WimpExt_Redraw",,wimp%
- interface%
- "Wimp_BorderWindow",,wimp%
- Event_Draw(window%,x_origin%,y_origin%)
- "Wimp_GetRectangle",,wimp%
- more%
- Wimp_PollCloseWindow
- "Wimp_GetPointerInfo",,wimp%
- ) window%=wimp%!12 : buttons%=wimp%!8
- Event_WindowClose(window%,buttons%)
- 5 !wimp%=window% :
- "WimpExt_CloseLinked",,wimp%
- Wimp_PollMouseClick
- J button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
- button%
- 2 :
- Wimp_PollMenuPopUp
- Event_Save(window%)
- ,
- Wimp_PollMouseSave
- 1
- Wimp_PollEventMouseClick
-
- Wimp_PollMenuPopUp
- menu%=
- Event_Menu(window%)
- menu%
-
- window%
-
- -2 : n%=0
- 3
- ((Bar_Menu%!(28+n%*24))
- %10000000)=0
- n%+=1
-
- :
- "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
- 8
- "WimpExt_CreateMenu",,menu%,x%-64,y%+20
-
- Wimp_PollMouseSave
- icon%
- 0 :
- button%
- &50
- Wimp_PollDragBox(window%)
- 2 :
- button%
- Wimp_PollSaveFile(window%)
- Wimp_PollEventMouseClick
- interface%
- "Wimp_BorderIcon",,wimp%
- Event_MouseClick(window%,icon%,button%,x%,y%)
- interface%
- ( wimp%!0=x%:wimp%!4=y% : wimp%!8=0
- ( wimp%!12=window% : wimp%!16=icon%
- "Wimp_BorderIcon",,wimp%
- Wimp_PollSaveFile(window%)
- file$
- @ wimp%!0=window% : wimp%!4=1 :
- "Wimp_GetIconState",,wimp%
- file$=$(wimp%!28)
- file$,".")
- 0 :
- @ $(wimp%+4)="To save, drag the icon to a directory window"
- "Wimp_ReportError",wimp%,16,task$
- Event_SaveFile(file$,window%)
- "WimpExt_CreateMenu",-1
- Wimp_PollDragBox(window%)
- $sp$=
- Event_windowSprite(window%)
- save%=window%
- "WimpExt_DragIcon",%10000101,sprites%,window%,0,sp$
- x%,y%
- save%=window%
- !wimp%=window%
- "Wimp_GetWindowState",,wimp%
- - x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24
- wimp%!4=0
- "Wimp_GetIconState",,wimp%
- !wimp%=window%
- wimp%!4=5
- , wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12
- . wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20
- wimp%!24=0:wimp%!28=0
- * wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF
- "Wimp_DragBox",,wimp%
- Wimp_PollKeyPress
- "Wimp_ProcessKey",wimp%!24
- 1 window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
- window%=Address_W%
- saved%=
- Event_Save(window%)
- WimpPoll_SaveFile(window%)
- Event_KeyPress(window%,icon%,key%)
- Wimp_PollSaveMessage
- file$,window%,icon%,x%,y%
- "Wimp_GetPointerInfo",,wimp%
- : window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
- > wimp%!0=save% : wimp%!4=1 :
- "Wimp_GetIconState",,wimp%
- file$=$(wimp%!28)
- + file$=
- Wimp_GetFileFromPathname(file$)
- wimp%!20=window%
- wimp%!24=icon%
- wimp%!28=x%:wimp%!32=y%
- wimp%!36=length%
- wimp%!0=64
- wimp%!12=0
- wimp%!16=1
- wimp%!40=&FFF
- $(wimp%+44)=file$
- "Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24
- Wimp_PollMessages
- file$
- !,file$=
- Wimp_GetStringAtAddress(wimp%+44)
- wimp%!16
-
- 0 :
-
-
- &/
- PROCWimp_IconPutText(save%,1,file$)
- 'C wimp%!0=save% : wimp%!4=1 :
- "Wimp_GetIconState",,wimp%
- $(wimp%!28)=file$
- )< wimp%!0=save% : wimp%!4=1 : wimp%!8=0 : wimp%!12=0
- *'
- "Wimp_SetIconState",,wimp%
- +0
- PROCWimp_IconCaret(save%,1,LENfile$)
- ,8
- "Wimp_SetCaretPosition",save%,1,,,-1,
- file$
- -&
- Event_SaveFile(file$,save%)
-
- /G type$=
- Wimp_FileType(wimp%!40) :
- Event_LoadFile(file$,type$)
- 0
- Wimp_GetStringAtAddress(array%)
- s$:s$=""
- (?array%<>13)
- (?array%<>0):s$+=
- (?array%):array%+=1:
- Wimp_GetFileFromPathname(f$)
- f$,".")
- 0 :=f$
- Wimp_GetFileFromPathname(
- (f$)-
- f$,".")))
- Wimp_FileType(type%)
- type%
- &FFF:="Text"
- &FFD:="Data"
- &FFB:="Basic"
- &FF9:="Sprite"
- &FED:="Palette"
- &FEC:="Template"
- &AFF:="Draw"
- &1000:="Folder"
- &2000:="Application"
- ~(type%)
-