#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,11 +99,11 @@ QString RimSummaryCaseCollection::name() const
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimSummaryCaseCollection::userDescriptionField()
{
return &m_name;
return &m_nameAndItemCount;
}
//--------------------------------------------------------------------------------------------------
///
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCaseCollection::updateReferringCurveSets() const
{
@@ -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>
@@ -34,17 +35,19 @@ public:
RimSummaryCaseCollection();
virtual ~RimSummaryCaseCollection();
void removeCase(RimSummaryCase* summaryCase);
void addCase(RimSummaryCase* summaryCase);
std::vector<RimSummaryCase*> allSummaryCases();
void setName(const QString& name);
QString name() const;
void removeCase(RimSummaryCase* summaryCase);
void addCase(RimSummaryCase* summaryCase);
std::vector<RimSummaryCase*> allSummaryCases();
void setName(const QString& name);
QString name() const;
private:
caf::PdmFieldHandle* userDescriptionField() override;
void updateReferringCurveSets() const;
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;
};