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:09 2001.
Project : SDAC
Name : ADD_TAG
Purpose : add a tag to a structure
Explanation :
Use : NEW_STRUCT=ADD_TAG(STRUCT,TAG,NAME)
Inputs : STRUCT = input structure
: TAG = tag variable to add (scalar or vector)
: NAME = tag name (scalar or vector)
Opt. Inputs : None.
Outputs : NEW_STRUCT = new structure
Opt. Outputs: None.
Keywords : None.
Calls : COPY_STRUCT
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 7 November 1994
Project : SOHO - CDS
Name : CLEAR_STRUCT
Purpose : set all field values in a structure to zero
Explanation : initializes field values by setting to 0 or blank
strings as appropriate.
Use : NEW_STRUCT=CLEAR_STRUCT(STRUCT)
Inputs : STRUCT = input structure
Opt. Inputs : None.
Outputs : NEW_STRUCT = initialized original structure
Opt. Outputs: None.
Keywords : None.
Calls : NEW_STRUCT (recursively for nested structures)
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 22 September 1994
Project : SOHO - CDS
Name : CONCAT_STRUCT
Purpose : concatanate two structures
Explanation : concatanates two structures by using COPY_STRUCT to
avoid the problem of concatanating two differently named
structures.
Use : NEW_STRUCT=CONCAT_STRUCT(STRUCT1,STRUCT2)
Inputs : STRUCT1,2 = input structures
Opt. Inputs : None.
Outputs : NEW_STRUCT = concatanated structure
Opt. Outputs: None.
Keywords : None.
Calls : COPY_STRUCT
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 22 September 1994
Project : SOHO - CDS
Name : COPY_STRUCT
Purpose : Copies one structure to another (with options).
Explanation : Copy all Fields with matching Tags names (except for
"except_Tags" from one structure array to another structure
array (may be different). Can also recursively copy from/to
structures nested within structures.
Use : IDL> copy_struct, struct_From, struct_To
copy_struct, struct_From, struct_To, EXCEPT=["imag","tag"]
copy_struct, struct_From, struct_To, /RECUR_FROM
Inputs : struct_From - structure array to copy from.
struct_To - structure array to copy values to.
Opt. Inputs : None
Outputs : None
Opt. Outputs: NF_copied = incremented by total # of Fields copied.
Keywords : EXCEPT_TAGS = string array of Tag names to ignore (NOT to copy).
SELECT_TAGS = Tag names to copy (takes priority over EXCEPT).
/RECUR_FROM = option to search for Tag names
in sub-structures of struct_From,
and then call copy_struct recursively
for those nested structures.
/RECUR_TO = search for sub-structures of struct_To,
and then call copy_struct recursively
for those nested structures.
/RECUR_TANDEM = call copy_struct recursively
for the sub-structures with matching
Tag names in struct_From and struct_To
(for use when Tag names match but structure types differ).
Calls : For option SELECT_TAGS calls pro match.
Common : None
Restrictions: None
Side effects: None
Category : Util, structures
Prev. Hist. : Frank Varosi STX @ NASA/GSFC
Written : CDS version, CDP, RAL, 23-Aug-94
Modified :
Version : Version 1, 23-Aug-94
Project : SOHO - CDS
Name : DSP_STRUCT
Purpose : Display contents of a structure as a pulldown menu.
Explanation : A pulldown menu is created representing all the
levels of "introspection" of the structure variable.
If a tag in a structure is an array, it's "written out"
if it's less than SIZE, which by default is set to 30.
It may be used as a standalone widget or as part of a
menu. In the latter case, it generates a pulldown button
that unfolds the structure.
Use : DSP_STRUCT, DATA_STRUCTURE
Inputs : DATA_STRUCTURE: Any IDL structure.
Opt. Inputs : None.
Outputs : None.
Opt. Outputs: None.
Keywords : TITLE: The title of the menu/button.
SIZE: Controls the maximum size of arrays to be expanded
ON_BASE: The base to place the button on if it's supposed
to be a subpart of another widget hierarchy.
ALONE: Set to make it be a stand-alone widget application.
Calls : DATATYPE(), TRIM()
Common : None.
Restrictions: None.
Side effects:
Category : CDS, QL, DISPLAY, UTILITY
Prev. Hist. : Requested simultaneously by the Goddard & Rutherford
people, independent of each other.
Written : SVHH, 15 January 1994
Modified : SVHH, Documentation added March 1994, stand-alone mode added.
Version : 1.0
Project : SOHO - CDS
Name : JOIN_STRUCT
Purpose : join two structures
Explanation : concatanates two structures by using COPY_STRUCT to
avoid the problem of concatanating two differently named
structures.
Use : NEW_STRUCT=JOIN_STRUCT(STRUCT1,STRUCT2)
Inputs : STRUCT1,2 = input structures
Opt. Inputs : None.
Outputs : NEW_STRUCT = concatanated structure
Opt. Outputs: None.
Keywords : None.
Calls : COPY_STRUCT
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 22 September 1994
Project : SDAC
Name : MATCH_STRUCT
Purpose : check if two structures are identical
Explanation : cross-checks type and value of each field
Use : STATUS=MATCH_STRUCT(STRUCT1,STRUCT2)
Inputs : S1, S2 = input structures
Opt. Inputs : None.
Outputs : STATUS = 1/0 is input structure are/are not identical
Opt. Outputs: None.
Keywords : None.
Calls : DATATYPE
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC/GSFC)
Modified : To handle arrays of strings. CDP, 27-Feb-95
Removed redunant string check. DMZ, 1-March-95
Version : Version 3, 1-March-95
Project : SDAC
Name : REM_TAG
Purpose : remove a tag from a structure
Explanation :
Use : NEW_STRUCT=REM_TAG(STRUCT,TAG)
Inputs : STRUCT = input structure
: TAG = array of tag names to remove
Opt. Inputs : None.
Outputs : NEW_STRUCT = new structure
Opt. Outputs: None.
Keywords : NAME = new name for output structure
Calls : COPY_STRUCT
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 7 November 1994
Project : SDAC
Name : REP_TAG
Purpose : Replace a tag name in structure
Explanation :
Use : NEW_STRUCT=REP_TAG(STRUCT,OLD_TAG,NEW_TAG)
Inputs : STRUCT = input structure
: OLD_TAG = old tag name
: NEW_TAG = new tag name
Opt. Inputs : None.
Outputs : NEW_STRUCT = new structure
Opt. Outputs: None.
Keywords : NAME = new name for output structure
Calls : None.
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 7 November 1994
Project : SOHO - CDS
Name : SHOW_STRUCT
Purpose : Display contents and breakdown of an IDL structure.
Explanation : Displays in a widget the contents of a structure. Embedded
structures are unpacked.
Use : IDL> show_struct, str_name
Inputs : str_name - name of structure to be viewed.
Opt. Inputs : None
Outputs : None
Opt. Outputs: None
Keywords : None
Calls : DSP_STRUCT
Common : None
Restrictions: None
Side effects: None
Category : Util, structure
Prev. Hist. : Just a packaged version of S V Haugan's DSP_STRUCT with the
/alone keyword.
Written : C D Pike, RAL, 21-Apr-94
Modified :
Version : Version 1, 21-Apr-94
Project : SOHO - CDS
Name : SPLIT_STRUCT
Purpose : split two structures apart
Explanation :
Use : SPLIT_STRUCT,STRUCT,INDEX,S1,S2
Inputs : STRUCT = input structure to split
INDEX = index (or tag name) at which to break off structure
Opt. Inputs : None.
Outputs : S1, S2 = split structures
Opt. Outputs: None.
Keywords : None.
Calls : None.
Common : None.
Restrictions: None.
Side effects: None.
Category : Structure handling
Prev. Hist. : None.
Written : Dominic Zarro (ARC)
Version : Version 1.0, 22 January 1995
Project : SOHO - CDS
Name : TAG_EXIST()
Purpose : To test whether a tag name exists in a structure.
Explanation : Routine obtains a list of tagnames and tests whether the
requested one exists or not. The search is recursive so
if any tag names in the structure are themselves structures
the search drops down to that level.
Use : IDL> status = tag_exist(str, tag)
Inputs : str - structure variable to search
tag - tag name to search for
Opt. Inputs : None
Outputs : Function returns 1 if tag name exists or 0 if it does not.
Opt. Outputs: None
Keywords : INDEX = index of matching tag
Calls : None
Common : None
Restrictions: None
Side effects: None
Category : Util, structure
Prev. Hist. : None
Written : C D Pike, RAL, 18-May-94
Modified : Version 1.1, D Zarro, ARC/GSFC, 27-Jan-95
Passed out index of matching tag
Version : Version 1.1, 27-Jan-95
Project : SOHO - CDS
Name : WHERE_TAG()
Purpose : Select subscripts of elements in structure array.
Explanation : Searches the input structure for the nominated tag name
and returns the index of those tags whose value is within
the range set or whose value matches that requested.
Use : IDL> w = where_tag(str, TAG_NAME="tag_name", RANGE=[-1,2] )
IDL> w = where_tag(str, TAG_NAME="tag_name", VAL=0 )
IDL> w = where_tag(str, TAG_NAME="tag_name", VAL=[1,2,3,4] )
Inputs : Str - structure array to search.
Opt. Inputs : None
Outputs : Function returns indices found
Nfound = # of occurences found.
Opt. Outputs: None
Keywords : TAG_NAME = string specifying Tag Name
TAG_NUMBER = otherwise give the Tag Number,
RANGE = [min,max] range to search for in Struct,
VALUES = one or array of numbers to match for in Str.
ISELECT = specifies indices to select only part of
structure array, (use it to recycle subscripts
from previous searches).
/NOPRINT = suppress informational messages about nothing
found.
Calls : None
Restrictions: None
Side effects: None
Category : Utilities, Structures
Prev. Hist. :
Written : Written 1990 Frank Varosi STX @ NASA/GSFC
Modified : CDS version C D Pike, RAL, 8-Jun-93
Fixed it to stop printing "Tag not found" even when
/noprint given. CDP, 30-Sep-94
Version : Version 2, 30-Sep-94
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
Calls : xmatrix
Common : None.
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