NAME¶
VistaIOInsertAttr, VistaIOAppendAttr, VistaIOPrependAttr - add an attribute to a
list
SYNOPSIS¶
void VistaIOInsertAttr ( posn, after, name, dict, repn, value)
VistaIOAttrListPosn * posn;
VistaIOBoolean after;
VistaIOStringConst name;
VistaIODictEntry * dict;
VistaIORepnKind repn;
type value;
void VistaIOAppendAttr ( list, name, dict, repn, value)
VistaIOAttrList list;
VistaIOStringConst name;
VistaIODictEntry * dict;
VistaIORepnKind repn;
type value;
void VistaIOPrependAttr ( list, name, dict, repn, value)
VistaIOAttrList list;
VistaIOStringConst name;
VistaIODictEntry * dict;
VistaIORepnKind repn;
type value;
where
type is
VistaIOBit,
VistaIOUByte,
VistaIOSByte,
VistaIOShort,
VistaIOLong,
VistaIOFloat,
VistaIODouble,
VistaIOAttrList,
VistaIOBoolean,
VistaIOBundle,
VistaIOList,
VistaIOPointer,
VistaIOString,
VistaIOEdges,
VistaIOImage, etc.
ARGUMENTS¶
- posn
- Specifies the attribute list position at which a new attribute is to be
inserted.
- after
- Specifies whether a new attribute is to be inserted before posn
(FALSE) or after posn
(TRUE ).
- list
- Specifies the attribute list to which a new attribute is to be appended or
prepended.
- name
- Specifies a name for the new attribute.
- dict
- May specify a dictionary to be used in translating the value supplied to a
keyword that should be stored as the attribute's value, or it may be
NULL
- repn
- Specifies the representation of the new attribute value.
- value
- Specifies the new attribute value.
DESCRIPTION¶
These routines provide three ways of adding a new attribute to an attribute
list:
- •
- VistaIOInsertAttr inserts the new attribute immediately before or
after the existing attribute specified by posn.
- •
- VistaIOAppendAttr places the new attribute at the end of
list.
- •
- VistaIOPrependAttr places the new attribute at the beginning of
list.
With the
dict argument you can provide a dictionary for mapping
value to a keyword that will be stored as the attribute's value (see
VistaIOdictionary(3)). For example, if you pass an attribute value of 1
and a dictionary that associates the value 1 with the keyword
ubyte (as
the dictionary
VistaIORepnDict does), then the string
ubyte will
be stored as the attribute's value. Dictionaries may be used to map both
numeric values and strings to keywords. If you supply a dictionary but
value is not mentioned in that dictionary, then
value itself
will be stored with the attribute.
If
value is a number or a character string, the routine makes its own
copy of the value as a character string for storing in the attribute. If, on
the other hand,
value is an attribute list, pointer, image, edge set,
etc., then the routine stores a pointer in the attribute but it does not make
a copy of the object pointed to.
RETURN VALUES¶
As a side effect, these routines modify the attribute list referred to by
list or
posn.
SEE ALSO¶
VistaIOSetAttr(3),
VistaIOSetAttrValue(3),
VistaIOattribute(3),
VistaIOdictionary(3),
AUTHOR¶
Art Pope <pope@cs.ubc.ca>
Adaption to vistaio: Gert Wollny <gw.fossdev@gmail.com>