	pro ssrt_event,ev

common ssrt,ID, red, green, blue
common colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr

	CASE !version.OS OF

'windows':	Delim='\'

'Win32':	Delim='\'

ELSE:		Delim='/'

	ENDCASE


path=getenv('ssrt_demo')+Delim

widget_control,ev.id,get_uval=uv,/hour


	CASE uv OF

'DONE':		widget_control, ev.top, /destr

'Restore':	tvlct, red, green, blue

'1D Fast':	alt

'Sh':           sh,group=ev.top

'Coordinates':	ewsn_view,group=ev.top

'Alignment':	file_align,group=ev.top

'Processing':	l_r_proc,group=ev.top

'Map':		ssrt_map_view, group=ev.top

'Map_enh':	_s_m_imp, group=ev.top

'I_p':		yp, group=ev.top

'Array_view':	array_view, group=ev.top

'Image_view':    show_picture, group=ev.top

'Pic_Plot':	pic_plot, group=ev.top

'Overview':	show_picture, file=path+'overview.gif', group=ev.top ,/def


'Central part':	 show_picture, file=path+'center.gif', group=ev.top ,/def


'Southern line': show_picture, file=path+'south.gif', group=ev.top ,/def


'Tunnel':	show_picture, file=path+'tunnel.gif', group=ev.top ,/def


'Description': xtext,file=path+'descr.txt'

'Xloadct':	Xloadct,group=ev.top

'MSW_U':	rem_lf,/over,filt='*.*'

'U_MSW':	add_lf,/over,filt='*.*'





	ELSE: help,uv,/st
	ENDCASE

	end

	pro ssrt

common ssrt,ID, red, green, blue
common colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr

gr

ID={draw:lonarr(5), win:lonarr(5)}


if xregistered('ssrt') then return


base=widget_base(tit='SSRT data processing tools',/colu)

menubase=widget_base(base,/row)

button=widget_button(menubase,val='DONE',uval='DONE')
button=widget_button(menubase,val='Restore colors',uval='Restore')

	CASE !version.OS OF

'windows':	Delim='\'

'Win32':	Delim='\'

ELSE:		Delim='/'

	ENDCASE

path=getenv('ssrt_demo')+Delim

file1=path+'ssrtsign.gif'
read_gif,file1,x1
Sz1=size(x1)

file2=path+'ssrt_q.gif'
read_gif,file2,x2
Sz2=size(x2)

file2a=path+'ct_ssrt.dat'
r2=(g2=(b2=bytarr(236)))
openr,lun,file2a,/get
readu,lun,r2,g2,b2
free_lun,lun

file3=path+'map0.gif'
read_gif,file3,x3
Sz3=size(x3)

file4=path+'1021.gif'
read_gif,file4,x4
Sz4=size(x4)

button_values=[	'Coordinates, size and flux of the source',	$
		'Alignment of the record',			$
		'Processing of the aligned record',		$
		'Viewer of original SSRT data']

but_uval=['Coordinates','Alignment','Processing','Sh']


drawbase=widget_base(base, /row)

drawbase1=widget_base(drawbase, /colu)
drawbase2=widget_base(drawbase, /colu)

ID.draw(0)=widget_draw(drawbase1, xs=Sz1(1),ys=sz1(2), /button, uv='General')
button=widget_button(drawbase1,val='About',uval='Description')

ID.draw(1)=widget_draw(drawbase1, xs=Sz1(1) > Sz3(1),ys=sz1(2) > Sz3(1))
junk=widget_button(drawbase1,val='2d maps',/menu)
button=widget_button(junk,val='Map viewer',uval='Map')
button=widget_button(junk,val='Map enhancer',uval='Map_enh')
button=widget_button(junk,val='Interactive preprocessing',uval='I_p')

ID.draw(2)=widget_draw(drawbase2, xs=Sz2(1),ys=sz2(2))
junk=widget_button(drawbase2,val='Photos',/menu)
	button=widget_button(junk,val='Overview',uval='Overview')
	button=widget_button(junk,val='Central part',uval='Central part')
	button=widget_button(junk,val='Southern line',uval='Southern line')
	button=widget_button(junk,val='Tunnel',uval='Tunnel')

drawbase3=widget_base(drawbase2, /row)
left_draw_base=widget_base(drawbase3, /colu)
right_draw_base=widget_base(drawbase3, /colu)

ID.draw(3)=widget_draw(left_draw_base, xs=Sz2(1)*0.48,ys=sz1(2)*0.8)
button1=widget_button(left_draw_base,val='1D fast records', /menu);uval='1D Fast'
for j=0,3 do button=widget_button(button1,val=button_values(j),uval=but_uval(j))

ID.draw(4)=widget_draw(right_draw_base, xs=Sz2(1)*0.48,ys=sz1(2)*0.8)
junk=widget_button(right_draw_base,val='Tools', /menu)
	button=widget_button(junk,val='Adjust palette',uval='Xloadct')
	junk1=widget_button(junk,val='Viewers', /menu)
		button=widget_button(junk1,val='Array viewer',uval='Array_view')
		button=widget_button(junk1,val='Image viewer',uval='Image_view')
	junk1=widget_button(junk,val='Converters', /menu)
		button=widget_button(junk1,val='MS Windows --> UNIX',uval='MSW_U')
		button=widget_button(junk1,val='UNIX --> MS Windows',uval='U_MSW')
		button=widget_button(junk1,val='Image --> Array',uval='Pic_Plot')
;	junk1=widget_button(junk,val='Miscellaneous', /menu)
;		button=widget_button(junk1,val='Image --> Array',uval='Pic_Plot')

widget_control, base, /real, /hour

	for j=0,4 do begin

widget_control, ID.draw(j), get_val=tmp

ID.win(j)=tmp

	endfor

wset, ID.win(0)

y=x1
i=[0,4,5,10,15,16,17,18,20,255]

 for j=0,9 do y(where(x1 eq i(j)))=!d.n_colors-10+j

tv,y

tail=[	[0,0,0],	$
	[0,128,0],	$
	[0,128,128],	$
	[0,128,255],	$
	[192,192,192],	$
	[255,0,0],	$
	[255,255,0],	$
	[0,255,0],	$
	[0,0,255],	$
	[255,255,255]]


tail=transpose(tail)

wset, ID.win(1)
erase, !d.n_colors-1
tv,bytscl(x3,top=!d.n_colors-71-10)+71b, ((Sz1(1)-Sz3(1)) > 0)/2,0

r=interpolate(r2,findgen(!d.n_colors-10)/(!d.n_colors-11)*255)
g=interpolate(g2,findgen(!d.n_colors-10)/(!d.n_colors-11)*255)
b=interpolate(b2,findgen(!d.n_colors-10)/(!d.n_colors-11)*255)

red=[r,tail(*,0)]
green=[g,tail(*,1)]
blue=[b,tail(*,2)]

tvlct, red, green, blue

wset, ID.win(2)
tv,bytscl(x2,top=!d.n_colors-30)+6b

wset, ID.win(3)

openr,lun,path+'fdas.dat',/get_lun
x=intarr(176,50)
readu,lun,x
free_lun,lun

	CASE !version.OS OF

'windows':
'Win32':

ELSE:	byteorder, x

	ENDCASE


shade_surf,x,shade=bytscl(alog(x+3), top=100), back=!d.n_colors-1, $
	xmar=[5,0],ymar=[2,3],zmar=[0,0],col=10


wset, ID.win(4)
;TV,bytscl(x4,top=!d.n_colors-70)+6b

tv,bytscl(x4,top=!d.n_colors-100)+!d.n_colors/4+5

;erase,15;!d.n_colors-1

empty

xmanager, 'ssrt', base

	end