mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 12:40:35 +01:00
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@1 bfdf4180-ca20-0410-9c96-a3a8aa849046
57 lines
1.4 KiB
C++
57 lines
1.4 KiB
C++
#include "contacteur.h"
|
|
|
|
/**
|
|
Constructeur
|
|
@param parent Le QObject parent de l'element.
|
|
@param scene La scene sur laquelle l'element est affiche
|
|
*/
|
|
Contacteur::Contacteur(QGraphicsItem *parent, Schema *scene) : ElementFixe(parent, scene) {
|
|
// taille et hotspot
|
|
setSize(15, 70);
|
|
setHotspot(QPoint(10, 5));
|
|
|
|
// ajout de deux bornes a l'element
|
|
new Borne(0, 0, Borne::Nord, this, scene);
|
|
new Borne(0, 60, Borne::Sud, this, scene);
|
|
}
|
|
|
|
/**
|
|
@return Le nombre actuel de bornes de l'element
|
|
*/
|
|
int Contacteur::nbBornes() const {
|
|
return(2);
|
|
}
|
|
|
|
/**
|
|
Fonction qui effectue le rendu graphique du contacteur
|
|
@param p Le QPainter a utiliser pour dessiner l'element
|
|
@param o Les options de dessin
|
|
*/
|
|
void Contacteur::paint(QPainter *p, const QStyleOptionGraphicsItem *) {
|
|
// traits de couleur noire
|
|
QPen t;
|
|
t.setColor(Qt::black);
|
|
t.setWidthF(1.0);
|
|
t.setJoinStyle(Qt::MiterJoin);
|
|
p -> setPen(t);
|
|
|
|
// une ligne eventuellement antialiasee
|
|
p -> drawLine(-5, 19, 0, 40);
|
|
|
|
// deux lignes JAMAIS antialiasees (annulation des renderhints)
|
|
p -> save();
|
|
p -> setRenderHint(QPainter::Antialiasing, false);
|
|
p -> setRenderHint(QPainter::TextAntialiasing, false);
|
|
p -> setRenderHint(QPainter::SmoothPixmapTransform, false);
|
|
p -> drawLine(0, 0, 0, 20);
|
|
p -> drawLine(0, 40, 0, 60);
|
|
p -> restore();
|
|
}
|
|
|
|
/**
|
|
@return l'ID du type "Contacteur"
|
|
*/
|
|
QString Contacteur::typeId() {
|
|
return(QString("0"));
|
|
}
|