Amelioration du rendu des symboles sur les conducteurs unifilaires.

Amelioration mineure du rendu de l'effet hover sur les bornes.
Ctrl + Rollette permet desormais de zoomer / dezoomer sur le schema.
Correction d'un bug dans l'editeur de proprietes des conducteurs.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@156 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-10-04 14:30:52 +00:00
parent 8138b5b86c
commit 6fe35cfde8
5 changed files with 28 additions and 4 deletions

View File

@@ -417,11 +417,13 @@ void Conductor::paint(QPainter *qp, const QStyleOptionGraphicsItem */*qsogi*/, Q
// dessin du conducteur // dessin du conducteur
qp -> drawPath(path()); qp -> drawPath(path());
if (isSingleLine()) { if (isSingleLine()) {
if (isSelected()) qp -> setBrush(Qt::red);
singleLineProperties.draw( singleLineProperties.draw(
qp, qp,
middleSegment() -> isHorizontal() ? QET::Horizontal : QET::Vertical, middleSegment() -> isHorizontal() ? QET::Horizontal : QET::Vertical,
QRectF(middleSegment() -> middle() - QPointF(7.5, 7.5), QSizeF(15.0, 15.0)) QRectF(middleSegment() -> middle() - QPointF(10.0, 7.5), QSizeF(20.0, 15.0))
); );
if (isSelected()) qp -> setBrush(Qt::NoBrush);
} }
// dessin des points d'accroche du conducteur si celui-ci est selectionne // dessin des points d'accroche du conducteur si celui-ci est selectionne
@@ -1089,7 +1091,7 @@ void SingleLineProperties::draw(QPainter *painter, QET::ConductorSegmentType dir
if (hasGround && i == 1) { if (hasGround && i == 1) {
drawGround(painter, direction, symbol_p2, symbol_width * 2.0); drawGround(painter, direction, symbol_p2, symbol_width * 2.0);
} else if (hasNeutral && ((i == 1 && !hasGround) || (i == 2 && hasGround))) { } else if (hasNeutral && ((i == 1 && !hasGround) || (i == 2 && hasGround))) {
drawNeutral(painter, direction, symbol_p2, symbol_width * 1.5); drawNeutral(painter, direction, symbol_p2, symbol_width * 1.35);
} }
} }
} else { } else {
@@ -1155,7 +1157,8 @@ void SingleLineProperties::drawNeutral(QPainter *painter, QET::ConductorSegmentT
painter -> save(); painter -> save();
// prepare le QPainter // prepare le QPainter
painter -> setBrush(Qt::black); if (painter -> brush() == Qt::NoBrush) painter -> setBrush(Qt::black);
painter -> setPen(Qt::NoPen);
// desine le cercle representant le neutre // desine le cercle representant le neutre
painter -> drawEllipse( painter -> drawEllipse(

View File

@@ -101,6 +101,7 @@ void ConductorPropertiesWidget::updateSingleLineDisplay() {
ground_checkbox -> setChecked(slp.hasGround); ground_checkbox -> setChecked(slp.hasGround);
neutral_checkbox -> setChecked(slp.hasNeutral); neutral_checkbox -> setChecked(slp.hasNeutral);
phase_spinbox -> setValue(slp.phasesCount()); phase_spinbox -> setValue(slp.phasesCount());
phase_slider -> setValue(slp.phasesCount());
phase_checkbox -> setChecked(slp.phasesCount()); phase_checkbox -> setChecked(slp.phasesCount());
buildConnections(); buildConnections();
updatePreview(); updatePreview();

View File

@@ -407,6 +407,23 @@ bool DiagramView::saveAs() {
return(resultat_enregistrement); return(resultat_enregistrement);
} }
/**
Gere les actions liees a la rollette de la souris
@param e QWheelEvent decrivant l'evenement rollette
*/
void DiagramView::wheelEvent(QWheelEvent *e) {
// si la touche Ctrl est enfoncee, on zoome / dezoome
if (e -> modifiers() & Qt::ControlModifier) {
if (e -> delta() > 0) {
zoomIn();
} else {
zoomOut();
}
} else {
QAbstractScrollArea::wheelEvent(e);
}
}
/** /**
Methode privee gerant l'enregistrement du fichier XML. S'il n'est pas possible Methode privee gerant l'enregistrement du fichier XML. S'il n'est pas possible
d'ecrire dans le fichier, cette fonction affiche un message d'erreur et renvoie false. d'ecrire dans le fichier, cette fonction affiche un message d'erreur et renvoie false.

View File

@@ -39,6 +39,9 @@ class DiagramView : public QGraphicsView {
Diagram *diagram() { return(scene); } Diagram *diagram() { return(scene); }
bool hasSelectedItems(); bool hasSelectedItems();
protected:
virtual void wheelEvent(QWheelEvent *);
private: private:
bool saveDiagramToFile(QString &); bool saveDiagramToFile(QString &);
void mousePressEvent(QMouseEvent *); void mousePressEvent(QMouseEvent *);

View File

@@ -188,7 +188,7 @@ void Terminal::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidget *) {
p -> setBrush(couleur_hovered); p -> setBrush(couleur_hovered);
if (hovered) { if (hovered) {
p -> setRenderHint(QPainter::Antialiasing, true); p -> setRenderHint(QPainter::Antialiasing, true);
p -> drawEllipse(((int)f.x())-2, ((int)f.y())-2, 5, 5); p -> drawEllipse(QRectF(f.x() - 2.5, f.y() - 2.5, 5.0, 5.0));
} else p -> drawPoint(f); } else p -> drawPoint(f);
p -> restore(); p -> restore();