diff --git a/core/src/abstractgaugeitem.cpp b/core/src/abstractgaugeitem.cpp index 2458276..1c6d60b 100644 --- a/core/src/abstractgaugeitem.cpp +++ b/core/src/abstractgaugeitem.cpp @@ -35,6 +35,10 @@ AbstractGaugeItem::AbstractGaugeItem(QDeclarativeItem *parent) : m_low = 0; m_high = 0; m_decimal = 0; + m_lowDangerSet = false; + m_lowWarningSet = false; + m_highDangerSet = false; + m_highWarningSet = false; } double AbstractGaugeItem::getLow() { @@ -59,6 +63,7 @@ double AbstractGaugeItem::getLowWarning() { void AbstractGaugeItem::setLowWarning(double lowWarning) { m_lowWarning = lowWarning; + m_lowWarningSet = true; } double AbstractGaugeItem::getLowDanger() { @@ -67,6 +72,8 @@ double AbstractGaugeItem::getLowDanger() { void AbstractGaugeItem::setLowDanger(double lowDanger) { m_lowDanger = lowDanger; + m_lowDangerSet = true; + } double AbstractGaugeItem::getHighWarning() { @@ -75,6 +82,7 @@ double AbstractGaugeItem::getHighWarning() { void AbstractGaugeItem::setHighWarning(double highWarning) { m_highWarning = highWarning; + m_highWarningSet = true; } double AbstractGaugeItem::getHighDanger() { @@ -83,6 +91,7 @@ double AbstractGaugeItem::getHighDanger() { void AbstractGaugeItem::setHighDanger(double highDanger) { m_highDanger = highDanger; + m_highDangerSet = true; } QString AbstractGaugeItem::getTitle() { diff --git a/core/src/bargaugeitem.cpp b/core/src/bargaugeitem.cpp index 238315e..149719b 100644 --- a/core/src/bargaugeitem.cpp +++ b/core/src/bargaugeitem.cpp @@ -71,13 +71,13 @@ void BarGaugeItem::drawBackground() { m_penBar.setColor(colorDanger); painter.setPen(m_penBar); - if (m_lowDanger) { + if (m_lowDangerSet) { lengthLowDanger = ((m_lowDanger - m_low) / m_range) * m_barSize; painter.drawLine(m_padding, locationY, lengthLowDanger + m_padding - m_gap, locationY); barNormalStart += lengthLowDanger; } - if (m_highDanger) { + if (m_highDangerSet) { lengthHighDanger = ((m_high - m_highDanger) / m_range) * m_barSize; painter.drawLine(m_padding + m_barSize - lengthHighDanger + m_gap, locationY, m_padding + m_barSize, locationY); barNormalEnd -= lengthHighDanger; @@ -87,13 +87,13 @@ void BarGaugeItem::drawBackground() { m_penBar.setColor(colorWarning); painter.setPen(m_penBar); - if (m_lowWarning) { + if (m_lowWarningSet) { int lengthLowWarning = ((m_lowWarning - m_low) / m_range) * m_barSize; painter.drawLine(m_padding + lengthLowDanger, locationY, lengthLowWarning + m_padding - m_gap, locationY); barNormalStart += (lengthLowWarning - lengthLowDanger); } - if (m_highWarning) { + if (m_highWarningSet) { int lengthHighWarning = ((m_high - m_highWarning) / m_range) * m_barSize; painter.drawLine(m_padding + m_barSize - lengthHighWarning + m_gap, locationY, m_padding + m_barSize - lengthHighDanger, locationY); barNormalEnd -= (lengthHighWarning - lengthHighDanger); diff --git a/core/src/roundgaugeitem.cpp b/core/src/roundgaugeitem.cpp index f5e61ab..3d0d652 100644 --- a/core/src/roundgaugeitem.cpp +++ b/core/src/roundgaugeitem.cpp @@ -74,13 +74,13 @@ void RoundGaugeItem::drawBackground() { m_penArc.setColor(colorDanger); painter.setPen(m_penArc); - if (m_lowDanger) { + if (m_lowDangerSet) { degreesLowDanger = (int ((m_lowDanger - m_low) * arcSize / m_range)); painter.drawArc(m_locationXY, m_locationXY, m_sizeXY, m_sizeXY, (arcSize - degreesLowDanger + m_gap), (degreesLowDanger - m_gap)); degreesNormalSize -= degreesLowDanger; } - if (m_highDanger) { + if (m_highDangerSet) { degreesHighDanger = (int ((m_high - m_highDanger - m_low) * arcSize / m_range)); painter.drawArc(m_locationXY, m_locationXY, m_sizeXY, m_sizeXY, 0, degreesHighDanger - m_gap); degreesNormalSize -= degreesHighDanger; @@ -91,13 +91,13 @@ void RoundGaugeItem::drawBackground() { m_penArc.setColor(colorWarning); painter.setPen(m_penArc); - if (m_lowWarning) { + if (m_lowWarningSet) { int degreesLowWarning = (int ((m_lowWarning - m_low) * arcSize / m_range)); painter.drawArc(m_locationXY, m_locationXY, m_sizeXY, m_sizeXY, (arcSize - degreesLowWarning + m_gap), (degreesLowWarning - degreesLowDanger - m_gap)); degreesNormalSize -= (degreesLowWarning - degreesLowDanger); } - if (m_highWarning) { + if (m_highWarningSet) { int degreesHighWarning = (int ((m_high - m_highWarning - m_low) * arcSize / m_range)); painter.drawArc(m_locationXY, m_locationXY, m_sizeXY, m_sizeXY, degreesHighDanger, (degreesHighWarning - degreesHighDanger - m_gap)); degreesNormalSize -= (degreesHighWarning - degreesHighDanger);