#include <nodeitem.h>
|
| void | addParent (NodeItem *parent) |
| | addParent : attribuer un noeud parent (parent) à un noeud
|
| |
| QList< NodeItem * > | getFils () const |
| | getFils : récupérer l'attribut filsNodes
|
| |
| void | addFils (NodeItem *fils) |
| | addFils : ajouter un fils au vecteur des fils (filsNodes)
|
| |
| bool | hasFils () const |
| | hasFils : vérifie si le noeud a des fils
|
| |
| QList< NodeItem * > | getParents () const |
| | getParents : récupérer les noeuds parents (l'attribut parentNodes)
|
| |
| | NodeItem (File *file, TypeFile type) |
| | Constructeur de la classe NodeItem.
|
| |
| TypeFile | getType () |
| | getType : récupère le type de fichier que représente le noeud (Sss, Srs ou Sdd)
|
| |
| QRectF | boundingRect () const override |
| | Retourne la zone occupée par le nœud dans la scène.
|
| |
| void | makeBlinking () |
| | makeBlinking : fait clignoter un noeud (le noeud sans fils) chaque 500ms
|
| |
| void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override |
| | Dessine le nœud graphique sur la scène.
|
| |
| void | updateBlinkingState () |
| | updateBlinkingState : change le statut blinking chaque 500ms pour alterner les couleurs du noeud
|
| |
| File * | getFile () |
| | getFile : récupérer le fichier représenté par le noeud
|
| |
| void | ajouterTexteAInfobulle (const QString &nouveauTexte) |
| |
| QStringList | getExigences () const |
| | Retourne les exigences associées au fichier de ce nœud sous forme de texte.
|
| |
|
| void | mouseMoveEvent (QGraphicsSceneMouseEvent *event) override |
| | Gère le déplacement du nœud avec la souris.
|
| |
| QVariant | itemChange (GraphicsItemChange change, const QVariant &value) override |
| | Réagit aux changements d'état de l'élément graphique.
|
| |
| void | hoverEnterEvent (QGraphicsSceneHoverEvent *event) override |
| | Gère l'entrée du curseur dans la zone du noeud (PointingHandCursor).
|
| |
| void | hoverLeaveEvent (QGraphicsSceneHoverEvent *event) override |
| | Gère la sortie du curseur en dehors de la zone du nœud. Elle réinitialise le curseur à son état par défaut (Arrow)
|
| |
| void | mousePressEvent (QGraphicsSceneMouseEvent *event) override |
| | Gère le clic souris sur le nœud graphique.
|
| |
◆ NodeItem()
Constructeur de la classe NodeItem.
Initialise un nœud graphique représentant un fichier donné, avec son type (par exemple SSS, SRS, ou SDD). Le nœud est rendu interactif (déplaçable, sélectionnable) et peut clignoter en rouge en fonction de son état.
- Parameters
-
| file | Pointeur vers l'objet File associé au nœud. |
| type | Le type de fichier (défini par l'énumération TypeFile). |
Ce constructeur :
- Initialise le label avec le nom du fichier.
- Configure les flags d'interaction graphique.
- Prépare un QTimer pour gérer le clignotement.
- Associe une infobulle contenant le nom du fichier.
- Author
- malek
◆ addFils()
| void NodeItem::addFils |
( |
NodeItem * | fils | ) |
|
addFils : ajouter un fils au vecteur des fils (filsNodes)
Ajoute un nœud fils à ce nœud.
- Parameters
-
| fils | : le noeud à ajouter dans le vecteur des fils |
| fils | Le nœud à ajouter comme fils. |
- Author
- malek
◆ addParent()
| void NodeItem::addParent |
( |
NodeItem * | parent | ) |
|
addParent : attribuer un noeud parent (parent) à un noeud
Ajoute un nœud parent à ce nœud.
- Parameters
-
| parent | : le noeud parent |
| parent | Le nœud à ajouter comme parent. |
- Author
- malek
◆ ajouterTexteAInfobulle()
| void NodeItem::ajouterTexteAInfobulle |
( |
const QString & | nouveauTexte | ) |
|
◆ boundingRect()
| QRectF NodeItem::boundingRect |
( |
| ) |
const |
|
override |
Retourne la zone occupée par le nœud dans la scène.
Cette méthode définit une zone fixe autour du centre de l'élément, ici un petit rectangle de 20x20 pixels positionné à (-50, -30) par rapport au centre.
- Returns
- QRectF La zone rectangulaire de l'élément.
- Author
- malek
◆ getExigences()
| QStringList NodeItem::getExigences |
( |
| ) |
const |
Retourne les exigences associées au fichier de ce nœud sous forme de texte.
Cette méthode effectue un "dynamic_cast" du fichier ("File*") vers son type réel ("Sss", "Srs", ou "Sdd") afin d’accéder à la méthode "getExigence()" de la classe dérivée. Chaque exigence est convertie en "QString" à partir de son "toString()". Si le fichier est nul, ou que le type est inconnu, des messages par défaut sont renvoyés.
- Returns
- Une "QStringList" contenant les descriptions des exigences.
- Author
- Jacques Zheng
- Date
- 02/05/2025
◆ getFile()
| File * NodeItem::getFile |
( |
| ) |
|
getFile : récupérer le fichier représenté par le noeud
Retourne le pointeur vers le fichier associé au nœud.
- Returns
- un pointeur sur File (fichier représenté par le noeud)
-
File* Le pointeur vers l'objet "File" associé au nœud.
- Author
- malek
◆ getFils()
| QList< NodeItem * > NodeItem::getFils |
( |
| ) |
const |
getFils : récupérer l'attribut filsNodes
Retourne la liste des nœuds fils associés à ce nœud.
- Returns
- un vecteur de pointeur sur NodeItem (le vecteur filsNodes)
-
QList<NodeItem*> La liste des nœuds fils associés à ce nœud.
- Author
- malek
◆ getParents()
| QList< NodeItem * > NodeItem::getParents |
( |
| ) |
const |
getParents : récupérer les noeuds parents (l'attribut parentNodes)
Retourne la liste des nœuds parents associés à ce nœud.
- Returns
- un vecteur de pointeur sur NodeItem (le vecteur parentNodes)
-
QList<NodeItem*> La liste des nœuds parents associés à ce nœud.
- Author
- malek
◆ getType()
getType : récupère le type de fichier que représente le noeud (Sss, Srs ou Sdd)
Retourne le type de fichier associé au nœud.
- Returns
- l'attribut type
-
TypeFile Le type de fichier associé au nœud.
- Author
- malek
◆ hasFils()
| bool NodeItem::hasFils |
( |
| ) |
const |
hasFils : vérifie si le noeud a des fils
Vérifie si ce nœud a des nœuds fils.
- Returns
- vrai si l'attribut (filsNodes) n'est pas vide, faux sinon
-
true Si ce nœud a des nœuds fils, false sinon
- Author
- malek
◆ hoverEnterEvent()
| void NodeItem::hoverEnterEvent |
( |
QGraphicsSceneHoverEvent * | event | ) |
|
|
overrideprotected |
Gère l'entrée du curseur dans la zone du noeud (PointingHandCursor).
- Parameters
-
| event | L'événement de survol déclenché par Qt. |
- Author
- Maxime Huang
- Date
- 12/04/25
◆ hoverLeaveEvent()
| void NodeItem::hoverLeaveEvent |
( |
QGraphicsSceneHoverEvent * | event | ) |
|
|
overrideprotected |
Gère la sortie du curseur en dehors de la zone du nœud. Elle réinitialise le curseur à son état par défaut (Arrow)
- Parameters
-
| event | L'événement de survol déclenché par Qt. |
- Author
- Maxime Huang
- Date
- 12/04/25
◆ itemChange()
| QVariant NodeItem::itemChange |
( |
GraphicsItemChange | change, |
|
|
const QVariant & | value ) |
|
overrideprotected |
Réagit aux changements d'état de l'élément graphique.
Cette méthode est appelée par Qt à chaque changement de propriété important (comme la position, la sélection, etc.). Ici, on intercepte le changement de position ("ItemPositionChange") pour :
- émettre le signal "positionChanged()" (utile pour mettre à jour les liens),
- redessiner les nœuds parents et fils afin que leurs arêtes soient bien ajustées.
- Parameters
-
| change | Type de changement détecté. |
| value | Nouvelle valeur associée au changement. |
- Returns
- QVariant La valeur à appliquer (identique à celle reçue ici).
◆ makeBlinking()
| void NodeItem::makeBlinking |
( |
| ) |
|
makeBlinking : fait clignoter un noeud (le noeud sans fils) chaque 500ms
Active le clignotement du nœud.
Si le nœud ne clignote pas encore, cette méthode :
- active l'état de clignotement ("isBlinking"),
- force la couleur initiale à rouge ("isRed = true"),
- démarre un "QTimer" avec un intervalle de 500 ms pour alterner la couleur.
- Author
- malek
◆ mouseMoveEvent()
| void NodeItem::mouseMoveEvent |
( |
QGraphicsSceneMouseEvent * | event | ) |
|
|
overrideprotected |
Gère le déplacement du nœud avec la souris.
Cette méthode est appelée automatiquement lorsqu'un utilisateur déplace le nœud à la souris. Elle émet un signal "positionChanged()" pour notifier d'autres objets (les aretes) et force la mise à jour des nœuds connectés (parents et fils) afin de redessiner correctement les liens (aretes).
- Parameters
-
| event | Événement de souris déclenché par le déplacement. |
- Author
- malek
◆ mousePressEvent()
| void NodeItem::mousePressEvent |
( |
QGraphicsSceneMouseEvent * | event | ) |
|
|
overrideprotected |
Gère le clic souris sur le nœud graphique.
Cette méthode est appelée automatiquement lorsqu’un utilisateur clique sur un objet "NodeItem" dans la scène graphique. Elle émet un signal "nodeClicked(this)" pour permettre à l’interface (MainWindow) d’afficher les exigences associées au nœud.
- Parameters
-
| event | L’événement de clic détecté par Qt. |
- Author
- Jacques Zheng
- Date
- 02/05/2025
◆ nodeClicked
| void NodeItem::nodeClicked |
( |
NodeItem * | self | ) |
|
|
signal |
◆ paint()
| void NodeItem::paint |
( |
QPainter * | painter, |
|
|
const QStyleOptionGraphicsItem * | option, |
|
|
QWidget * | widget ) |
|
override |
Dessine le nœud graphique sur la scène.
Cette méthode est responsable du dessin du nœud sur la scène. Elle définit d'abord la couleur du nœud en fonction de son état de clignotement et de son type de fichier. Ensuite, elle dessine un cercle représentant le nœud à la position et la taille spécifiées par "boundingRect()".
- Si le nœud clignote, il est dessiné en rouge.
- Si le nœud ne clignote pas, il est dessiné dans une couleur spécifique en fonction de son type :
- "TypeFile::sss" : bleu
- "TypeFile::srs" : vert
- "TypeFile::sdd" : jaune
- Parameters
-
| painter | L'objet utilisé pour dessiner sur la scène. |
| option | Les options de style pour dessiner l'élément. |
| widget | Le widget qui contient cet élément graphique (si applicable). |
- Author
- malek
◆ positionChanged
| void NodeItem::positionChanged |
( |
| ) |
|
|
signal |
◆ updateBlinkingState()
| void NodeItem::updateBlinkingState |
( |
| ) |
|
updateBlinkingState : change le statut blinking chaque 500ms pour alterner les couleurs du noeud
Met à jour l'état de clignotement du nœud.
Cette méthode est appelée périodiquement par un "QTimer" pour créer un effet de clignotement visuel. Elle inverse la couleur du nœud entre rouge et sa couleur d'origine (en fonction de son type) puis demande un redessin en appelant "update()".
Utiliser pour signaler les documents SSS sans fils
The documentation for this class was generated from the following files: