NAME¶
VistaIOSetAttr - set an attribute's value
SYNOPSIS¶
void VistaIOSetAttr ( list, name, dict, repn, value)
VistaIOAttrList list;
VistaIOStringConst type;
VistaIODictEntry * dict;
VistaIORepnKind repn;
type value;
void VistaIOSetAttrValue ( posn, dict, repn, value)
VistaIOAttrListPosn posn;
VistaIODictEntry * dict;
VistaIORepnKind repn;
type value;
where
type, according to
repn, is
VistaIOBit,
VistaIOUByte,
VistaIOSByte,
VistaIOShort,
VistaIOLong,
VistaIOFloat,
VistaIODouble,
VistaIOAttrList,
VistaIOBoolean,
VistaIOBundle,
VistaIOList,
VistaIOPointer,
VistaIOString,
VistaIOEdges,
VistaIOImage, etc.
ARGUMENTS¶
- list
- Specifies and returns the attribute list in which an attribute is to be
set.
- name
- Specifies by name of the attribute to be set.
- posn
- Specifies by position the attribute to be set.
- 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 both set an attribute's value, but they differ in how the
attribute is identified:
- •
- VistaIOSetAttr sets the value of an attribute named name in
the attribute list list. If list does not already contain an
attribute named name then a new attribute with that name is
appended to it. Otherwise, only the first attribute named name is
located and changed.
- •
- VistaIOSetAttrValue sets the value of the attribute whose position
within an attribute list is posn.
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 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.
EXAMPLES¶
The following code fragment sets an image's name:
VistaIOImage image;
VistaIOSetAttr (VistaIOImageAttrList (image), VistaIONameAttr, NULL,
VistaIOStringRepn, "Mona Lisa");
SEE ALSO¶
VistaIOGetAttr(3),
VistaIOGetAttrValue(3),
VistaIOattribute(3),
VistaIOdictionary(3),
AUTHOR¶
Art Pope <pope@cs.ubc.ca>
Adaption to vistaio: Gert Wollny <gw.fossdev@gmail.com>