4D v14.3

SVG FIXER ATTRIBUT

Accueil

 
4D v14.3
SVG
SVG FIXER ATTRIBUT

SVG FIXER ATTRIBUT 


 

SVG FIXER ATTRIBUT ( {* ;} objetImage ; id_Element ; nomAttribut ; valeurAttribut {; nomAttribut2 ; valeurAttribut2 ; ... ; nomAttributN ; valeurAttributN} {; *}) 
Paramètre Type   Description
Opérateur in Si spécifié, objetImage est un nom d'objet (chaîne) Si omis, objetImage est une variable ou un champ
objetImage  Image in Nom d’objet (si * spécifié) ou Variable ou champ (si * omis)
id_Element  Texte in ID de l'élément dont un ou plusieurs attribut(s) sont à définir
nomAttribut  Chaîne in Attribut à définir
valeurAttribut  Chaîne, Entier long in Nouvelle valeur d’attribut
Opérateur in Si passé = modifier l'arbre DOM interne de l'image SVG (variable uniquement)

La commande SVG FIXER ATTRIBUT permet de modifier la valeur d’un attribut existant dans l’arbre de rendu SVG d’une image affichée ou dans l'arbre DOM interne d'une image.

Si vous passez le premier paramètre optionnel *, vous indiquez que le paramètre objetImage est un nom d’objet (une chaîne). Dans ce cas, la commande s’applique aux paramètres de l’image de rendu attachée à l’objet (à noter que les paramètres et donc l’image de rendu de l’objet ne sont créés que si la commande SVG FIXER ATTRIBUT est appelée au moins une fois).
Si vous ne passez pas le premier paramètre *, vous indiquez que le paramètre objetImage est une variable ou un champ. Vous ne passez alors pas une chaîne mais une référence de variable (variable objet uniquement) ou de champ. Dans ce cas, la commande s’applique aux images de rendu de tous les objets qui utilisent la variable ou le champ.

Par défaut, les modifications effectuées par cette commande s’appliquent uniquement aux images de rendu, elle ne sont pas stockées dans la source de données (l'arbre DOM interne) et sont perdues lorsque l’image est effacée par programmation ou lorsque le formulaire est fermé. Il est toutefois possible de reporter ces modifications dans l'arbre DOM interne de l'image lorsque le paramètre objetImage référence une variable : il suffit pour cela de passer un second * en dernier paramètre. Ce principe permet de préserver des modifications effectuées à la volée. 

Notes :

  • Le report des modifications dans l'arbre DOM interne n'est pas possible lorsque le paramètre objetImage référence un objet.
  • Pour que le report des modifications soit possible, la variable SVG doit avoir été créée à partir d'un document DOM (avec DOM EXPORTER VERS VARIABLE). Si la variable SVG a été créée à partir d'un fichier et si vous passez le second paramètre *, la commande ne fera rien et une erreur sera générée car dans ce cas la source de données ne contient pas de document DOM modifiable.
  • Pour modifier la source de données d'une image SVG, vous pouvez également utiliser les commandes XML DOM ou le composant 4D SVG fourni par 4D.

Le paramètre id_Element permet de définir l'ID (attribut "id" ou "xml:id") de l’élément dont vous souhaitez modifier un ou plusieurs attribut(s).

Passez dans les paramètres nomAttribut et valeurAttribut respectivement l'attribut à écrire et sa valeur (sous forme de variables, champs ou valeurs littérales). Vous pouvez passer autant de couples attribut/valeur que vous voulez. 

La commande SVG FIXER ATTRIBUT vous permet de modifier (mais pas d’ajouter ou de supprimer) la plupart des attributs SVG, comme par exemple 'fill', 'opacity', 'font-family', etc. Pour une définition complète des attributs SVG, reportez-vous aux documents de référence disponibles sur Internet, par exemple http://www.w3.org/TR/SVG11/attindex.html. La mise à jour de l’image de rendu est immédiate, les modifications sont reportées en cascade sur les éléments enfants pour les styles héritables. 

A noter que pour des raisons techniques, les attributs de certains éléments ainsi que certains attributs ne sont pas modifiables. Le tableau suivant liste les éléments modifiables, les éléments non modifiables ainsi que les attributs non modifiables :

Eléments dont les attributs sont modifiables 

svgRestrictions :
- "width" et "height" ne sont pas modifiables (1)
- "viewBox" n'est modifiable que si "width" et "height" sont définis dans le document d’origine
g
defs
use
filterRestriction : les éléments enfants fe_xxx ne sont pas modifiables
circle
ellipse
line
polyline
polygon
path
rect
text, tspan, textAreaL’attribut spécifique "4d-text" vous permet de modifier le texte d’un élément "text", "tspan" ou "textArea" (cf. exemple)
Image

Eléments dont les attributs ne sont pas modifiables 

linearGradient, radialGradient, Stop, solidColor, marker, symbol, clipPath, filter et les éléments commençant par fe, style, patternCet ensemble désigne tous les éléments référençables ou contenus dans un élément référençable. Cela signifie qu’il n’est pas possible par exemple de redéfinir les attributs d’un gradient (mais il est possible de changer le gradient utilisé). De même, pour changer un marqueur de couleur noire en marqueur rouge, il faudra définir deux marqueurs dans le document SVG (un noir et un rouge) et sélectionner l’un ou l’autre. Il n’est pas possible non plus par exemple de modifier la couleur d'un rectangle s’il a pour parent un élément symbol ou marker

Attributs non modifiables

id ou xml:id
lang ou xml:lang
class ou xml:class
width, heightConcerne les attributs de l’élément 'svg' uniquement (1)

(1) Ces attributs ne peuvent être modifiés car ils définissent et structurent l’image résultante. Les attributs width et height de l’élément svg servent à définir les dimensions initiales de l’image dans 4D et ces dimensions doivent rester constantes après la création de l’image (il est toutefois possible de modifier les dimensions de l’image résultante avec la commande TRANSFORMER IMAGE de 4D).

Reportez-vous également à la description de la commande SVG LIRE ATTRIBUT pour obtenir la liste des attributs 4D réservés et dédiés à l’animation.

Si vous tentez de modifier un attribut d’un élément non pris en charge ou l’un de ses enfants, la commande ne fait rien et aucune erreur n’est générée.

Si la commande est exécutée en-dehors du contexte d'un formulaire ou si un objetImage invalide est passé, la variable OK prend la valeur 0. Si la commande a été exécutée correctement, elle prend la valeur 1.

Exemple  

Modification du contenu d’un élément de type texte :

 SVG FIXER ATTRIBUT(*;nom_objet_image;text_element_ID;"4d-text";"Ceci est un texte")

Note : Il n’y a pas de namespace pour que l’attribut puisse être utilisé dans une feuille de style CSS sans risque de conflit.

 
PROPRIÉTÉS 

Produit : 4D
Thème : SVG
Numéro : 1055
Nom intl. : SVG SET ATTRIBUTE

Cette commande modifie la variable système OK

 
HISTORIQUE 

Créé : 4D v12
Modifié : 4D v12.3

 
VOIR AUSSI  

SVG LIRE ATTRIBUT

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v12.4)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v13.5)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)