home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
text
/
jonix_1
/
!Jonix
/
!RunImage
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1996-07-18
|
11KB
|
461 lines
> !Jonix.!RunImage
> Jonix front-end
Chris Rutter 1996
block% 2048,bounding_box% 32
8quit%=
:jonix_active%=0:jonix_task%=0:jonix_abort%=
messages_open
messages_choose
"Wimp_Initialise",310,&4B534154,
msg("TaskName"),block%
,task_handle%
windows_load
menus_initialise
iconbar_create
"WimpLib_IconSetText",proginfo_window%,7,
msg("Version")+" ("+
msg("Date")+")"
error_wimp
"OS_ReadMonotonicTime"
time%
"Wimp_PollIdle",1,block%,time%+100
action%
process(action%,block%)
quit%
"MessageTrans_CloseFile",message_desc%
"Wimp_CloseDown",task_handle%,&4B534154
messages_open
message_size%
"OS_File",5,"<Jonix$Dir>.UK.Messages"
,,,,message_size%
message_desc% 16, message_filebuff% message_size%+16, message_buff% 256
"MessageTrans_OpenFile",message_desc%,"<Jonix$Dir>.UK.Messages",message_filebuff%
msg(token$)
"XMessageTrans_Lookup",message_desc%,token$,message_buff%,256
,,,message_size%;message_found%
message_found%
$message_buff%=""
message_buff%?message_size%=13
=$message_buff%
messages_choose
block%!0=3
block%!4=2
.,block%!8=&400C3 :
Message_TaskCloseDown
block%!12=0
windows_load
"Wimp_OpenTemplate",,"<Jonix$Dir>.UK.Templates"
4-proginfo_window%=
window_load("ProgInfo")
5-xfersend_window%=
window_load("XferSend")
61processing_window%=
window_load("Processing")
7'jonix_window%=
window_load("Jonix")
"Wimp_CloseTemplate"
window_load(window$)
indirected%,space%,window%
"Wimp_LoadTemplate",,-1,-1,-1,-1,window$,0
,,space%
space%>0
indirected% space%+1
"Wimp_LoadTemplate",,block%,indirected%,indirected%+space%+1,-1,window$,0
"Wimp_LoadTemplate",,block%,-1,-1,-1,window$,0
"Wimp_CreateWindow",,block%
window%
=window%
window_open(window%)
!block%=window%
"Wimp_GetWindowState",,block%
"Wimp_OpenWindow",,block%
window_close(window%)
!block%=window%
"Wimp_CloseWindow",,block%
iconbar_create
block%!0=-1
block%!4=0
block%!8=0
block%!12=94
block%!16=68
block%!20=&3002
$(block%+24)="!jonix"
"Wimp_CreateIcon",,block%
iconbar_icon%
process(action%,block%)
action%
2 :
"Wimp_OpenWindow",,block%
3 :
"Wimp_CloseWindow",,block%
6 :
process_mouse(block%!0,block%!4,block%!8,block%!12,block%!16)
7 :
process_dragfinished
8 :
process_keypress(block%!0,block%!4,block%!24)
9 :
process_menuselect(block%)
17,18 :
process_message(block%)
process_mouse(mx%,my%,mb%,window%,icon%)
window%
icon%
iconbar_icon%
mb%
o,
4,1 :
window_open(jonix_window%)
p1
2 :
menu_open_iconbar(menu_main%,mx%)
q
jonix_window%
icon%
u<
9 :
menu_open_icon(menu_lineends%,jonix_window%,9)
v-
10 :
icon_increase(jonix_window%,5)
w-
11 :
icon_decrease(jonix_window%,5)
x0
12 :
icon_increase(jonix_window%,6)
y-
13 :
icon_decrease(jonix_window%,6)
z-
14 :
icon_increase(jonix_window%,7)
{-
15 :
icon_decrease(jonix_window%,7)
16 :
jonix_start
}*
17 :
window_close(jonix_window%)
processing_window%
icon%
0 :
jonix_abort
xfersend_window%
icon%
0 :
xfersend_ok
3 :
xfersend_drag
process_message(block%)
block%!16
0 : quit%=
2 :
message_datasaveack(
ct(block%+44))
3 :
message_dataload(block%!20,block%!24,block%!40,
ct(block%+44))
&400C3 :
message_taskdied(block%!4)
message_dataload(window%,icon%,type%,path$)
type%=&FFF
window%=jonix_window%
icon%=19
"WimpLib_IconSetText",jonix_window%,19,path$
icon_getvalue(window%,icon%)
icon_gettext(window%,icon%))
icon_gettext(window%,icon%)
text$
block%!0=window%
block%!4=icon%
"Wimp_GetIconState",,block%
(block%!24
(1<<8))=(1<<8)
text$=
ct(block%!28)
text$=
ct(block%+28)
=text$
icon_selected(window%,icon%)
block%!0=window%
block%!4=icon%
"Wimp_GetIconState",,block%
(block%!24
(1<<21))=(1<<21)
ct(address%)
string$
?address%>31
& string$+=
(?address%):address%+=1
=string$
jonix_start
out$,text$,command$
file$,width%,distance%,rowlength%,newline%,remove%
"XOS_CLI","Wipe <Wimp$ScrapDir>.JonixLog ~C~VFR"
"XOS_CLI","Wipe <Wimp$ScrapDir>.JonixOut ~C~VFR"
window_close(xfersend_window%)
window_close(processing_window%):
log_display:
notify(
$):jonix_active%=
#out$="<Wimp$ScrapDir>.JonixOut"
$text$="<Wimp$ScrapDir>.JonixLog"
)file$=
icon_gettext(jonix_window%,19)
file$=""
msg("E00")
*width%=
icon_getvalue(jonix_window%,5)
-distance%=
icon_getvalue(jonix_window%,6)
.rowlength%=
icon_getvalue(jonix_window%,7)
icon_gettext(jonix_window%,8)="Detect"
newline%=0
- newline%=
icon_getvalue(jonix_window%,8)
+remove%=
icon_selected(jonix_window%,4)
remove%=
remove%=1
command$="<Jonix$Dir>.Jonix "+file$+" "+out$+" -w "+
(width%)+" -d "+
(distance%)+" -r "+
(rowlength%)+" -n "+
(newline%)+" -v "+
(remove%)+" -s "+text$
"Wimp_StartTask",command$
jonix_task%
jonix_task%=0
1,""
"WimpLib_IconSetText",processing_window%,1,"Processing file..."
window_open(processing_window%)
window_close(jonix_window%)
jonix_active%=
message_taskdied(task%)
task%=jonix_task%
jonix_stop
jonix_stop
jonix_active%=
window_close(processing_window%)
jonix_abort%
jonix_abort%=
window_aroundmouse(xfersend_window%)
log_display
notify(text$)
text$<>""
"Wimp_ReportError","Fish"+text$,1,
msg("TaskName")
log_display
file%,text$
'file%=
("<Wimp$ScrapDir>.JonixLog")
file%>0
text$=
#file%:
#file%
text$)="."
text$=
text$,
(text$)-1)
text$<>""
notify(text$)
jonix_abort
jonix_active%
block%!0=20
block%!12=0
block%!16=0
"Wimp_SendMessage",17,block%,jonix_task%
jonix_abort%=
window_aroundmouse(window%)
x%,y%,w%,h%,lw%,rw%,lh%,rh%,b%
x%,y%,b%
block%!0=window%
"Wimp_GetWindowState",,block%
w%=block%!12-block%!4
h%=block%!16-block%!8
lw%=w%/2
rw%=w%-lw%
lh%=h%/2
rh%=h%-lh%
block%!4=x%-lw%
block%!8=y%-lh%
block%!12=x%+rw%
block%!16=y%+rh%
"Wimp_OpenWindow",,block%
"Wimp_SetCaretPosition",window%,2,0,0,-1,
icon_gettext(window%,2))
xfersend_drag
block%!0=xfersend_window%
"Wimp_GetWindowState",,block%
bounding_box%!0=block%!4
bounding_box%!4=block%!16
bounding_box%!8=block%!4
bounding_box%!12=block%!16
bounding_box%!0-=block%!20
bounding_box%!4-=block%!24
bounding_box%!8-=block%!20
bounding_box%!12-=block%!24
(block%!0=xfersend_window%:block%!4=3
"Wimp_GetIconState",,block%
bounding_box%!0+=block%!8
bounding_box%!4+=block%!12
bounding_box%!8+=block%!16
bounding_box%!12+=block%!20
"DragASprite_Start",%01000001,1,"file_fff",bounding_box%
process_dragfinished
size%,window%,icon%,x%,y%
"DragASprite_Stop"
"Wimp_GetPointerInfo",,block%
x%=block%!0
y%=block%!4
window%=block%!12
icon%=block%!16
"OS_File",5,"<Wimp$ScrapDir>.JonixOut"
,,,,size%
+=$(block%+44)=
leafname(
icon_gettext(xfersend_window%,2))
block%!0=252
block%!12=0
block%!16=1
block%!20=window%
block%!24=icon%
block%!28=x%
block%!32=y%
block%!36=size%
block%!40=&fff
"Wimp_SendMessage",17,block%,block%!20
leafname(path$)
dot%,position%
path$,".")=0
=path$
position%=
(path$)
path$,position%,1)="."
dot%=0
dot%=position%
position%
path$,dot%+1)
message_datasaveack(path$)
block%!12=block%!8
block%!16=3
"Wimp_SendMessage",17,block%,block%!4
"WimpLib_IconSetText",xfersend_window%,2,path$
"OS_CLI","Copy <Wimp$ScrapDir>.JonixOut "+path$+" ~C~VF"
window_close(xfersend_window%)
xfersend_ok
icon_gettext(xfersend_window%,2),".")=0
notify(
msg("E01")):
message_datasaveack(
icon_gettext(xfersend_window%,2))
error_wimp
result%
0,"Error in error trap: "+
!block%=
$(block%+4)=
"Wimp_ReportError",block%,1
msg("TaskName")
,result%
result%=2
"MessageTrans_CloseFile",message_desc%
"Wimp_CloseDown",task_handle%,&4B534154
menus_initialise
menu_main% 28+(24*2)
$menu_main%="Jonix"
menu_main%?12=7
menu_main%?13=2
menu_main%?14=7
menu_main%?15=0
menu_main%!16=150
menu_main%!20=44
menu_main%!24=0
menu_main%!28=0
h"menu_main%!32=proginfo_window%
i*menu_main%!36=7<<24
3<<12
1<<4
$(menu_main%+40)="Info"
menu_main%!52=1<<7
menu_main%!56=-1
m*menu_main%!60=7<<24
3<<12
1<<4
$(menu_main%+64)="Quit"
menu_lineends% 28+(24*3)
$menu_lineends%="Newline"
menu_lineends%?12=7
menu_lineends%?13=2
menu_lineends%?14=7
menu_lineends%?15=0
menu_lineends%!16=150
menu_lineends%!20=44
menu_lineends%!24=0
menu_lineends%!28=0
menu_lineends%!32=-1
z.menu_lineends%!36=7<<24
3<<12
1<<4
{!$(menu_lineends%+40)="Detect"
menu_lineends%!52=0
menu_lineends%!56=-1
~.menu_lineends%!60=7<<24
3<<12
1<<4
$(menu_lineends%+64)="10"
menu_lineends%!76=1<<7
menu_lineends%!80=-1
.menu_lineends%!84=7<<24
3<<12
1<<4
$(menu_lineends%+88)="13"
menu_open_iconbar(menu%,x%)
"Wimp_CreateMenu",,menu%,x%-65,96+(2*44)
menu_last%=menu%
menu_open_icon(menu%,window%,icon%)
mx%,my%
4!block%=window%:
"Wimp_GetWindowState",,block%
Jblock%!128=window%:block%!132=icon%:
"Wimp_GetIconState",,block%+128
mx%=(block%!144)+block%!4+2
#my%=block%!16+(block%!(136+12))
"Wimp_CreateMenu",,menu%,mx%,my%
menu_last%=menu%
process_menuselect(block%)
menu_last%
menu_main%
block%!0
1 : quit%=
menu_lineends%
block%!0
0 :
"WimpLib_IconSetText",jonix_window%,8,"Detect"
1 :
"WimpLib_IconSetText",jonix_window%,8,"10"
2 :
"WimpLib_IconSetText",jonix_window%,8,"13"
icon_increase(window%,icon%)
value%
(value%=
icon_getvalue(window%,icon%)
"WimpLib_IconSetText",window%,icon%,
(value%+1)
icon_decrease(window%,icon%)
value%
(value%=
icon_getvalue(window%,icon%)
value%-=1
value%<0
value%=0
"WimpLib_IconSetText",window%,icon%,
(value%)
process_keypress(window%,icon%,key%)
window%=xfersend_window%
icon%=2
key%=13
xfersend_ok