VistaIOSetAttr - set an attribute's value
Contents
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 NULLrepn 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 dictionaryVistaIORepnDict 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.
Examples
The following code fragment sets an image's name:
VistaIOImageimage;VistaIOSetAttr(VistaIOImageAttrList(image),VistaIONameAttr,NULL,VistaIOStringRepn,"MonaLisa");Name
VistaIOSetAttr - set an attribute's value
Return Values
As a side effect, these routines modify the attribute list referred to by list or posn.
See Also
VistaIOGetAttr(3), VistaIOGetAttrValue(3), VistaIOattribute(3), VistaIOdictionary(3),
Synopsis
voidVistaIOSetAttr(list,name,dict,repn,value)VistaIOAttrListlist;VistaIOStringConsttype;VistaIODictEntry*dict;VistaIORepnKindrepn;typevalue;voidVistaIOSetAttrValue(posn,dict,repn,value)VistaIOAttrListPosnposn;VistaIODictEntry*dict;VistaIORepnKindrepn;typevalue;
where type, according to repn, is VistaIOBit, VistaIOUByte, VistaIOSByte, VistaIOShort, VistaIOLong,
VistaIOFloat, VistaIODouble, VistaIOAttrList, VistaIOBoolean, VistaIOBundle, VistaIOList, VistaIOPointer,
VistaIOString, VistaIOEdges, VistaIOImage, etc.
