Provided by: libvistaio-dev_1.2.19-3_amd64 bug

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 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.

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>

VistaIO Version 1.2.14                            24 April 1993                                VistaIOSetAttr(3)