Tâche #718
QGraphicsItem resizable
0%
Description
Avoir un QGraphicsItem de base duquel on peut hériter un item perso, cet item fournirait la possibilité de déplacer et de modifier la taille de l'item via des petites "poignées" placées aux 8 points cardinaux.
Voilà pour l'idée, si ça semble intéresser pour le projet QExtend et que ça n'existe pas encore (j'ai fait une recherche rapide sans succes), je proposerai quelques idées mieux développées.
History
#1
Updated by yan over 12 years ago
très très bonne idée.
Mais je verrai plus un manipulateur qui va manipuler n'importe quel item. Des
On sélectionne un item et le manipulateur ajoute des chose autour pour le modifier . Un comme ce que l'on trouve dans OpenInventor mais en 2D
http://doc.coin3d.org/Coin/classSoCenterballManip.html#_details
http://doc.coin3d.org/Coin/classSoClipPlaneManip.html#_details
#2
Updated by ness522 over 12 years ago
Merci, bonne idée le manipulateur, je n'y avais pas pensé de cette manière là.
Du coup voici à quoi je pense :
QGraphicsManipulator inherits QGraphicsItem // le manipulateur est également un item, donc il peut dessiner sur le scene
le constructeur prendrait un QGraphicsItem parent en argument, ce serait l'item manipulé. Le manipulateur en étant l'enfant, il sera détruit en même temps que l'item.
Par défaut, le manipulateur positionne les "poignées" en fonction du boundingRect de notre item parent, il serait également possible de fournir un QRect pour positionner autrement les poignées.
Lorsqu'on bouge les poignées, le manipulateur manipule l'item via les fonctions setTransform (scale or rotate) de l'item. (c'est là que je ne suis pas sûr du résultat :p). L'item pourra être averti des modifications via QGraphicsItem::GraphicsItemChange(...).
Voilà réflexion rapide, merci de me dire si je pars dans la mauvaise voie :)
#3
Updated by yan almost 12 years ago
- Priority changed from Normal to Bas