Intégration des ressources RyXéo par les développeurs¶
Principe :¶
RyXéo fournit pour les développeurs des dessins (images, icônes ...), à l'intérieur de classes d'inclusion externes (lib), dans un dossier nommé picto.Ces dessins sont les objets graphiques minimum nécessaires à faire fonctionner les applications.
Pour AbuleduTeteV1, ils sont séparés en 3 catégories, images de tailles différentes :
- la catégorie évaluation comprend 7 images de taille 115x115, nommées avec des alias "tresbien", "bien", "moyen", "mal", "rien", "attente" et "neutre", destinées à être intégrées dans un AbulEduGraphicsTetesWidgetV1, la "boîte de têtes", en pied d'aire de travail. Ces images sont regroupées dans un dossier evaluation.
- la catégorie bilan comprend les mêmes 7 images, destinées à être intégrées dans un AbulEduExerciceWidgetMessageV1. Ces images, de taille 92x92, sont regroupées dans un dossier bilan.
- la catégorie consigne ne comprend qu'une seule tête d'aspect plutôt neutre, de taille 165x165. Comme elle seule, elle est directement dans le dossier picto.
Ces dessins sont un peu austères, parce que neutres pour rester génériques.
Le développeur peut souhaiter les remplacer par d'autres, plus jolis, plus personnalisés, avec une cohérence de "thème".
Mais s'il les remplace au même endroit, une mise à jour de la lib les effacera pour remettre les dessins par défaut.
Le développeur va donc copier dans l'arborescence de son projet (dossier /data) les dessins du thème. Grâce au fichier .pri, s'ils existent dans le dossier /data, le code les utilise en priorité. S'il ne les trouve pas, il utilisera celles de la lib.
Recopie de l'arborescence :¶
Les dossiers présents dans le dossier "lib/nom-de-la-classe-incluse" doivent être recréés dans le dossier "data/nom-de-la-classe-incluse", ainsi que les images qu'ils contiennent (avec le même nom !!).
Les fichiers .qrc doivent être recopiés aussi dans le dossier "data/nom-de-la-classe-incluse" (pas dans les sous-dossiers auxquels leur nom fait référence).
Le fichier .pri détecte qu'il existe un .qrc "local", qmake l'inclut à la place du .qrc "lib".
Alias¶
Les "alias" servent à nous prémunir contre des éventuels changement de nom (encore que le nom, on y pense quand on l'a changé) ou d'extension des fichiers ressources.Les images sont référencées dans le .qrc
- si elle n'ont pas d'alias
<file>icones/bien.png</file>
- si elles ont un alias
<file alias="bien">icones/bien.png</file>
Le code va donc appeler les fichiers non pas par leur nom
:/icones/bien.png
mais par leur alias
:/icones/bien
Si vous avez changé de nom ou d'extension entre les fichiers ressources de la lib et celle que vous avez posé dans votre "data", il faut modifier ce nom dans le fichier .qrc