mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 08:10:52 +01:00
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
This commit is contained in:
@@ -33,7 +33,7 @@ const qreal Terminal::terminalSize = 4.0;
|
|||||||
@param pf position du point d'amarrage pour un conducteur
|
@param pf position du point d'amarrage pour un conducteur
|
||||||
@param o orientation de la borne : Qt::Horizontal ou Qt::Vertical
|
@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
|
// definition du pount d'amarrage pour un conducteur
|
||||||
dock_conductor_ = pf;
|
dock_conductor_ = pf;
|
||||||
|
|
||||||
@@ -50,7 +50,8 @@ void Terminal::init(QPointF pf, QET::Orientation o) {
|
|||||||
case QET::South:
|
case QET::South:
|
||||||
default : dock_elmt_ += QPointF(0, -Terminal::terminalSize);
|
default : dock_elmt_ += QPointF(0, -Terminal::terminalSize);
|
||||||
}
|
}
|
||||||
|
// Number of terminal
|
||||||
|
number_terminal_ = number;
|
||||||
// par defaut : pas de conducteur
|
// par defaut : pas de conducteur
|
||||||
|
|
||||||
// QRectF null
|
// QRectF null
|
||||||
@@ -70,12 +71,12 @@ void Terminal::init(QPointF pf, QET::Orientation o) {
|
|||||||
@param e Element auquel cette borne appartient
|
@param e Element auquel cette borne appartient
|
||||||
@param s Scene sur laquelle figure cette borne
|
@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),
|
QGraphicsItem(e, s),
|
||||||
parent_element_(e),
|
parent_element_(e),
|
||||||
hovered_color_(Terminal::neutralColor)
|
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 e Element auquel cette borne appartient
|
||||||
@param s Scene sur laquelle figure cette borne
|
@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),
|
QGraphicsItem(e, s),
|
||||||
parent_element_(e),
|
parent_element_(e),
|
||||||
hovered_color_(Terminal::neutralColor)
|
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("x", QString("%1").arg(dock_elmt_.x()));
|
||||||
qdo.setAttribute("y", QString("%1").arg(dock_elmt_.y()));
|
qdo.setAttribute("y", QString("%1").arg(dock_elmt_.y()));
|
||||||
qdo.setAttribute("orientation", ori_);
|
qdo.setAttribute("orientation", ori_);
|
||||||
|
qdo.setAttribute("number", number_terminal_);
|
||||||
return(qdo);
|
return(qdo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -453,6 +455,7 @@ bool Terminal::valideXml(QDomElement &terminal) {
|
|||||||
if (!terminal.hasAttribute("x")) return(false);
|
if (!terminal.hasAttribute("x")) return(false);
|
||||||
if (!terminal.hasAttribute("y")) return(false);
|
if (!terminal.hasAttribute("y")) return(false);
|
||||||
if (!terminal.hasAttribute("orientation")) return(false);
|
if (!terminal.hasAttribute("orientation")) return(false);
|
||||||
|
if (!terminal.hasAttribute("number")) return(false);
|
||||||
|
|
||||||
bool conv_ok;
|
bool conv_ok;
|
||||||
// parse l'abscisse
|
// parse l'abscisse
|
||||||
@@ -485,7 +488,8 @@ bool Terminal::fromXml(QDomElement &terminal) {
|
|||||||
return (
|
return (
|
||||||
qFuzzyCompare(terminal.attribute("x").toDouble(), dock_elmt_.x()) &&
|
qFuzzyCompare(terminal.attribute("x").toDouble(), dock_elmt_.x()) &&
|
||||||
qFuzzyCompare(terminal.attribute("y").toDouble(), dock_elmt_.y()) &&
|
qFuzzyCompare(terminal.attribute("y").toDouble(), dock_elmt_.y()) &&
|
||||||
terminal.attribute("orientation").toInt() == ori_
|
terminal.attribute("orientation").toInt() == ori_ &&
|
||||||
|
terminal.attribute("number").toInt() == number_terminal_
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ class Terminal : public QGraphicsItem {
|
|||||||
|
|
||||||
// constructors, destructor
|
// constructors, destructor
|
||||||
public:
|
public:
|
||||||
Terminal(QPointF, QET::Orientation, Element * = 0, Diagram * = 0);
|
Terminal(QPointF, QET::Orientation, QString number, Element * = 0, Diagram * = 0);
|
||||||
Terminal(qreal, qreal, QET::Orientation, Element * = 0, Diagram * = 0);
|
Terminal(qreal, qreal, QET::Orientation, QString number, Element * = 0, Diagram * = 0);
|
||||||
virtual ~Terminal();
|
virtual ~Terminal();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -61,6 +61,7 @@ class Terminal : public QGraphicsItem {
|
|||||||
QList<Conductor *> conductors() const;
|
QList<Conductor *> conductors() const;
|
||||||
QET::Orientation orientation() const;
|
QET::Orientation orientation() const;
|
||||||
QPointF dockConductor() const;
|
QPointF dockConductor() const;
|
||||||
|
QString number() const;
|
||||||
void updateConductor();
|
void updateConductor();
|
||||||
bool isLinkedTo(Terminal *);
|
bool isLinkedTo(Terminal *);
|
||||||
bool canBeLinkedTo(Terminal *);
|
bool canBeLinkedTo(Terminal *);
|
||||||
@@ -116,9 +117,11 @@ class Terminal : public QGraphicsItem {
|
|||||||
bool hovered_;
|
bool hovered_;
|
||||||
/// Color used for the hover effect
|
/// Color used for the hover effect
|
||||||
QColor hovered_color_;
|
QColor hovered_color_;
|
||||||
|
/// Number of Terminal
|
||||||
|
QString number_terminal_;
|
||||||
|
|
||||||
private:
|
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(mapToScene(dock_conductor_));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return the number of terminal.
|
||||||
|
*/
|
||||||
|
inline QString Terminal::number() const {
|
||||||
|
return(number_terminal_);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user