Il peut s'avérer nécessaire de positionner les points de connexion sur un rectangle plus petit ou plus grand que le cadre de délimitation, éventuellement de manière asymétrique. C'est le cas, par exemple,
lorsque les libellés sont affichés au-dessus ou au-dessous des noeuds.
Vous pouvez modifier la position des points de connexion des liens en indiquant une classe qui implémente ILinkConnectionBoxProvider. Utilisez la méthode setLinkConnectionBoxInterface.
Pour définir un fournisseur de cadre de connexion de liens en Dojo, appelez :
dojo.declare("MyLinkConnectionBoxProvider", ibm_ilog.graphlayout.ILinkConnectionBoxProvider, { getBox : function(graphModel, node) { var rect = graphModel.boundingBox(node); // modify rect... return rect; }, getTangentialOffset : function(graphModel, node, nodeSide) { var offset = 0; // modify offset according to nodeSide... return offset; } }); treeLayout.setLinkConnectionBoxInterface(new MyLinkConnectionBoxProvider());
L'interface de cadre de connexion de liens fournit un cadre de connexion de liens à chaque noeud et un décalage indirect qui définit la valeur du décalage indirect des points de connexion en fonction du lien auquel les liens se connectent.
La figure ci-après illustre les effets de la personnalisation du cadre de connexion lorsque le style de connecteur est réparti de façon équidistante.

Effet de l'interface de cadre de connexion
Le résultat sans l'interface de cadre de connexion est affiché sur la gauche. L'illustration du milieu représente l'effet obtenu si l'interface de cadre de connexion renvoie le rectangle discontinu pour le noeud bleu et que le décalage indirect de tous les côtés du noeud est égal à 0. Notez que les liens sortants sont répartis en fonction du rectangle discontinu, lequel apparaît trop large pour le noeud bleu dans cette situation. L'illustration de droite représente l'effet obtenu avec l'interface de cadre de connexion, si, en plus, un décalage indirect positif a été spécifié pour le côté inférieur et un décalage négatif a été spécifié pour le côté gauche du noeud bleu.