2011-08-22 2 views
2

J'utilise Zest pour dessiner un graphique. Cependant, je veux changer la couleur par défaut du graphnode en une autre couleur basée sur son étiquette. Par exemple: Label: red => la couleur du noeud est rouge.Changer la couleur d'un nœud dans Zest

+0

L'utilisation de getBackgroundColor permet de définir la couleur d'arrière-plan d'un nœud. – v4r

Répondre

4

Si vous utilisez l'API GraphViewer de Zest (similaire aux visualiseurs JFace), laissez votre LabelProvider étendre IEntityStyleProvider qui fournit la méthode de rappel getBackgroundColor() nécessaire (entre autres). Cependant, si vous utilisez l'API graphique de base, vous devez définir manuellement la couleur de tous les nœuds à l'aide des méthodes GraphNodes set * Color.

+0

Bonjour, j'essaie de le faire maintenant et je ne peux pas voir ces classes de mon IDE ayant ajouté les paquets Zest. Est-ce une ancienne fonctionnalité ou ai-je besoin d'une autre importation pour l'autoriser? – Link19

+1

Si vous utilisez Zest 1.x (téléchargeable depuis le site de mise à jour de Kepler), cela ne devrait pas être nécessaire. Si vous utilisez la version GEF4 Zest, vous devez ajouter le plug-in org.eclipse.gef4.zest.jface en tant que dépendance supplémentaire (mais vous l'utilisez déjà si vous utilisez l'API GraphViewer). –

+0

C'était de ma faute, je ne comprenais pas que je devais simplement implémenter les interfaces supplémentaires avec mon fournisseur d'étiquettes. – Link19