From 319ef76b860ed50a6e2b59a4ffb19be5b2c82078 Mon Sep 17 00:00:00 2001 From: cfdev Date: Tue, 12 Nov 2013 18:43:59 +0000 Subject: [PATCH] Start work to add number for terminal git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2609 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/terminal.cpp | 18 +++++++++++------- sources/terminal.h | 16 +++++++++++++--- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/sources/terminal.cpp b/sources/terminal.cpp index e442b0675..4d7bad889 100644 --- a/sources/terminal.cpp +++ b/sources/terminal.cpp @@ -33,7 +33,7 @@ const qreal Terminal::terminalSize = 4.0; @param pf position du point d'amarrage pour un conducteur @param o orientation de la borne : Qt::Horizontal ou Qt::Vertical */ -void Terminal::init(QPointF pf, QET::Orientation o) { +void Terminal::init(QPointF pf, QET::Orientation o, QString number) { // definition du pount d'amarrage pour un conducteur dock_conductor_ = pf; @@ -50,7 +50,8 @@ void Terminal::init(QPointF pf, QET::Orientation o) { case QET::South: default : dock_elmt_ += QPointF(0, -Terminal::terminalSize); } - + // Number of terminal + number_terminal_ = number; // par defaut : pas de conducteur // QRectF null @@ -70,12 +71,12 @@ void Terminal::init(QPointF pf, QET::Orientation o) { @param e Element auquel cette borne appartient @param s Scene sur laquelle figure cette borne */ -Terminal::Terminal(QPointF pf, QET::Orientation o, Element *e, Diagram *s) : +Terminal::Terminal(QPointF pf, QET::Orientation o, QString num, Element *e, Diagram *s) : QGraphicsItem(e, s), parent_element_(e), hovered_color_(Terminal::neutralColor) { - init(pf, o); + init(pf, o, num); } /** @@ -86,12 +87,12 @@ Terminal::Terminal(QPointF pf, QET::Orientation o, Element *e, Diagram *s) : @param e Element auquel cette borne appartient @param s Scene sur laquelle figure cette borne */ -Terminal::Terminal(qreal pf_x, qreal pf_y, QET::Orientation o, Element *e, Diagram *s) : +Terminal::Terminal(qreal pf_x, qreal pf_y, QET::Orientation o, QString num, Element *e, Diagram *s) : QGraphicsItem(e, s), parent_element_(e), hovered_color_(Terminal::neutralColor) { - init(QPointF(pf_x, pf_y), o); + init(QPointF(pf_x, pf_y), o, num); } /** @@ -437,6 +438,7 @@ QDomElement Terminal::toXml(QDomDocument &doc) const { qdo.setAttribute("x", QString("%1").arg(dock_elmt_.x())); qdo.setAttribute("y", QString("%1").arg(dock_elmt_.y())); qdo.setAttribute("orientation", ori_); + qdo.setAttribute("number", number_terminal_); return(qdo); } @@ -453,6 +455,7 @@ bool Terminal::valideXml(QDomElement &terminal) { if (!terminal.hasAttribute("x")) return(false); if (!terminal.hasAttribute("y")) return(false); if (!terminal.hasAttribute("orientation")) return(false); + if (!terminal.hasAttribute("number")) return(false); bool conv_ok; // parse l'abscisse @@ -485,7 +488,8 @@ bool Terminal::fromXml(QDomElement &terminal) { return ( qFuzzyCompare(terminal.attribute("x").toDouble(), dock_elmt_.x()) && qFuzzyCompare(terminal.attribute("y").toDouble(), dock_elmt_.y()) && - terminal.attribute("orientation").toInt() == ori_ + terminal.attribute("orientation").toInt() == ori_ && + terminal.attribute("number").toInt() == number_terminal_ ); } diff --git a/sources/terminal.h b/sources/terminal.h index cb98b8527..aecb5fedc 100644 --- a/sources/terminal.h +++ b/sources/terminal.h @@ -31,8 +31,8 @@ class Terminal : public QGraphicsItem { // constructors, destructor public: - Terminal(QPointF, QET::Orientation, Element * = 0, Diagram * = 0); - Terminal(qreal, qreal, QET::Orientation, Element * = 0, Diagram * = 0); + Terminal(QPointF, QET::Orientation, QString number, Element * = 0, Diagram * = 0); + Terminal(qreal, qreal, QET::Orientation, QString number, Element * = 0, Diagram * = 0); virtual ~Terminal(); private: @@ -61,6 +61,7 @@ class Terminal : public QGraphicsItem { QList conductors() const; QET::Orientation orientation() const; QPointF dockConductor() const; + QString number() const; void updateConductor(); bool isLinkedTo(Terminal *); bool canBeLinkedTo(Terminal *); @@ -116,9 +117,11 @@ class Terminal : public QGraphicsItem { bool hovered_; /// Color used for the hover effect QColor hovered_color_; + /// Number of Terminal + QString number_terminal_; private: - void init(QPointF, QET::Orientation); + void init(QPointF, QET::Orientation, QString number); }; /** @@ -136,4 +139,11 @@ inline QPointF Terminal::dockConductor() const { return(mapToScene(dock_conductor_)); } +/** + @return the number of terminal. +*/ +inline QString Terminal::number() const { + return(number_terminal_); +} + #endif