添加状态颜色
This commit is contained in:
@@ -138,19 +138,40 @@ void StateWidget::setValue(QString s)
|
||||
|
||||
bool flag = false;
|
||||
double value = s.toDouble(&flag);
|
||||
if(flag)
|
||||
if(flag)//number
|
||||
{
|
||||
for (QMap<double,state>::iterator i = stateMap.begin(); i != stateMap.end(); ++i) {
|
||||
double last = min;
|
||||
|
||||
if(value <= i.key())
|
||||
for (QMap<QVariant,state>::iterator i = stateMap.begin(); i != stateMap.end(); ++i) {
|
||||
|
||||
|
||||
if((value >= last) &&(value < i.key().toDouble()))
|
||||
{
|
||||
setColor(i.value());
|
||||
break;
|
||||
}
|
||||
else if(i == stateMap.end())
|
||||
|
||||
last = i.key().toDouble();
|
||||
|
||||
if(i == stateMap.end())//overflow is red
|
||||
{
|
||||
setColor(i.value());
|
||||
if((value >= last) &&(value < max))
|
||||
{
|
||||
setColor(state::red);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else //not a number
|
||||
{
|
||||
if(stateMap.keys().contains(s))
|
||||
{
|
||||
setColor(stateMap.value(s));
|
||||
}
|
||||
else
|
||||
{
|
||||
setColor(state::gray);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -166,7 +187,10 @@ void StateWidget::setRange(double m_min,double m_max)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void StateWidget::setStats(QMap<QVariant, state> l)
|
||||
{
|
||||
stateMap = l;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user