mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-19 14:50:53 +01:00
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:
@@ -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(
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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 *);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user