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:45:13 2001.


List of Routines


Routine Descriptions

CDSPICKFILE

[Next Routine] [List of Routines]
 NAME:
	CDSPICKFILE

 PURPOSE:
	This function allows the user to interactively pick a file.  A file
	selection tool with a graphical user interface is created.  Files
 	can be selected from the current directory or other directories.

 CATEGORY:
	Widgets.

 CALLING SEQUENCE:
	Result = CDSPICKFILE()

 KEYWORD PARAMETERS:

	FILE:	A string value for setting the initial value of the
		selection. Useful if there is a default file

	GET_PATH: Set to a named variable. Returns the path at the
		time of selection.

	GROUP:	The widget ID of the widget that calls CDSPICKFILE.  When this
		ID is specified, a death of the caller results in the death of
		the CDSPICKFILE widget application.

	READ:	Set this keyword to make the title of the CDSPICKFILE window 
		"Select File to Read".

	WRITE:	Set this keyword to make the title of the CDSPICKFILE window 
		"Select File to Write".

	PATH:	The initial path to select files from.  If this keyword is 
		not set, the current directory is used.

	FILTER:	A string value for filtering the files in the file list.  This
		keyword is used to reduce the number of files to choose from.
		The user can modify the filter unless the FIX_FILTER keyword
		is set.  Example filter values might be "*.pro" or "*.dat".

	FIX_FILTER: When this keyword is set, only files that satisfy the
		filter can be selected.  The user has no ability to modify
		the filter and the filter is not shown.

	TITLE:	A scalar string to be used for the window title.  If it is
		not specified, the default title is "Select File"

	NOCONFIRM: Return immediately upon selection of a file.  The default
		behavior is to display the selection and then return the
		file when the user uses the "ok" button.

	MUST_EXIST: When set, only files that actually exist can be selected.

 OUTPUTS:
	CDSPICKFILE returns a string that contains the name of the file selected.
	If no file is selected, CDSPICKFILE returns a null string.

 COMMON BLOCKS:
	CDSPICKER:	COMMON block that maintains state for the widget.

 SIDE EFFECTS:
	This function initiates the XMANAGER if it is not already running.

 RESTRICTIONS:
	This routine is known to work on Suns (OPEN LOOK), MIPS, RS/6000, 
	DEC Ultrix, HP/700, VAX/VMS and SGI machines.

	Only one instance of the CDSPICKFILE widget can be running at one time.

	CDSPICKFILE does not recognize symbolic links to other files in UNIX.

 PROCEDURE:
	Create and register the widget and then exit, returning the filename
	that was picked.

 EXAMPLE:
	Create a CDSPICKFILE widget that lets users select only files with 
	the extensions 'pro' and 'dat'.  Use the 'Select File to Read' title 
	and store the name of the selected file in the variable F.  Enter:

		F = CDSPICKFILE(/READ, FILTER = '*.pro *.dat')

 MODIFICATION HISTORY:
 	Written by:	Steve Richards,	April, 1991
	July, 1991	Added a FILTER keyword to allow users
			to select files with a given extension or 
			extensions.
	August, 1991	Fixed bugs caused by differences between
			spawned ls commands on different machines.
	September, 1991	Made Myfindfile so only one pass was
			necessary to find files and directories.
	3/92 - ACY	Corrected initialization of dirsave, change spawn
			command to "ls -lL" and added case for links
			add NOCONFIRM keyword for auto exiting on selection
	8/92 - SMR	Rewrote cdspickfile as a compound widget.
	10/92 - SMR	Fixed a bug where extremely large file namess didn't
			show up properly in the file list or as return
			values.
	12/92 - JWG	Add better machine dependency code
	1/93 - JWG	Added FILE, GET_PATH keywords.
	1/93 - TAC	Added Windows Common dialog cdspickfile code
	2/93 - SMR	Fixed the documentation example for multiple extensions

(See .//cdspickfile.pro)


FLASH_MSG

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

 Name        : FLASH_MSG

 Purpose     : Flashes an information message in a text widget.

 Explanation : Write a text message to the specified widget, and alternates
               it with setting it blank in order to simulate a flashing
               message.

 Use         : IDL> flash_msg, widget_id, text [, other_keywords]

 Inputs      : widget_id  - the id of the text widget
               text       - the message to be flashed

 Opt. Inputs : None.

 Outputs     : None.

 Opt. Outputs: None.

 Keywords    : NUM    -- Number of flashing times; default is 4 times.
               NOBEEP -- Set this keyword to suppress the beep
               RATE   -- Flashing rate in seconds; default: 0.25 sec.
               APPEND -- Appends to widget text rather than overwriting

 Calls       : BELL

 Restrictions: Widget must be already set up.

 Side effects: Can be annoying if called frequently with beeping!

 Category    : Utilities, Help

 Prev. Hist. : None

 Written     : C D Pike, RAL, 2-Jul-1993

 Modified    : Liyun Wang, GSFC/ARC, August 25, 1994
                  Added optional keyword NUM to control number of flashing
                  times and NOBEEP to suppress the beep.

               Add append keyword,  CDP, 14-Oct-94
               Fix working of /append mode, CDP, 19-Oct-94
               Limit rewrite of old text in /append mode to 20 lines.
                                            CDP, 9-Jan-95

 Version     : Version 5, 9-Jan-95

(See .//flash_msg.pro)


GET_CDS_POINT

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

 NAME:
       GET_CDS_POINT

 PURPOSE: 
       Create a structure from the given CDS plan to be used in IMAGE_TOOL

 EXPLANATION:
       In order for IMAGE_TOOL to handle the pointing(s) of a study,
       the following information must be provided to IMAGE_TOOL:
       Number of pointings needs to be done; for each pointing, width
       and height of the pointing area (e.g., a raster). If there are
       several rasters in the same pointing, the relation of the
       rest of raster with respect to the first one (in CDS case,
       determined by the POINTING value in study definition) has to
       be given (can be, in CDS case, 0: fixed alreay, 1: same as the
       first raster, or -1: offset from the first one). This routine
       is to extract such information and put it into a structure to
       be passed into IMAGE_TOOL.

 CALLING SEQUENCE: 
       result = get_cds_point(cds_detail)

 INPUTS:
       CDS_DETAIL - CDS plan structure containing the detailed science plan
                    record. It contains the following tags:

         STRUCT_TYPE - The character string 'CDS-DETAIL'
         PROG_ID     - Program ID, linking one or more studies together
         STUDY_ID    - Number defining the study
         STUDYVAR    - Number giving the study variation ID
         SCI_OBJ     - Science objective from the daily science meeting
         SCI_SPEC    - Specific science objective from meeting
         CMP_NO      - Campaign number
         OBJECT      - Code for object planned to be observed
         OBJ_ID      - Object identification
         DATE_OBS    - Date/time of beginning of observation, in TAI format
         DATE_END    - Date/time of end of observation, in TAI format
         N_RASTERS1  - Variable number of rasters parameter
         TIME_TAGGED - True (1) if the start of the study is to be a 
                       time-tagged event.  Otherwise, the study will begin 
                       immediately after the previous study.
         TRACKING    - True (1) if feature tracking to be used, or false (0) 
                       otherwise
         N_POINTINGS - Number of pointings to apply to the study.
         N_REPEAT_S  - Number of times to repeat study.
         POINTINGS   - An array (with N_POINTINGS elements) of pointings
                       to use with the study. POINTINGS is itself a
                       structure of type PLAN_PNT_STRUC with the
                       following tags: 

                       INS_X  - Pointing in X relative to sun center
                       INS_Y  - Pointing in Y relative to sun center

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       RESULT - A pointing structure that can be used by IMAGE_TOOL. 
                It has the following tags:

          INSTRUME   - Code specifying the instrument; e.g., 'C' for CDS
          G_LABEL    - Generic label for the pointing; e.g., 'RASTER'
          X_LABEL    - Label for X coordinate of pointing; e.g., 'INS_X'
          Y_LABEL    - Label for Y coordinate of pointing; e.g., 'INS_Y'
          DATE_OBS   - Date/time of beginning of observation, in TAI format   
          DO_POINTING- An integer of value 0 or 1 indicating whether pointing
                       should be handled at the planning level (i.e., by
                       IMAGE_TOOL)
          N_POINTINGS- Number of pointings to be performed by IMAGE_TOOL
          POINTINGS  - A structure array (with N_POINTINGS elements) of type
                       "DETAIL_POINT" to be handled by IMAGE_TOOL. It has 
                       the following tags: 

                       POINT_ID - A string scalar for pointing ID
                       INS_X    - X coordinate of pointing area center in arcs
                       INS_Y    - Y coordinate of pointing area center in arcs
                       WIDTH    - Area width (E/W extent)  in arcsec
                       HEIGHT   - Area height (N/S extent) in arcsec
                       OFF_LIMB - An interger with value 1 or 0 indicating 
                                  whether or not the pointing area should
                                  be off limb 

          N_RASTERS  - Number of rasters for each pointing (this is
                       irrelevant to the SUMER)
          RASTERS    - A structure array (N_RASTERS-element) of type
                       "RASTER_POINT" that contains raster size and pointing
                       information (this is irrelevant to the SUMER). It has
                       the following tags: 

                       POINTING - Pointing handling code; valis
                                  values are: 1, 0, and -1
                       INS_X    - Together with INS_Y, the pointing to use
                                  when user-supplied values are not
                                  allowed.  Only valid when POINTING=0
                                  (absolute) or POINTING=-1 (relative to
                                  1st raster).
                       INS_Y    - ...
                       WIDTH    - Width (E/W extent) of the raster, in arcs
                       HEIGHT   - Height (N/S extent) of the raster, in arcs

      Note: For CDS case, pointings.width, pointings.height,
            pointings.x_coord, and pointings.y_coord should match the first
            raster's rasters.width, rasters.height, rasters.ins_x, and
            rasters.ins_y, respectively.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS: 
       None.

 CALLS:
       DATATYPE, GET_CDS_STUDY, GET_CDS_RASTER, MK_POINT_STC, RASTER_SIZE

 COMMON BLOCKS:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 CATEGORY:
       
 PREVIOUS HISTORY:
       Written March 24, 1995, Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
       Version 1, created, Liyun Wang, GSFC/ARC, March 24, 1995

 VERSION:
       Version 1, March 24, 1995

(See .//get_cds_point.pro)


GET_DFONT

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

 Name        : 
	GET_DFONT()
 Purpose     : 
       return a widget font whose size is compatible with current device
 Explanation : 
	Useful for selecting fonts to fit into  widgets
 Use         : 
	Result = GET_DFONT(UFONT)
 Inputs      : 
       UFONT = user's optional input fonts (string array)
 Opt. Inputs : 
	None.
 Outputs     :
            DFONT = returned fonts (string array)
 Opt. Outputs: 
	None.
 Keywords    : 
       None.
 Calls       : 
	DEVICE
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Online_help.
 Prev. Hist. : 
       Written Elaine Einfalt (HSTX) May 1992.
 Modified    : 
       Version 1, Dominic Zarro, GSFC, 1 August 1994.
               Corrected some bugs
 Version     : 
	Version 1, 1 August 1994.

(See .//get_dfont.pro)


GET_SCREEN

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

 Name        :	GET_SCREEN

 Purpose     : 
	return screen scaling parameters for controlling widget
       sizing
 Explanation :

 Use         : GET_SCREEN, space,xpad,ypad,scx,scy

 Inputs      : None.

 Opt. Inputs : None.

 Outputs     : 
       space = pixel spacing between children bases
       xpad,ypad = horizontal and vertical pixel spacing being children 
                   bases and edges of parent base.
       scx,scy = pixel scale factors to rescale screen size in 
                 X- and Y-directions
 Opt. Outputs: None.

 Keywords    : None.

 Procedure   :
       The returned values were derived empirically by
       experimenting with sizing widgets on a 1280 x 1024 pixel screen.
       They can be used as keywords in WIDGET_CONTROL  to produce
       "nice fitting" widgets. IDL can (and will likely) ignore them.
   
 Calls       : None.

 Common      : None.

 Restrictions: None.

 Side effects: None.

 Category    :

 Prev. Hist. : None.

 Written     :	DMZ (ARC) Oct 1993

 Modified    :

 Version     :

(See .//get_screen.pro)


POPUP_MSG

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

 NAME:
       POPUP_MSG

 PURPOSE:
       Display a message from a popup text widget.

 Explanation:
     This routine creates a message window that informs the user with a
     message and requires the user to read the message and to dismiss the
     window before control will return to the calling procedure.

 Calling sequence:
     popup_msg, message [, title=title, group=group, font=font,$
                           multiple=multiple]

  calls to  :  xregistered('pop_msg'), xmanager,'popup_msg'

  common    :  none

 INPUT
     message:  string or string vector containing a message
		that will be displayed on the screen for the 
		user to read.
		(multi-line messages are aesthetically better)

 Optional inputs:
     title:    Optional title of the message window
     group:    ID number of the widget which acts as a group leader
     modal:    Make the calling widget inactive if set
    
 OUTPUT
     none

 MODIFICATION HISTORY
	JAN 1993        -- Elaine Einfalt (HSTX)
       August 19, 1994 -- Liyun Wang (ARC)
       August 31, 1994 -- Liyun Wang (ARC), added GROUP keyword
       Feb 16 1995     -- C D Pike, RAL.  Added FONT and MULTIPLE keywords.
       Feb 20 1995     -- Added crude left justify option.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(See .//popup_msg.pro)


TLB_PLACE

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : TLB_PLACE()
               
 Purpose     : Find the "optimal" coordinates of a new top level base
               
 Explanation : Given the (approximate) size of a new widget, and either
		a widget EVENT or a SERTS window descriptor, the "best"
		upper-left position of a new widget base is returned.

		The position is either above, right, below or to the 
		left of the calling DRAW-window, the SERTS display window,
		or the window's top level base. To force the position
		outside the top level base, use /OUTSIDE. To align the
		new window with the position of the cursor (only for
		DRAW EVENTS) use /CURSOR.
               
 Use         : POS = TLB_PLACE(XSIZE,YSIZE,EVENT=EVENT)
		or
		POS = TLB_PLACE(XSIZE,YSIZE,SERTSW=SERTSW)
    
 Inputs      : XSIZE,
		YSIZE = The (approximate) size of the new widget

 Opt. Inputs : 
               
 Outputs     : 
               
 Opt. Outputs: 
               
 Keywords    : EVENT : For a WIDGET_DRAW event, the new position
			will be outside the DRAW window, /OUTSIDE is
			not set. If the EVENT.X/Y point is inside
			a SERTS display, the display CLIP coordinates 
			are taken as the area that shouldn't be marked.
			For any other event type, the new position 
			will be outside the EVENT.ID's top level base.

	       	PWINDOW: Specifies the plot window region to keep
			outside of.

		SERTSW : Specify the SERTS window that the new base
			should be placed outside of.

		CURSOR : Set to align the new window position with the
			cursor.

		OUTSIDE : Set to always place the new window outside the
			top level base area.

		PRIORITY: Specify the most-wanted positions in an
			array of integers, 0 means above, 1=right
			2=below, 3=left. That is, PRIORITY=[2,3] means
			"try to fit this in below, or if that's not
			possible, on the left".

 Calls       : CDSNOTIFY,FIND_SERTSW(),SETWINDOW,SET_SERTSW,TLB_PLACE()
		TRIM()

 Common      : None.
               
 Restrictions: Needs a valid EVENT or SERTS window.
               
 Side effects: None known.
               
 Category    : CDS, QL, DISPLAY, UTILITY
               
 Prev. Hist. : Extracted from the QLZOOM/QLPROFILE routines.

 Written     : Stein Vidar Hagfors Haugan, 16 Dec. 1993
               
 Modified    : 

 Version     : 1.0

(See .//tlb_place.pro)


WIDG_HELP

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

 Name        :	WIDG_HELP

 Purpose     :	Widget to select help topics.

 Explanation :	Create a widget that lists and displays the help topic from
		which the user may select.

 Use         :	WIDG_HELP, FILENAME

 Inputs      :	FILENAME = The name of a file that contains the help
			   information to display.  This program searches for a
			   file with this name first in the current directory,
			   and then in !PATH, and searches for the name by
			   itself, and with '.hlp' appended after it.

			   The file consists of a series of topic headers
			   followed by a text message about that topic.  The
			   topic headers are differentiated by starting with
			   the "!" character in the first column, e.g.

				!Overview
				This is the overview for the
				topic at hand.

				!Button1
				This is the help explanation
				for button 1

				etc.

			   The program assumes that the first line in the file
			   contains the first topic.  Also, there must be at
			   least one line between any two topics.  Thus,

				!Button2
				!Button3

			   is not allowed, but

				!Button2
				
				!Button3

			   is allowed.  The last topic in the file must have at
			   least one non-topic line after it.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	GROUP_LEADER = The widget ID of a calling widget. Destroying
			       that widget will kill this widget.

		TITLE	     = The text to be displayed on the widget title
			       bar.  If not passed, then "Widget Help" is used.
               FONT         = Font name for the help text widget. If
                              not passed, the text font is determined
                              by GET_DFONT
               SEP_CHAR     = Character used to differentiate topic
                              headers. The default SEP_CHAR is '!'

 Calls       :	FIND_WITH_DEF, DATATYPE, GET_DFONT

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Utilities, Widget

 Prev. Hist. :	Based on PLANHELP by Elaine Einfalt, GSFC (HSTX), April 1994

 Written     :	William Thompson, GSFC, 2 September 1994

 Modified    :	Version 1, William Thompson, GSFC, 2 September 1994
                          P. Brekke, GSFC, 21 September 1994
                                     Text widget width = 60  (was 50)
               Version 2, Liyun Wang, GSFC/ARC, April 3, 1995
                          Added keywords FONT and SEP_CHAR
                          Allowed commentary lines (starting with a ';'
                             in the first column) in help text file

 Version     :	Version 2, April 3, 1995

(See .//widg_help.pro)


XACK

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

 Name        : XACK

 Purpose     : Make user acknowledge an action

 Use         : xack

 Inputs      : 

 Opt. Inputs : ARRAY = message to user

 Outputs     : None.

 Keywords    : 
               GROUP = widget ID of calling widget.
               MODAL = set to make calling widget insensitive.
               SPACE = lines of border space surrounding message text.
               XOFF,YOFF = pixel (X,Y) offsets relative to calling widget.
 Explanation :

 Calls       : None.

 Common      : None.

 Restrictions: None.

 Side effects: None.

 Category    : Help

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 12 October 1994

 Version     : 1

(See .//xack.pro)


XALIVE

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	XALIVE

 Purpose     :	To check if an X widget is alive

 Explanation :	So obvious, that explaining it will take more
               lines than the code.

 Use         :	ALIVE=XALIVE(ID)
              
 Inputs      :	ID = widget id to check

 Opt. Inputs : None.

 Outputs     :	1/0 if alive/dead

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Useful stuff

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 18 September 1993

(See .//xalive.pro)


XANSWER()

[Previous Routine] [Next Routine] [List of Routines]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:	
       XANSWER()

 PURPOSE:
       Popup widget to get a Yes/No answer for a given question

 EXPLANATION:
       
 CALLING SEQUENCE: 
       Result = xanswer(question [,/str])

 INPUTS:
       QUESTION - A string scalar or vector for the question presented to the
                  user 

 OPTIONAL INPUTS: 
       FLASH - Make the question flash for number of FLASH times
       RATE  - Flashing rate in seconds; default: 0.25 sec.

 OUTPUTS:
       RESULT - A numerical value of 1 or 0, or a string scalar with a value
                'Y' or 'N' if the keyword STR is set 

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS:
       STR   - Set this keyword to make string type return
       BEEP  - Make a beep if set

 CALLS:
       DATATYPE, BELL

 COMMON BLOCKS:
       XANSWER - Internal common block used the program

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       All events are trapped and all other widgets are desensitized until an
       option is chosen. (The keyword MODAL is used with xmanager)

 CATEGORY:
       
 PREVIOUS HISTORY:
       Written March 8, 1995, Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
       Version 1, created, Liyun Wang, GSFC/ARC, March 8, 1995

 VERSION:
       Version 1, March 8, 1995

(See .//xanswer.pro)


XHIDE

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	XHIDE

 Purpose     :	To hide (map) an X widget

 Explanation :	So obvious, that explaining it will take more
               lines than the code.

 Use         :	XHIDE,ID
              
 Inputs      :	ID = widget id to hide

 Opt. Inputs : None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Useful stuff

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 18 September 1993

(See .//xhide.pro)


XINPUT

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

 Name        : XINPUT

 Purpose:    : allow user to enter text

 Use         : xinput,text

 Inputs      : None.

 Opt. Inputs : INSTRUCT = instructions for user

 Outputs     : TEXT = string response text entered by user

 Opt. Outputs: None.

 Keywords    : 
              GROUP = group leader of caller
              MODAL = modal (make caller insensitive)
              XOFF,YOFF = device (x,y) offsets of XINPUT base relative to caller
 Explanation :

 Calls       : None.

 Common      : None.

 Restrictions: None.

 Side effects: None.

 Category    : Help

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 23 October 1994

(See .//xinput.pro)


XKILL

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	XKILL

 Purpose     :	To kill a bunch of X widgets

 Explanation :	

 Use         :	XKILL,ID1,ID2,..............ID10
              
 Inputs      :	IDn = widget id to kill

 Opt. Inputs : None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	ALL = if set, then destroy all active widgets

 Calls       :	None.

 Common      :	None.

 Restrictions:	Up to 10 specific widgets can be killed

 Side effects:	None.

 Category    :	Useful stuff

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 18 September 1993

(See .//xkill.pro)


XLIST

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

 Name        : XLIST

 Purpose     : lists structure tags in a list widget.

 Use         : XLIST,STRUCT.

 Inputs      : STRUCT

 Opt. Inputs : None.

 Outputs     : INDEX = selected index of structure array

 Keywords    : 
               wbase  = widget id of parent widget (input/output)
               wlist  = widget id of list widget into which to write (input/output)
               font   = list widget font (def = 'fixed')
               title  = title of parent base
 Explanation :

 Calls       : None.

 Common      : None.

 Restrictions: None.

 Side effects: None.

 Category    : Help

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 12 October 1994

 Version     : 1

(See .//xlist.pro)


XMATRIX

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

 Pro Name    :	XMATRIX

 Purpose     : Widget display of fields within an arbitrary structure

 Use         : xmatrix,struct,wbase

 Inputs      :
               STRUCT = input structure
               WBASE = parent widget base into which place matrix

 Opt. Inputs : None.

 Outputs     : None.

 Opt. Outputs: None.

 Keywords    :
               NX = # of columns by which to arrange widgets (def=2)
               WTAGS = text widget id's for each tag
               TITLE = optional widget title
               EDITABLE = make fields editable
 Procedure   :
               Arranges structures in a matrix format with the tag
               name in label widget and the tag value in a text widget.
               If wbase and wtags exist, then widget is just updated
               with input field values. This procedure is called by XSTRUCT

 Calls       : None.

 Common      : None.

 Restrictions:
              Input must be a structure.
              WBASE must be a valid parent base

 Side effects: None.

 Category    : Widgets

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 20 August 1994

 Modified    :
       Version 2, Liyun Wang, GSFC/ARC, October 12, 1994
          Made the WIDGET_LABEL right justified by using the 'fixed' font
       Version 3, Zarro, (GSFC/ARC) 8 March, 1994
          Added nested structure display

 VERSION:
       Version 3

(See .//xmatrix.pro)


XOPT

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

 Name        : XOPT

 Purpose     : present user with menu of options

 Use         : xopt,options

 Inputs      : options = array of options (e.g. ['YES', 'NO'])

 Opt. Inputs : None.

 Outputs     : value = 1 if option selected, 0 otherwise

 Opt. Outputs: None.

 Keywords    : 
              instruct = instructions (string)
              def = def option value
              font = widget font
 Explanation :

 Calls       : None.

 Common      : None.

 Restrictions: None.

 Side effects: None.

 Category    : Help

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 12 October 1994

 Version     : 1

(See .//xopt.pro)


XSELECT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : XSELECT
               
 Purpose     : Force the user to select from a list or abort.
               
 Explanation : A menu with the supplied options is generated, as
		well as a DONE-button (to signal completion of the selection)
		and a QUIT-button (to signal abortion of the selection).
               
		Menus can be either nonexclusive or exclusive.
		A default selection can be supplied.

 Use         : XSELECT,OPTIONS,STATUS,ABORT (all 3 parameters needed)
    
 Inputs      : OPTIONS:
			A text array containing the possible selections.

		STATUS:	An integer array containing the default selection,
			STATUS( i ) eq 1 signifies that OPTION( i ) is
			selected by default. Must have same dimensions as
                       OPTIONS parameter.
               
 Opt. Inputs : None.
               
 Outputs     : STATUS:	The resulting selection array. OPTION( i ) eq 1
			signifies selection of option no. i.

		ABORT:	Set to 1 if the user aborted the selection.
               
 Opt. Outputs: None.
               
 Keywords    : TITLE:	String with the title of the window with the menu.
			(default: 'Select options below')
		
		QUIT:	String with the text to go on the QUIT button.
			(default: 'Quit')

		DONE:	String with the text to go on the DONE button.
			(default: 'Done')

		GROUP_LEADER:
			Standard Xmanager/Widget meaning.

		X/YOFFSET: The position of the upper left corner of the
			new base.

		EXCLUSIVE/
		NONEXCLUSIVE:
			The type of base showing the selection buttons.
			Default: NONEXCLUSIVE

		MODAL:	Set to make the selection widget modal. 
			See Side effects.

 Calls       : DATATYPE

 Common      : XSELECT
               
 Restrictions: None.
               
 Side effects: The use of the MODAL keyword causes all widget
		DRAW windows to be blanked out.... Might be fixed
		in later versions of IDL...? (Depending on whether
		they see it as a bug or a feature :-)
               
 Category    : CDS, QuickLook, General
               
 Prev. Hist. : None.

 Written     : Stein Vidar Hagfors Haugan, 18 November 1993
               
 Modified    : SVHH, Version 1.5, 3 June 1994
			Added MODAL and X/YOFFSET keywords.
		PB,   Version 1.6, 24 Aug 1994  
		        Changed button 'Done' to 'Continue'
               CDP,  Upgraded header info and set default xoffset 
                     and yoffset.  14-Feb-95

 Version     : Version 2, 14-Feb-95

(See .//xselect.pro)


XSEL_LIST()

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

 NAME:	
       XSEL_LIST()

 PURPOSE: 
       To select one item from a list.

 EXPLANATION:
       
 CALLING SEQUENCE: 
       Result = XSEL_LIST(options)

 INPUTS:
       OPTIONS -- String array that contains the lists.

 OPTIONAL INPUTS: 
       TITLE=TITLE, Title of the widget. Default: 'XSET_LIST'

 OUTPUTS:
       RESULT -- Selected item (one of elements from the LISTS
                 array). A null string is returned if no selection is
                 made.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS: 
       INDEX -- Return index of the selected item
                otherwise return the content of the selected item.

 CALLS:
       POPUP_MSG, FLASH_MSG

 COMMON BLOCKS:
       XSEL_LIST

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 CATEGORY:
       Utility, widget

 PREVIOUS HISTORY:
       
 MODIFICATION HISTORY:
       Written September 20, 1994, by Liyun Wang, GSFC/ARC
       
 VERSION:
       

(See .//xsel_list.pro)


XSET_COLOR

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

 Name        :	XSET_COLOR

 Purpose     : Interactively change a variable associated with color.

 Explanation : This routine changes a variable to be used with the
               COLOR keyword in many routines (e.g., system variables
               like !p.color, !p.backgroud) through a slider widget
               interface. The color associated with its index is
               shown instantly.

 Use         : XSET_COLOR, color_var [, min = min, max = max]

 Inputs      : color_var -- Short integer for color index

 Opt. Inputs : None.

 Outputs     : Also the input, but its value may have changed

 Opt. Outputs:

 Keywords    : MIN   -- Minimum value of the range, default: 0
               MAX   -- Maximum value of the range, default: !d.n_colors-1
               TITLE -- Title of the widget; default: "Set Color"
               GROUP -- Group ID of an upper widget which would be
                        desensitized if GROUP is set upon calling this
                        routine 

 Calls       : BELL, DATATYPE

 Common      : xset_color 

 Restrictions: Graphic device has to support widget

 Side effects: The input value is modified

 Category    : Utilities/Widget

 Prev. Hist. :

 Written     :	Liyun Wang, GSFC/ARC, August 18, 1994

 Modified    : Liyun Wang, GSFC/ARC, August 31, 1994
                  Modified from set_value.pro

 Version     : 1.0

(See .//xset_color.pro)


XSET_VALUE

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

 Name        :	XSET_VALUE

 Purpose     : Set the value of a variable interactively with a slider.

 Explanation :

 Use         : XSET_VALUE, value [, min = min] [, max = max]

 Inputs      : VALUE = Current default value

 Opt. Inputs : None.

 Outputs     : Also the input, but its value may have changed

 Opt. Outputs:

 Keywords    : MIN  -- Minimum value of the range (Default: 0)
               MAX  -- Maximum value of the range (Default: 100)
               TITLE -- Title of the widget; default: "Number Picker"
               GROUP -- Group ID of an upper widget on which this one depends

 Calls       : BELL, DATATYPE

 Common      : XSET_VALUE

 Restrictions: Device must support widget

 Side effects: The input value is modified

 Category    : Utilities, Widget

 Prev. Hist. :

 Written     :	Liyun Wang, GSFC/ARC, August 18, 1994

 Modified    :

 Version     : 1.0

(See .//xset_value.pro)


XSHOW

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	XSHOW

 Purpose     :	To show (unmap) an X widget

 Explanation :	So obvious, that explaining it will take more
               lines than the code.

 Use         :	XSHOW,ID
              
 Inputs      :	ID = widget ids to show

 Opt. Inputs : None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Useful stuff

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 18 September 1993

(See .//xshow.pro)


XSTRUCT

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

 Name        :	XSTRUCT

 Purpose     : widget display of fields within an arbitrary structure

 Explanation :
              Arranges structures in a matrix format with the tag
              name in label widget and the tag value in a text widget.
              If wbase and wtags exist, then widget is just updated
              with input field values.

 Use         : xstruct,stc

 Inputs      : STC = structure name

 Opt. Inputs : None.

 Outputs     : None.

 Opt. Outputs: None.

 Keywords    :
              NX = # of columns by which to arrange widgets (def=2)
              WTAGS = text widget id's for each tag
              WBASE = parent widget base into which place structure
              GROUP = event id of widget that calls XSTRUCT
              JUST_REG = if set, then just register widget
              TITLE = optional widget title
              XOFF, YOFF = offset of structure base relative to calling widget
              EDITABLE = make fields editable

 Calls       : xmatrix

 Common      : XSTRUCT

 Restrictions: 
             Input must be a structure.
             Cannot yet safely handle arrays of structures or nested structures

 Side effects: None.

 Category    : Widgets

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 20 August 1994

 Modified    :

 Version     : 1

(See .//xstruct.pro)


XTEXT

[Previous Routine] [List of Routines]
 Project     :	SDAC

 Name        : XTEXT

 Purpose     : text display widget

 Use         : xtext,array

 Inputs      : array = string array to display

 Opt. Inputs : None.

 Outputs     : String array with help info.

 Opt. Outputs: None.

 Keywords    : 
              GROUP = GROUP LEADER OF TEXT WIDGET PARENT
              FONT  = FONT FOR TEXT WIDGET
              TITLE = TITLE FOR TEXT WIDGET PARENT
              SPACE = NUMBER OF LINES TO SPACE TEXT
 Expplanation:

 Calls       : None.

 Common      : None.

 Restrictions: None.

 Side effects: None.

 Category    : Help

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 20 August 1994

(See .//xtext.pro)