2009-02-17 9 views
2

Je souhaite ajouter un élément d'interface de style "éditeur de patch" de Quartz Composer à mon application Cocoa/Objective C (++). Pour ceux qui ne connaissent pas QC, l'éditeur de patch est une représentation visuelle du graphe de patch: montrant efficacement chaque noeud et ses propriétés, et fournissant une interface de sélection/clic/glissement pilotée par la souris. Il ressemble à ... Quartz Composer Example http://files.me.com/archgrove/ya1xhhCréation d'une interface de style Quartz Composer

Je vais l'utiliser pour rendre un type spécifique d'arbre multi-racine, où chaque noeud a du texte associé et un arc le joignant à ses enfants. Les utilisateurs vont cliquer sur les noeuds de l'arbre pour les sélectionner, ainsi que pour les faire glisser. À l'heure actuelle, j'utilise un NSView personnalisé dans une vue de défilement que Quartz dessine chaque noeud, les arcs, etc. à chaque rendu, et traite les entrées de la souris et du clavier à la main (incluant les tests de coup, le mouvement, etc.) . Cela semble brutalement réinventer la roue, et n'interagit pas très bien avec Core Animation. J'espère que quelqu'un a des conseils alternatifs généraux. Je méditée le long des lignes de ...

  • Un contrôle existant/bibliothèque 3ème partie que j'ai négligé
  • Faire de chaque nœud dans l'arbre un NSView, et utiliser la structure de la vue normale pour gérer l'entrée , tout en dessinant les graphismes de la même manière. Mais alors, le rendu d'arc inter-noeuds ne semble pas correspondre naturellement dans la conception
  • Quelque chose en utilisant un seul NSView encore, mais en faisant chaque nœud de l'arbre et l'arc d'une couche individuelle
  • Quelque chose d'autre

Merci de bien vouloir,

adamw

+0

+1 Image morte .. –

Répondre

Questions connexes