Typage des données/manipulation des données
Bonjour à tous,
Je reviens avec une nouvelle difficulté.
En fait, je cherche à représenter/dessiner une sorte de diagramme dans mon projet. Je dispose déjà de fonctions de dessin grâce à la bibliothèque Cairo, là n'est pas le problème. Le souci est plutôt comment gérer les données pour pouvoir le faire. Le diagramme doit être constitué ainsi :
- il est constitué de plusieurs cases.
- chaque case porte un nom et un id unique.
- chaque case renferme un nombre connu à l'avance de "connecteurs" en entrée (à gauche de la case) et en sortie (à droite de la case) ; ils disposeront d'un nom et d'un "id" qui ne sera pas unique (voir plus bas).
Cela serait simple ainsi sauf qu'il y a une précision importante : chaque connecteur peut être connecté avec un ou des autres opposés, càd un connecteur en sortie ne peut être connecté qu'avec un ou plusieurs connecteurs en entrée d'une autre case, et vice versa. Les connecteurs qui auront le même id (comme énoncé) seront alors connectés entre eux.
Il faut donc lors de l'affichage que j'arrive à représenter les connexions par les lignes, il faut donc que je gère les données proprement et rapidement pour ne pas altérer les performances d'affichage.
Je sollicite donc votre aide pour savoir quelle est la meilleure solution. Mon problème me fait penser à l'utilisation de la programmation orientée objet, mais je souhaite rester en C/GTK. Il y aussi ce tutoriel http://nicolasj.developpez.com/gobject/classe/#LV mais je trouve l'utilisation de GObject assez rebutante. Est-ce possible d'utiliser le typage abstrait classique des données ici ?