function range_widget, parent, label=label
;
;+
;-
ntexts = lonarr(3)			; number of text windows
;
tlabels = ['First Data Set', 'Last Data Set', 'Current Data Set']
;
if not keyword_set(label) then $
   label='Data Set Range Parameters'
;
; build the top level structure
structure = '{dummy, top:0L, label:0L, ' + $
		'bases:' + fmt_tag(size(ntexts)) + $
		',labels:' + fmt_tag(size(ntexts)) + $
		',texts:' + fmt_tag(size(ntexts)) + '}'
structure=make_str(structure)
;
base=widget_base(parent, /column)
label=widget_label(base, value=label, /frame)
;
labels = [0L] 
texts = [0L]
bases = [0L] 
;
tbase=widget_base(base, /row)
for i=0, n_elements(ntexts)-1 do begin
   basex=widget_base(tbase,/column,/frame)
   labelx=widget_label(basex,value=tlabels(i))
   textx=widget_text(basex)
   labels=[labels,labelx]
   texts=[texts, textx]
   bases=[bases, basex]
endfor
;
xmenu, ['Current >> Start','Current >> Stop', 'Reset '], tbase, $
	uvalue=['CURSTRT', 'CURSTOP', 'RESET'], /column
;
; copy widget info into strucure
structure.top = base
structure.label = label
structure.bases = bases(1:*)
structure.labels = labels(1:*)
structure.texts = texts(1:*)
;
widget_control, set_uvalue=structure, base
return,base
end
