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
|
||||
qp -> drawPath(path());
|
||||
if (isSingleLine()) {
|
||||
if (isSelected()) qp -> setBrush(Qt::red);
|
||||
singleLineProperties.draw(
|
||||
qp,
|
||||
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
|
||||
@@ -1089,7 +1091,7 @@ void SingleLineProperties::draw(QPainter *painter, QET::ConductorSegmentType dir
|
||||
if (hasGround && i == 1) {
|
||||
drawGround(painter, direction, symbol_p2, symbol_width * 2.0);
|
||||
} 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 {
|
||||
@@ -1155,7 +1157,8 @@ void SingleLineProperties::drawNeutral(QPainter *painter, QET::ConductorSegmentT
|
||||
painter -> save();
|
||||
|
||||
// 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
|
||||
painter -> drawEllipse(
|
||||
|
||||
@@ -101,6 +101,7 @@ void ConductorPropertiesWidget::updateSingleLineDisplay() {
|
||||
ground_checkbox -> setChecked(slp.hasGround);
|
||||
neutral_checkbox -> setChecked(slp.hasNeutral);
|
||||
phase_spinbox -> setValue(slp.phasesCount());
|
||||
phase_slider -> setValue(slp.phasesCount());
|
||||
phase_checkbox -> setChecked(slp.phasesCount());
|
||||
buildConnections();
|
||||
updatePreview();
|
||||
|
||||
@@ -407,6 +407,23 @@ bool DiagramView::saveAs() {
|
||||
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
|
||||
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); }
|
||||
bool hasSelectedItems();
|
||||
|
||||
protected:
|
||||
virtual void wheelEvent(QWheelEvent *);
|
||||
|
||||
private:
|
||||
bool saveDiagramToFile(QString &);
|
||||
void mousePressEvent(QMouseEvent *);
|
||||
|
||||
@@ -188,7 +188,7 @@ void Terminal::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidget *) {
|
||||
p -> setBrush(couleur_hovered);
|
||||
if (hovered) {
|
||||
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);
|
||||
|
||||
p -> restore();
|
||||
|
||||
Reference in New Issue
Block a user