	FUNCTION GetMenu, sxt=sxt
;	--------------------------------------------------------------
;+							25-APR-92
;	Name: getmenu
;
;	Purpose: Get information for buliding pull-down menus.
;	
;	Input/keywords:
;		sxt	request for sxt specific menu information
;	
;	Returned:
;		.item	button label-search key
;		.labels	"pull-down menu" labels for button label
;		.vals	actual value for each "pull-down menu" label
;		.type	type of operation for each "pull-down" label
;
;	History: written 6-Jan-92, gal
;		3-Feb-92, update for adding dpe/time(msec)
;		4-Feb-92, update for img_max and comp 
;		25-Apr-92, update for gt_dpe....
;-
;	-------------------------------------------------------------

	IF ( KEYWORD_SET(sxt) ) THEN BEGIN
	  nitems = 11				;need to UPDATE WHEN
						;ADDING KEYS
	  nval = 64				;max number of values
	  ret = MAKE_STR("{dummy, " + $		;info template
			"item:' ', " + $
			"labels: STRARR("+STRING(nval)+"), " + $
			"vals: STRARR("+STRING(nval)+"), " + $
			"type: INTARR("+STRING(nval)+") }")

;	  perhaps pass keys list to generate info:
	  ret = REPLICATE(ret, nitems)		

	  ret(0).item = 'Filter A'		;filter A info
	  ret(0).labels  = [GT_FILTA(indgen(6)+1,/string), 'Clear Entry']
	  ret(0).vals  = ['='+ GT_FILTA(indgen(6)+1,/string), ''] 
	  ret(0).type = [1,1,1,1,1,1,3]

	  ret(1).item = 'Filter B'		;filter B info
	  ret(1).labels  = [GT_FILTB(indgen(6)+1,/string), 'Clear Entry']
	  ret(1).vals  = ['='+ GT_FILTB(indgen(6)+1,/string), ''] 
	  ret(1).type = [1,1,1,1,1,1,3]

	  ret(2).item = 'Exposure Type'		;expMode info
	  ret(2).labels  = [GT_ExpMode(indgen(3),/string), 'Clear Entry']
	  ret(2).vals  = ['='+ GT_ExpMode(indgen(3),/string), '']
	  ret(2).type = [1,1,1,3]

	  ret(3).item = 'Resolution'		;ImgParam-Res info
	  ret(3).labels = [GT_RES(indgen(3),/string), 'Clear Entry']
	  ret(3).vals  = ['='+ GT_RES(indgen(3),/string), '']
	  ret(3).type = [1,1,1,3]

	  ret(4).item = 'Data Compression'	;ImgParam-Cmp info
	  ret(4).labels = ['comp','low8','hi8','Clear Entry']
	  ret(4).vals = ['=comp','=low8','hi8', '']
	  ret(4).type = [1,1,1,3]

	  ret(5).item = 'Shape Cmd'		;Shape cmd info
	  ret(5).labels = ['64x64','128x128','256x256','512x512','1024x1024', $
			'1024x512','User Enter','Clear Entry']
	  ret(5).vals  = ['(=64,=64)','(=128,=128)','(=256,=256)', $
			'(=512,=512)','(=1024,=1024)','(=1024,=512)', $
			'User Enter', '']
	  ret(5).type = [1,1,1,1,1,1,2,3]

	  ret(6).item = 'FOV Center'		;FOV center info
	  ret(6).labels = ['East Limb','West Limb','N. Active','S. Active', $
		'User Enter', 'Clear Entry']
	  ret(6).vals = ['(=-900,=*,=E)','(=900,=*,=W)','(=*,=300,=NA)', $
			'(=*,=-300,=SA)', 'User Enter', '']
	  ret(6).type = [1,1,1,1,2,3]

	  ret(7).item = 'Percent Data'
	  ret(7).labels = ['=100%','>80%','>50%','User Enter', 'Clear Entry']
	  ret(7).vals = ['=255','>204','>128','User Enter', '']
	  ret(7).type = [1,1,1,2,3]

	  ret(8).item = 'Image Max'
	  ret(8).labels = ['=255', '<255', '<230 (90% of 255)', $
		'<204 (80% of 255)', '<161 (255 -(1/e))', '<94 (255*(1/e))', $
		'User Enter', 'Clear Entry']
	  ret(8).vals = ['=255','<255','<230','<204','<161','<94', $
		'User Enter', '']
	  ret(8).type = [1,1,1,1,1,1,2,3]

	  ret(9).item = 'Command Exp'		;ExpLevMode-MBE info
;	  ret(9).val  = GT_MBE(BINDGEN(64),/string)
	  ret(9).labels  = ['3','5','7','9','User Enter','Clear Entry']
	  ret(9).vals  = ['=3','=5','=7','=9','=User Enter','']
	  ret(9).type = [1,1,1,1,2,3]

	  ret(10).item = 'DPE-Effective Exp'
	  dpe = gt_dpe(INDGEN(31),/string)		;w/10% mask
	  dpes= gt_dpe(INDGEN(31),/conv,/string)
	  ret(10).labels = [dpe + ' ' + dpes,'User Enter', 'Clear Entry']	;generate labels
	  ret(10).vals = ['=' + STRTRIM(dpe,2),'User Enter', '']
	  ret(10).type = [replicate(1,N_ELEMENTS(dpe)), 2, 3]
	ENDIF

;	trim or force all STRINGS to same length:
	len = MAX(strlen(ret.item))	;set to max len or requested??
	str = '(a'+ string(len) +')' 
	ret.item = string(ret.item, format= str)

	maxlen = MAX(strlen(ret.labels))
	minlen = MIN(strlen(ret.labels))
	add = STRING(replicate(32b,maxlen-minlen))
	ret.labels = ret.labels + add		;increase len of all strings
	ret.labels = STRMID(ret.labels,0,maxlen)	;trim all to max size

	maxlen = MAX(strlen(ret.vals))
	minlen = MIN(strlen(ret.vals))
	add = STRING(replicate(32b,maxlen-minlen))
	ret.vals = ret.vals + add		;increase len of all strings
	ret.vals = STRMID(ret.vals,0,maxlen)	;trim all to max size

;	str = '(a'+ string(len) +')' 
;	s = SIZE(ret.vals)
;	ret.vals = REFORM(string(ret.vals, format= str),s(1),s(2))



	RETURN, ret
	END
