Ref T261, setup support for isNull

This commit is contained in:
Klaus Basan
2018-04-27 03:25:44 +02:00
committed by Roland Winklmeier
parent 46f509c367
commit 9c7134ff56
3 changed files with 14 additions and 1 deletions

View File

@@ -322,5 +322,11 @@ namespace BlackMisc
}
CInterpolationAndRenderingSetupBase::setPropertyByIndex(index, variant);
}
const CInterpolationAndRenderingSetupPerCallsign &CInterpolationAndRenderingSetupPerCallsign::null()
{
static const CInterpolationAndRenderingSetupPerCallsign null;
return null;
}
} // ns
} // ns

View File

@@ -219,12 +219,18 @@ namespace BlackMisc
//! Set callsign
void setCallsign(const Aviation::CCallsign &callsign) { m_callsign = callsign; }
//! NULL?
bool isNull() const { return m_callsign.isEmpty(); }
//! \copydoc BlackMisc::Mixin::Index::propertyByIndex
CVariant propertyByIndex(const CPropertyIndex &index) const;
//! \copydoc BlackMisc::Mixin::Index::setPropertyByIndex
void setPropertyByIndex(const CPropertyIndex &index, const CVariant &variant);
//! NULL object
static const CInterpolationAndRenderingSetupPerCallsign &null();
private:
Aviation::CCallsign m_callsign;

View File

@@ -18,7 +18,8 @@ namespace BlackMisc
CInterpolationAndRenderingSetupPerCallsign IInterpolationSetupProvider::getInterpolationSetupPerCallsignOrDefault(const CCallsign &callsign) const
{
QReadLocker l(&m_lockSetup);
return m_setups.contains(callsign) ? m_setups.value(callsign) : CInterpolationAndRenderingSetupPerCallsign(callsign, m_globalSetup);
if (!m_setups.contains(callsign)) { return CInterpolationAndRenderingSetupPerCallsign(callsign, m_globalSetup); }
return m_setups.value(callsign);
}
CInterpolationSetupList IInterpolationSetupProvider::getInterpolationSetupsPerCallsign() const