Revert "Replace display.format with .form and .precision"

This reverts commit 4ffddfa2f6.
This commit is contained in:
Michael Davidsaver
2019-05-06 10:40:54 -07:00
parent 3ae2d09fe3
commit cd2436342d
6 changed files with 37 additions and 6 deletions

View File

@@ -29,6 +29,11 @@ bool PVDisplay::attach(PVFieldPtr const & pvField)
PVStructurePtr pvStructure = static_pointer_cast<PVStructure>(pvField);
pvDescription = pvStructure->getSubField<PVString>("description");
if(pvDescription.get()==NULL) return false;
pvFormat = pvStructure->getSubField<PVString>("format");
if(pvFormat.get()==NULL) {
detach();
return false;
}
pvUnits = pvStructure->getSubField<PVString>("units");
if(pvUnits.get()==NULL) {
detach();
@@ -50,6 +55,7 @@ bool PVDisplay::attach(PVFieldPtr const & pvField)
void PVDisplay::detach()
{
pvDescription.reset();
pvFormat.reset();
pvUnits.reset();
pvLow.reset();
pvHigh.reset();
@@ -66,6 +72,7 @@ void PVDisplay::get(Display & display) const
throw std::logic_error(notAttached);
}
display.setDescription(pvDescription->get());
display.setFormat(pvFormat->get());
display.setUnits(pvUnits->get());
display.setLow(pvLow->get());
display.setHigh(pvHigh->get());
@@ -76,7 +83,7 @@ bool PVDisplay::set(Display const & display)
if(pvDescription.get()==NULL) {
throw std::logic_error(notAttached);
}
if(pvDescription->isImmutable()) return false;
if(pvDescription->isImmutable() || pvFormat->isImmutable()) return false;
if(pvUnits->isImmutable() || pvLow->isImmutable() || pvHigh->isImmutable())
{
return false;
@@ -89,6 +96,11 @@ bool PVDisplay::set(Display const & display)
pvDescription->put(display.getDescription());
returnValue = true;
}
if(current.getFormat()!=display.getFormat())
{
pvFormat->put(display.getFormat());
returnValue = true;
}
if(current.getUnits()!=display.getUnits())
{
pvUnits->put(display.getUnits());