Extended IDL Help

This page was created by the IDL library routine mk_html_help. For more information on this routine, refer to the IDL Online Help Navigator or type:

     ? mk_html_help

at the IDL command line prompt.

Last modified: Fri Feb 2 17:44:52 2001.


List of Routines


Routine Descriptions

ASK

[Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	ASK
 Purpose     :	
	Gets a single letter response from the keyboard.
 Explanation :	
	Gets a single letter response from the keyboard.  Only responses in the
	array VALID are allowed.  The prompt string is printed, and GET_KBRD is
	called to read in the result.
 Use         :	
	ASK, PROMPT, ANSWER  [, VALID ]

	Example:  ASK, 'Do you want to continue? ', ANSWER

 Inputs      :	
	PROMPT	= Prompt to ask for input.
 Opt. Inputs :	
	VALID	= List of valid responses, put together into one character
		  string.  If not passed, then "YN" is assumed.  All characters
		  are converted to uppercase.
 Outputs     :	
	ANSWER	= Single letter answer.  This is always returned as uppercase.
 Opt. Outputs:	
	None.
 Keywords    :	
	FONT	= Font to use when displaying the prompt widget.  Only
		  meaningful when the prompt is displayed in a text widget
		  (currently only in IDL for Windows).  If not passed, then the
		  first available 20 point font is used.
 Calls       :	
	SETPLOT
 Common      :	
	None.
 Restrictions:	
	Any non-printing key will act just like the return key when used with
	IDL for Microsoft Windows.  This includes the delete and backspace
	keys, which otherwise would erase the previous selected character.
 Side effects:	
	None.
 Category    :	
	Utilities, User_interface.
 Prev. Hist. :	
	W.T.T., Oct. 1989.
	William Thompson, 11 May 1993, converted to use widgets when available.
		This makes it compatible with IDL for Windows, together with a
		small change for carriage returns.  Also added FONT keyword.
	William Thompson, 22 June 1993, converted to use widgets only with IDL
		for Windows.
 Written     :	
	William Thompson, GSFC, October 1989.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
 Version     :	
	Version 1, 9 July 1993.

(See .//ask.pro)


BELL

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : Bell
               
 Purpose     : To ring the terminal bell a specified number of times.
               
 Explanation : Prints ascii code for the terminal bell.
               
 Use         : IDL> bell, n
    
 Inputs      : n   -  number of bell rings required  
               
 Opt. Inputs : As above
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : None
               
 Restrictions: None
               
 Side effects: Noise
               
 Category    : Utilities, user
               
 Prev. Hist. : None

 Written     : C D Pike, RAL,  31 March 1993
               
 Modified    : 

 Version     : Version 1

(See .//bell.pro)


BOX_CRS

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	BOX_CRS
 Purpose     : 
	Two-button equivalent of BOX_CURSOR for Microsoft Windows.
 Explanation : 
	Emulates the operation of a variable-sized box cursor (also known as
	a "marquee" selector).  Differs from BOX_CURSOR in that only two mouse
	buttons are used.  This makes it useful for Microsoft Windows, where
	all three buttons are not always available.

	The graphics function is set to 6 for eXclusive OR.  This allows the
	box to be drawn and erased without disturbing the contents of the
	window.

	Operation is as follows:

	To move box:	Hold down either the left or middle mouse button while
			the cursor is inside the box, and drag the box to the
			desired position.

	To resize box:	Hold down either the left or middle button mouse while
			the cursor is outside the box, and drag the box to the
			desired size.  The corner nearest the initial mouse
			position is moved.

	To exit:	Press the right mouse button to exit this procedure,
			returning the current box parameters.

 Use         : 
	BOX_CRS, x0, y0, nx, ny [, INIT = init] [, FIXED_SIZE = fixed_size]
 Inputs      : 
	No required input parameters.
 Opt. Inputs : 
	X0, Y0, NX, and NY give the initial location (X0, Y0) and size (NX, NY)
	of the box if the keyword INIT is set.  Otherwise, the box is initially
	drawn in the center of the screen.
 Outputs     : 
	X0:  X value of lower left corner of box.
	Y0:  Y value of lower left corner of box.
	NX:  width of box in pixels.
	NY:  height of box in pixels. 

	The box is also constrained to lie entirely within the window.

 Opt. Outputs: 
	None.
 Keywords    : 
	INIT:  If this keyword is set, x0, y0, nx, and ny contain the initial
	parameters for the box.

	FIXED_SIZE:  If this keyword is set, nx and ny contain the initial
	size of the box.  This size may not be changed by the user.

	MESSAGE:  If this keyword is set, print a short message describing
	operation of the cursor.

 Calls       : 
	None.
 Common      : 
	None.
 Restrictions: 
	Works only with window system drivers.
 Side effects: 
	A box is drawn in the currently active window.  It is erased on exit.
 Category    : 
	Utilities, User_interface.
 Prev. Hist. : 
	DMS, April, 1990.
	DMS, April, 1992.  Made dragging more intutitive.
	William Thompson, GSFC, 11 June 1993.
		Changed to use two button operation, selecting moving or
		resizing based on whether or not the cursor is inside or
		outside the box.  Renamed to BOX_CRS.
 Written     : 
	David M. Stern, RSI, April 1990.
 Modified    : 
	Version 1, William Thompson, GSFC, 25 June 1993.
		Incorporated into CDS library.
 Version     : 
	Version 1, 25 June 1993.

(See .//box_crs.pro)


COUNTDOWN

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	COUNTDOWN
 Purpose     : 
	Prints a message showing where you are in a long job.
 Explanation : 
	Calling COUNTDOWN,n_steps,/OPEN prints a character string consisting of
	some spaces, a slash, and the total number of steps.  Then each
	subsequent call prints out the iteration number on the same line in the
	spaces before the slash.  COUNTDOWN,/CLOSE then resets the behavior of
	the terminal to the default, and linefeeds to a new line.

	If the graphics device supports widgets, then a text widget is used
	instead of the terminal screen/window.

 Use         : 
	COUNTDOWN, N_STEPS, /OPEN	;To begin
	COUNTDOWN, I_STEP		;Each step
	COUNTDOWN, /CLOSE		;To finish
 Inputs      : 
	NUMBER	= Either the total number of steps, or the step number.  Not
		  required when closing the countdown.
 Opt. Inputs : 
	None.
 Outputs     : 
	None.
 Opt. Outputs: 
	None.
 Keywords    : 
	OPEN	= Used to open the countdown.
	CLOSE	= Used to close the countdown.
	FONT	= Font to use when displaying the countdown widget.  Only
		  meaningful when the graphics device supports widgets.  If not
		  passed, then the first available 20 point font is used.
 Calls       : 
	TRIM
 Common      : 
	Common block COUNT_DOWN is used simply to keep track of the logical
	unit number used, and whether the countdown is open or not.  It also
	keeps track of those variables used by the widget part of the software,
	when applicable.
 Restrictions: 
	No other output can be sent to the screen when countdown is in effect
	(unless the graphics device uses widgets).  Should not be used in a
	batch job.
 Side effects: 
	If the individual steps are too close together in time, then this could
	slow down the calling routine.
 Category    : 
	Utilities, User_interface.
 Prev. Hist. : 
	William Thompson, October 1991.
	William Thompson, 12 May 1993, converted to use widgets when available.
		This makes it compatible with IDL for Windows.  Also added FONT
		keyword.
 Written     : 
	William Thompson, GSFC, October 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 14 May 1993.
		Incorporated into CDS library.
 Version     : 
	Version 1, 14 May 1993.

(See .//countdown.pro)


CRS

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	CRS
 Purpose     :	
	Simplified CURSOR, with continuous readout option.
 Explanation :	
	This procedure uses the routine CURSOR to find the coordinates,
	expressed in data units, of a point selected with the cursor.
 Use         :	
	CRS  [, X_VALUE  [, Y_VALUE  [, PRINT_SWITCH ]]]

	CRS		;Values printed to screen.
	CRS, X, Y	;Values stored in variables X and Y
	CRS, X, Y, 1	;Values stored in X,Y, and printed to screen.

 Inputs      :	
	None required.
 Opt. Inputs :	
	PRINT_SWITCH	= Switch used to control printing the values of 
			  X_VALUE, Y_VALUE to the screen.  If not passed,
			  then assumed 0 (no printing) unless no parameters
			  are passed, in which case 1 (printing) is assumed.
 Outputs     :	
	None required.
 Opt. Outputs:	
	X_VALUE		= X position in data coordinates of cursor.
	Y_VALUE		= Y position in data coordinates of cursor.
 Keywords    :	
	CONTINUOUS	= If set, then a continuously updated display of the
			  cursor X and Y positions are written to the screen.
			  On systems which support widgets, the text is
			  displayed in a special widget.

			  In continuous operation pressing either the left or
			  middle mouse button will print out the current
			  position on a fresh line on the terminal screen.
			  Pressing the right mouse button quits the program.
			  The PRINT_SWITCH parameter controls whether or not
			  the last cursor position is printed or not.

			  When CONTINUOUS is set, the PRINT_SWITCH variable is
			  ignored--the position is always printed to the
			  screen.

	FONT		= Font to use when displaying the CRS widget.  Only
			  meaningful when the graphics device supports widgets,
			  and CONTINUOUS is set.  If not passed, then the first
			  available 20 point font is used.
 Calls       :	
	None.
 Common      :	
	None.
 Restrictions:	
	Use of the CONTINUOUS keyword may not be supported on some more
	primitive graphics terminals.
 Side effects:	
	Using the CONTINUOUS keyword on a device without a mouse or trackball
	may not allow the user to exit the program.
 Category    :	
	Utilities, User_interface.
 Prev. Hist. :	
	William Thompson	Applied Research Corporation
	September, 1987		8201 Corporate Drive
				Landover, MD  20785

	William Thompson, 13 May 1993, added CONTINUOUS and FONT keywords.
	William Thompson, 1 June 1993, changed to ignore PRINT_SWITCH when
		using in CONTINUOUS mode.
 Written     :	
	William Thompson, GSFC, September 1987.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
 Version     :	
	Version 1, 9 July 1993.

(See .//crs.pro)


KEYBOARD_CRS

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	KEYBOARD_CRS
 Purpose     :	
	Move the graphics cursor with the keyboard.
 Explanation :	
	This procedure uses the routine CURSOR to find the coordinates,
	expressed in data units, of a point selected with the cursor.  Rather
	than letting the mouse move the cursor, the cursor is moved from the
	keyboard, allowing the user to move in one direction without moving in
	the other direction.
 Use         :	
	KEYBOARD_CRS  [, X_VALUE  [, Y_VALUE  [, PRINT_SWITCH ]]]

	KEYBOARD_CRS		;Values printed to screen.
	KEYBOARD_CRS, X, Y	;Values stored in variables X and Y
	KEYBOARD_CRS, X, Y, 1	;Values stored in X,Y, and printed to screen.

 Inputs      :	
	None required.
 Opt. Inputs :	
	PRINT_SWITCH	- Switch used to control printing the values of 
			  X_VALUE, Y_VALUE to the screen.  If not passed,
			  then assumed 0 (no printing) unless no parameters
			  are passed, in which case 1 (printing) is assumed.
 Outputs     :	

 Opt. Outputs:	
	X_VALUE		- X position in data coordinates of cursor.
	Y_VALUE		- Y position in data coordinates of cursor.
 Keywords    :	
	None.
 Calls       :	
	None.
 Common      :	
	None.
 Restrictions:	
	None.
 Side effects:	
	None.
 Category    :	
	Utilities, User_interface.
 Prev. Hist. :	
	William Thompson	Applied Research Corporation
	September, 1987		8201 Corporate Drive
				Landover, MD  20785
 Written     :	
	William Thompson, GSFC, September 1987.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
		Added call to CONVERT_COORD so as to be compatible with
			logarithmic plots.
 Version     :	
	Version 1, 9 July 1993.

(See .//keyboard_crs.pro)


READ_DEFAULT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	READ_DEFAULT
 Purpose     :	
	Prompts for a variable with a default value.
 Explanation :	
	Reads in a variable from the terminal.  If nothing is typed in, then
	the default is used. 
 Use         :	
	READ_DEFAULT, PROMPT, ANSWER, DEFAULT
 Inputs      :	
	PROMPT	= Prompt to READ_DEFAULT for input.
	DEFAULT	= Default answer if nothing typed in.
 Opt. Inputs :	

 Outputs     :	
	ANSWER	= Answer, either typed in or default.	
 Opt. Outputs:	
	None.
 Keywords    :	
	None.
 Calls       :	
	TRIM
 Common      :	
	None.
 Restrictions:	
	None.
 Side effects:	
	None.
 Category    :	
	Utilities, User_interface.
 Prev. Hist. :	
	W.T.T., Oct. 1989.
 Written     :	
	William Thompson, GSFC, October 1989.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
 Version     :	
	Version 1, 9 July 1993.

(See .//read_default.pro)


READ_KEY

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	READ_KEY

 Purpose     :	
	Returns ASCII equivalent of keystroke.

 Explanation :	
	Reads a keystroke and return its ASCII equivalent, unless an
	ESCAPE sequence was produced.  In that case, if the sequence is
	recognized, a code is returned.

 Use         :	
	key = READ_KEY(Wait)

 Inputs      :	
	Wait  -  The wait flag.  If non-zero, execution is halted until a
	         key is struck.  If zero, execution returns immediately and
	         a zero is returned if there was no keystroke waiting in the
	         keyboard buffer.  If not specified, zero is assumed.

 Opt. Inputs :	None.

 Outputs     :	
	Returned - The key struck.  The ASCII code for non-escape sequences.
	           Escape sequence equivalents:
			Up Arrow     --  128
			Down Arrow   --  130
			Left Arrow   --  129
			Right Arrow  --  131
			Else         --    0

	The return value is a byte value.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Utilities, user_interface.

 Prev. Hist. :	
	Written by Michael R. Greason, STX, 22 June 1990.
	Rewritten for a SUN workstation.  MRG, STX, 23 August 1990.

 Written     :	Michael R. Greason, STX, 22 June 1990.

 Modified    :	Version 1, William Thompson, GSFC, 30 March 1995
			Incorporated into CDS library

 Version     :	Version 1, 30 March 1995

(See .//read_key.pro)


RESPOND_WIDG

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	RESPOND_WIDG

 Purpose     :	Widget to prompt user for (e.g.) a "YES" or "NO" response.

 Explanation :	
	Creates a widget to prompt user for a "YES" or "NO" response as a
	default.  But you may pass your own button names with the BUTTONS
	keyword.

 Use         :	
   var = respond_widg, [message=message, buttons=buttons, /column,
			/row, group_leader=group]

 Inputs      :	
	MESSAGE : 	String or string vector with message to be 
		    	displayed in widget
			The default message is 'Respond YES or NO '	
	BUTTONS :	String vector where each element will be a button
			You may have as many elements as will fit.
	TITLE   :	string to appear as widget's banner
	COLUMN  :	if set then the buttons will be verically placed
	ROW	:	if set then the buttons will be horizontally placed
				(/ROW is the default and it overrides /COLUMN)
	GROUP_LEADER : 	Causes the widgets destruction if parent is killed

 Opt. Inputs :	None.

 Outputs     :	
	Returns a -1 if program fails else it returns the index number of 
	the button that was selected, as determined by the array BUTTONS.
       Indexes start at 0.  
	If you passed this array then you already know your values.
	If you use the default BUTTONS array then 
		   0 if "YES" was selected
	           1 if "NO" was selected

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	Must have X windows device.

 Side effects:	None.

 Category    :	Utilities, User_interaction

 Prev. Hist. :	
	FEB 1993 - Elaine Einfalt (HSTX)

 Written     :	Elaine Einfalt, GSFC (HSTX), February 1993

 Modified    :	Version 1, Elaine Einfalt, GSFC (HSTX), February 1993

 Version     :	Version 1, February 1993

(See .//respond_widg.pro)


SCREEN_SELECT

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCREEN_SELECT
 Purpose     :	Interactively select from list, using widgets, X, or terminal

 Explanation :	
	Routine to allow a user to make an interactive screen selection
	from a list (array) of strings.  This procedure determines whether
	to use dumb terminal version, the non- widget x-windows version or 
	the widget version by examining the !D.NAME system variable.

	The actual processing is farmed out to different procedures depending
	on the terminal type.    

	Widget Terminal   ==>  SELECT_W.PRO
	Vanilla X windows ==>  SELECT_X.PRO 
	VT100 Terminal  ==>    SELECT_O.PRO

 Use         :	
	screen_select, selections, iselected, comments, command_line, only_one

 Inputs      :	
	selections - string array giving list of items that can be
		selected.

 Opt. Inputs :	
	comments - comments which can be requested for each item in
		array selections.  It can be:
			string array - same length as array selections.
			null string - no comments available
			scalar string - name of a procedure which will
				return comments.  It will take selections
				as its first argument and return comments
				as its second argument.
	command_line - optional command line to be placed at the bottom
		of the screen.  It is usually used to specify what the
		user is selecting.
	only_one - integer flag. If set to 1 then the user can only select
		one item.  The routine returns immediately after the first
		selection is made.

 Outputs     :	
	iselected - list of indices in selections giving the selected
		items.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	SELECT_O, SELECT_W, SELECT_X

 Common      :	None.

 Restrictions:	None.

 Side effects:	
	!err is set to the number of selections made

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by M. Greason, STX, May 1990.
       Added widget support    W. Landsman           January, 1992

 Written     :	M. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//screen_select.pro)


SCR_ATTRIB

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_ATTRIB
 Purpose     :	
	To set the screen attribute to those given, in the given order.
 Explanation :	
	To set the screen attribute to those given, in the given order.

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_attrib [, a1, a2, a3, a4, a5]

 Inputs      :	
	a1 - a5  --  The attribute codes.  The attributes are set in the
	             command string in the given order.  Thus, if a1 turns
	             the attributes off and a2 sets reverse video, the final
	             attribute will reset and then set to reverse video.  If
	             the order were reversed, then the current attribute 
	             would have reverse video added to it, and then would be
	             reset, leaving the terminal with all attributes off.  Up
	             to five attribute codes may be specified.  The codes are:
	                  0 : all attributes off  (default)
	                  1 : bold on
	                  2 : underscore on
	                  3 : blink on
	                  4 : reverse video on

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//scr_attrib.pro)


SCR_CHARSET

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_CHARSET
 Purpose     :	
	To change the character sets.
 Explanation :	
	To change the character sets.

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_charset [, g, cset]

 Inputs      :	
	g     --  The terminal character set to change (either 0, for the
	          G0 designator, or 1, for the G1 designator).  0 = default.
	cset  --  The character set to use:
	               0 : United Kingdom.
	               1 : United States (USASCII)  --  default.
	               2 : Special graphics characters and line drawing set.
	               3 : Alternate character ROM.
	               4 : Alternate character ROM special graphics chars.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//scr_charset.pro)


SCR_CURMOV

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_CURMOV
 Purpose     :	
	Moves the cursor relative to its original position.
 Explanation :	
	To move the cursor around the screen relative to its original position.

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_curmov [, cmd, n]

 Inputs      :	
	cmd  --  An integer indicating the direction in which to move the curs.
	              0 : Up
	              1 : Down  (Default)
	              2 : Left
	              3 : Right
	n    --  The number of spaces to move the cursor.  If not specified
	         (or if less than or equal to zero), this is set to one.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library.

 Version     :	Version 1, 29 March 1994

(See .//scr_curmov.pro)


SCR_CURPOS

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_CURPOS
 Purpose     :	
	Positions the cursor at the specified screen location.
 Explanation :	
	To position the cursor at the specified screen location.  Unspecified
	coordinates are set to one.  Please note that the ESCAPE sequence
	expects the coordinates to be counted from (1,1).

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_curpos [, lin, col]

 Inputs      :	
	lin  --  The screen line coordinate.
	col  --  The screen column coordinate.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//scr_curpos.pro)


SCR_ERASE

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_ERASE
 Purpose     :	
	To erase portions of the terminal screen.
 Explanation :	
	To erase portions of the terminal screen.

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_erase [, cmd]

 Inputs      :	None.

 Opt. Inputs :	
	cmd  --  An integer telling the procedure what part of the screen to
	         erase.  If not specified, it is set to 5.  Key:
	                 0 : From cursor to end-of-line.
	                 1 : From beginning-of-line to cursor.
	                 2 : Entire line containing cursor.
	                 3 : From cursor to end-of-screen.
	                 4 : from beginning-of-screen to cursor.
	              ELSE : Entire screen.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//scr_erase.pro)


SCR_OTHER

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_OTHER
 Purpose     :	
	To allow the user to issue any ESCAPE sequence.
 Explanation :	
	To allow the user to issue any ESCAPE sequence.

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_other, str

 Inputs      :	
	str  --  A string containing the escape sequence.  The initial ESCAPE
	         should not be included; this will be added by this procedure.
	         This parameter is NOT optional; if not available, the 
	         procedure will return without doing anything.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//scr_other.pro)


SCR_RESET

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_RESET
 Purpose     :	
	To reset the terminal.
 Explanation :	
	To reset the terminal.

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_reset

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//scr_reset.pro)


SCR_SCROLL

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SCR_SCROLL
 Purpose     :	
	Defines the scrolling area on the screen.
 Explanation :	
	To define the scrolling area on the screen.  Please note that the
	line coordinates should be counted from 1.

	A string containing the appropriate DEC terminal command is put 
	together and printed.  NOTE:  In general, the DEC commands correspond
	to the ANSI escape sequences.

 Use         :	
	scr_scroll [, top, bot]
 Inputs      :	
	top  --  The line to be the top of the scrolling area.
	         The default value is 1 and the maximum value is 23.
	bot  --  The line to be the bottom of the scrolling area.
	         The default value is 24 and the minimum value is 2.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	This procedure will only work with DEC compatible equipment (or
	terminal emulators).

 Side effects:	
	NOTE:  The screen coordinate system is NOT effected.  (1,1) is not
	       the top of the scrolling area but the top of the screen.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written by Michael R. Greason, STX, May 1990.

 Written     :	Michael R. Greason, GSFC/UIT (STX), May 1990

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//scr_scroll.pro)


SELECT_BOX

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	SELECT_BOX
 Purpose     : 
	Interactive selection of a box on the graphics display.
 Explanation : 
	If the graphics device is windows based, then BOX_CURSOR is used.
	Otherwise, the user is prompted to enter two corners of the box.

	Note that the parameter list for SELECT_BOX is in a different order
	than BOX_CURSOR.  However, it was decided to order the parameters this
	way to be compatible with the SERTS image display routines.

 Use         : 
	SELECT_BOX, MX, MY, IX, IY
 Inputs      : 
	None.
 Opt. Inputs : 
	None.
 Outputs     : 
	MX, MY	= Size of selected box, in device coordinates.
	IX, IY	= Coordinates of lower left-hand corner of selected box.
 Opt. Outputs: 
	None.
 Keywords    : 
	DATA	= If this keyword is set, then the values are in returned in
		  data coordinates instead of device coordinates.

	The following keywords are only relevant when used on a graphics device
	that supports windows:

	INIT	   = If this keyword is set, MX, MY, and IX, IY contain the
		     initial parameters for the box.

	FIXED_SIZE = If this keyword is set, MX and MY contain the initial size
		     of the box.  This size may not be changed by the user.

 Calls       : 
	BOX_CURSOR, BOX_CRS
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Utilities, User_interface.
 Prev. Hist. : 
	William Thompson, May 1992.
	William Thompson, Nov 1992, added DATA keyword.
 Written     : 
	William Thompson, GSFC, May 1992.
 Modified    : 
	Version 1, William Thompson, GSFC, 30 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 25 June 1993.
		Changed to call BOX_CRS for MSWindows, BOX_CURSOR otherwise.
		Added INIT and FIXED_SIZE keywords.
 Version     : 
	Version 2, 25 June 1993.

(See .//select_box.pro)


SELECT_O

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SELECT_O
 Purpose     :	
	Allows interactive (text) screen selection from a list.
 Explanation :	
	Routine to allow a user to make an interactive screen selection
	from a list (array) of strings.  This assumes a non-x-windows device.

 Use         :	
	select_o, selections, iselected, comments, command_line, only_one

 Inputs      :	
	selections - string array giving list of items that can be
		selected.

 Opt. Inputs :	
	comments - comments which can be requested for each item in
		array selections.  It can be:
			string array - same length as array selections.
			null string - no comments available
			scalar string - name of a procedure which will
				return comments.  It will take selections
				as its first argument and return comments
				as its second argument.
	command_line - optional command line to be placed at the bottom
		of the screen.  It is usually used to specify what the
		user is selecting.
	only_one - integer flag. If set to 1 then the user can only select
		one item.  The routine returns immediately after the first
		selection is made.

 Outputs     :	
	iselected - list of indices in selections giving the selected
		items.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	READ_KEY, SCR_ATTRIB, SCR_CURPOS, SCR_ERASE, SCR_OTHER

 Common      :	None.

 Restrictions:	None.

 Side effects:	
	!err is set to the number of selections made

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	version 1, D. Lindler  April 88.
	modified to IDL V2 (from screen_select).  M. Greason, May 1990.
	changed name from screen_select_o         W. Landsman January 1993

 Written     :	D. Lindler, GSFC/HRS, April 1988

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//select_o.pro)


SELECT_W

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SELECT_W    
 Purpose     :	
	Creates a non-exclusive menu in widget form.
 Explanation :	
	This procedure creates a non-exclusive menu of items
	in widget form. More than one item may be selected or  
	'de-selected'.   Normally called by SCREEN_SELECT

 Use         :	
	SELECT_W, items ,iselected, [ comments, command_line, only_one ]

 Inputs      :	
	items - string array giving list of items that can be
		selected.

 Opt. Inputs :	
	comments - comments which can be requested for each item in
		array selections.    NOT YET IMPLEMENTED
	command_line - optional command line to be placed at the bottom
		of the screen.  It is usually used to specify what the
		user is selecting.
	only_one - integer flag. If set to 1 then the user can only select
		one item.  The routine returns immediately after the first
		selection is made.

 Outputs     :	
	iselected - list of indices in selections giving the selected
		items.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	
	SELECT_W - Used to communicate with the SELECT_W_EVENT procedure 

 Restrictions:	None.

 Side effects:	None.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	Written, K. Venkatakrishna & W. Landsman, Hughes/STX    January, 1992
	Widgets made MODAL.  M. Greason, Hughes STX, 15 July 1992.

 Written     :	K. Venkatakrishna & W. Landsman, GSFC/UIT (Hughes/STX),
			January 1992

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//select_w.pro)


SELECT_X

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	SELECT_X
 Purpose     :	
	Allos interactive screen selection from X-windows device.
 Explanation :	
	Routine to allow a user to make an interactive screen selection
	from a list (array) of strings.  This assumes an x-windows device.

 Use         :	
	select_x, selections, iselected, comments, command_line, only_one

 Inputs      :	
	selections - string array giving list of items that can be
		selected.

 Opt. Inputs :	
	comments - comments which can be requested for each item in
		array selections.  It can be:
		string array - same length as array selections.
		null string - no comments available
		scalar string - name of a procedure which will
			return comments.  It will take selections
			as its first argument and return comments
			as its second argument.
	command_line - optional command line to be placed at the bottom
		of the screen.  It is usually used to specify what the
		user is selecting.
	only_one - integer flag. If set to 1 then the user can only select
		one item.  The routine returns immediately after the first
		selection is made.

 Outputs     :	
	iselected - list of indices in selections giving the selected
		items.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	READ_KEY

 Common      :	None.

 Restrictions:	
	The screen must be X-windows compatible.
	As of Mar 91, the comments option does not appear to be working

 Side effects:	
	!err is set to the number of selections made

	A window is opened and closed.

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	version 1, D. Lindler  April 88.
	modified to IDL V2 (from screen_select).  M. Greason, May 1990.
	Changed name from screen_select_x         W. Landsman  January 1993
	Removed RETAIN = 2, not needed 		  W. Landsman May 1993

 Written     :	D. Lindler, GSFC/HRS, April 1988

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994

(See .//select_x.pro)


TEXTCLOSE

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	TEXTCLOSE                   
 Purpose     :	
	Closes file specified by !TEXTOUT.  Used by ASTRON routines.
 Explanation :	
	Procedure to close file for text output as specifed
	by the (non-standard) system variable !TEXTOUT. 

 Use         :	
	textclose, [ TEXTOUT = ]

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	
	textout - Indicates output device that was used by
		TEXTOPEN

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	
	if !textout is not equal to 5 and the textunit is
	opened.   Then unit !textunit is closed and released

 Category    :	Utilities, User_interface

 Prev. Hist. :	
	D. Lindler  Dec. 1986  (Replaces PRTOPEN)
	Test if TEXTOUT is a scalar string   W. Landsman   August 1993

 Written     :	D. Lindler, GSFC/HRS, December 1986

 Modified    :	Version 1, William Thompson, GSFC, 30 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 30 March 1994

(See .//textclose.pro)


TEXTOPEN

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	
	TEXTOPEN
 Purpose     :	
	Opens file for text output.  Used by ASTRON library routines.
 Explanation :	
	Procedure to open file for text output.   The type of output 
	device (disk file or terminal screen) is specified by the 
	TEXTOUT keyword or the (nonstandard) system variable !TEXTOUT.

 Use         :	
	textopen, program, [ TEXTOUT = ]

 Inputs      :	
	program - scalar string giving name of program calling textopen

 Opt. Inputs :	None.

 Outputs     :	
	The following dev/file is opened for output.

		textout=0 	Nowhere
		textout=1	TERMINAL using /more option
		textout=2	TERMINAL without /more option
		textout=3	.prt
		textout=4	laser.tmp
		textout=5      user must open file
		textout = filename (default extension of .prt)

	The unit it is opened to is obtained with the procedure GET_LUN
	unless !TEXTOUT=5.  The unit number is placed in system variable 
	!TEXTUNIT.  For !TEXTOUT=5 the user must set !TEXTUNIT to the 
	appropriate unit number.

 Opt. Outputs:	None.

 Keywords    :	
	TEXTOUT - Integer scalar (0-6) specifying output file/device to be 
		opened (see below) or scalar string giving name of output file.
		If TEXTOUT is not supplied, then the (non-standard) system 
		variable !TEXTOUT is used.

 Calls       :	None.

 Common      :	None.

 Restrictions:	
	Uses the following non-standard system variables:

		DEFSYSV,'!TEXTOUT',1
		DEFSYSV,'!TEXTUNIT',0

 Side effects:	
	Note that TEXTOUT = 1 or TEXTOUT = 2 will open a unit to the terminal,
	SYS$OUTPUT (VMS) or /dev/tty (Unix).     However, this terminal 
	output will *not* appear in an IDL JOURNAL session, unlike text
	printed with the PRINT command.	

 Category    :	Utilities, User_interface.

 Prev. Hist. :	
	D. Lindler  Dec. 1986  
	Keyword textout added, J. Isensee, July, 1990
	Made transportable, D. Neill, April, 1991
	Trim input PROGRAM string W. Landsman  Feb 1993
	Don't modify TEXTOUT value   W. Landsman   Aug 1993

 Written     :	D. Lindler, GSFC/HRS, December 1986

 Modified    :	Version 1, William Thompson, GSFC, 30 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 30 March 1994

(See .//textopen.pro)


YES_NO

[Previous Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : YES_NO
               
 Purpose     : Prompts and checks for a user answer of either YES or NO
               
 Explanation : Prompts user for a yes/no answer and will not give up until
               it gets one.
               
 Use         : yes_no, query, answer [,default,check=check]
    
 Inputs      : query    - The question string
               
 Opt. Inputs : default  - The default answer.  If a  response is given,  
                          select the default answer.  If this is not present,
                          the default answer is "NO"

               
 Outputs     : answer - Returns a 0 for no, a 1 for yes
               
 Opt. Outputs: None
               
 Keywords    : check  -   Double check the answer given for super-secure
                          applications.

 Calls       : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, user
               
 Prev. Hist. : Based on Yohkoh routine by M Morrison

 Written     : CDS version by C D Pike, RAL, 12-May-93
               
 Modified    : 

 Version     : Version 1, 12-May-93

(See .//yes_no.pro)