#2803 Ensemble Cases Performance: Show case count in UI

This commit is contained in:
Magne Sjaastad
2018-05-04 07:18:25 +02:00
parent 1fe4f67a8e
commit a6b94f7e66
2 changed files with 32 additions and 10 deletions

View File

@@ -18,8 +18,8 @@
#include "RimSummaryCaseCollection.h"
#include "RimGridSummaryCase.h"
#include "RimEnsembleCurveSet.h"
#include "RimGridSummaryCase.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
@@ -36,6 +36,11 @@ RimSummaryCaseCollection::RimSummaryCaseCollection()
m_cases.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&m_name, "SummaryCollectionName", QString("Case Group"), "Name", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_nameAndItemCount, "NameCount", "Name", "", "", "");
m_nameAndItemCount.registerGetMethod(this, &RimSummaryCaseCollection::nameAndItemCount);
m_nameAndItemCount.uiCapability()->setUiReadOnly(true);
m_nameAndItemCount.xmlCapability()->setIOWritable(false);
}
//--------------------------------------------------------------------------------------------------
@@ -94,7 +99,7 @@ QString RimSummaryCaseCollection::name() const
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimSummaryCaseCollection::userDescriptionField()
{
return &m_name;
return &m_nameAndItemCount;
}
//--------------------------------------------------------------------------------------------------
@@ -112,3 +117,17 @@ void RimSummaryCaseCollection::updateReferringCurveSets() const
if (curveSet) curveSet->updateAllCurves();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimSummaryCaseCollection::nameAndItemCount() const
{
size_t itemCount = m_cases.size();
if (itemCount > 20)
{
return QString("%1 (%2)").arg(m_name()).arg(itemCount);
}
return m_name();
}

View File

@@ -21,6 +21,7 @@
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmProxyValueField.h"
#include <vector>
@@ -43,8 +44,10 @@ public:
private:
caf::PdmFieldHandle* userDescriptionField() override;
void updateReferringCurveSets() const;
QString nameAndItemCount() const;
private:
caf::PdmChildArrayField<RimSummaryCase*> m_cases;
caf::PdmField<QString> m_name;
caf::PdmProxyValueField<QString> m_nameAndItemCount;
};