mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Start of calculation status/unlocking of Statistics results
p4#: 21143
This commit is contained in:
parent
700f18391b
commit
d07783ebaa
@ -27,6 +27,8 @@
|
||||
#include "RimStatisticsCaseEvaluator.h"
|
||||
#include "RigMainGrid.h"
|
||||
#include "cafPdmUiTextEditor.h"
|
||||
#include "cafPdmUiLineEditor.h"
|
||||
#include "cafPdmUiPushButtonEditor.h"
|
||||
|
||||
namespace caf {
|
||||
template<>
|
||||
@ -39,6 +41,17 @@ namespace caf {
|
||||
}
|
||||
|
||||
|
||||
namespace caf {
|
||||
template<>
|
||||
void caf::AppEnum<RimStatisticsCase::CalculationStatus>::setUp()
|
||||
{
|
||||
addItem(RimStatisticsCase::CALCULATED, "CALCULATED", "OK");
|
||||
addItem(RimStatisticsCase::NOT_CALCULATED, "NOT_CALCULATED", "Needs Calculation");
|
||||
setDefault(RimStatisticsCase::NOT_CALCULATED);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimStatisticsCase, "RimStatisticalCalculation");
|
||||
|
||||
@ -50,6 +63,18 @@ RimStatisticsCase::RimStatisticsCase()
|
||||
{
|
||||
CAF_PDM_InitObject("Case Group Statistics", ":/Histogram16x16.png", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_calculationStatus, "CalcStatus", "Status", "", "", "");
|
||||
m_calculationStatus.setIOWritable(false);
|
||||
m_calculationStatus.setIOReadable(false);
|
||||
m_calculationStatus.setUiReadOnly(true);
|
||||
m_calculationStatus.setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName());
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_editingAllowed, "m_editingAllowed", "Editing Locked", "", "", "");
|
||||
m_editingAllowed.setIOWritable(false);
|
||||
m_editingAllowed.setIOReadable(false);
|
||||
m_editingAllowed.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||
m_editingAllowed = "UNLOCK";
|
||||
|
||||
CAF_PDM_InitField(&m_selectionSummary, "SelectionSummary", QString(""), "Selected Properties", "", "", "");
|
||||
m_selectionSummary.setIOWritable(false);
|
||||
m_selectionSummary.setIOReadable(false);
|
||||
@ -255,6 +280,9 @@ void RimStatisticsCase::computeStatistics()
|
||||
reservoirView->createDisplayModelAndRedraw();
|
||||
}
|
||||
|
||||
m_calculationStatus = CALCULATED;
|
||||
m_calculationStatus.updateConnectedEditors();
|
||||
m_editingAllowed = "UNLOCK";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -298,6 +326,8 @@ RimIdenticalGridCaseGroup* RimStatisticsCase::caseGroup()
|
||||
void RimStatisticsCase::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const
|
||||
{
|
||||
uiOrdering.add(&caseName);
|
||||
uiOrdering.add(&m_calculationStatus);
|
||||
uiOrdering.add(&m_editingAllowed);
|
||||
|
||||
caf::PdmUiGroup * group = uiOrdering.addNewGroup("Property Selection");
|
||||
group->add(&m_selectionSummary);
|
||||
@ -401,6 +431,13 @@ void RimStatisticsCase::fieldChangedByUi(const caf::PdmFieldHandle* changedField
|
||||
updateSelectionListVisibilities();
|
||||
}
|
||||
|
||||
if (&m_editingAllowed == changedField)
|
||||
{
|
||||
clearComputedStatistics();
|
||||
m_calculationStatus = NOT_CALCULATED;
|
||||
m_editingAllowed.setUiHidden(true);
|
||||
}
|
||||
|
||||
updateSelectionSummaryLabel();
|
||||
updatePercentileUiVisibility();
|
||||
}
|
||||
@ -496,3 +533,29 @@ void RimStatisticsCase::updatePercentileUiVisibility()
|
||||
m_midPercentile .setUiHidden( !m_calculatePercentiles());
|
||||
m_highPercentile.setUiHidden( !m_calculatePercentiles());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimStatisticsCase::hasComputedStatistics()
|
||||
{
|
||||
if ( reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->resultCount()
|
||||
|| reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimStatisticsCase::clearComputedStatistics()
|
||||
{
|
||||
reservoirData()->results(RifReaderInterface::MATRIX_RESULTS)->clearAllResults();
|
||||
reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->clearAllResults();
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,9 @@ public:
|
||||
void setMainGrid(RigMainGrid* mainGrid);
|
||||
|
||||
void computeStatistics();
|
||||
bool hasComputedStatistics();
|
||||
void clearComputedStatistics();
|
||||
|
||||
virtual bool openEclipseGridFile();
|
||||
|
||||
RimCaseCollection* parentStatisticsCaseCollection();
|
||||
@ -57,6 +60,12 @@ public:
|
||||
HISTOGRAM_ESTIMATED
|
||||
};
|
||||
|
||||
enum CalculationStatus
|
||||
{
|
||||
CALCULATED,
|
||||
NOT_CALCULATED
|
||||
};
|
||||
|
||||
private:
|
||||
RimIdenticalGridCaseGroup* caseGroup();
|
||||
|
||||
@ -74,6 +83,9 @@ private:
|
||||
virtual void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute );
|
||||
|
||||
// Fields
|
||||
caf::PdmField< caf::AppEnum< CalculationStatus > > m_calculationStatus;
|
||||
caf::PdmField< QString > m_editingAllowed;
|
||||
|
||||
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > m_resultType;
|
||||
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModel;
|
||||
|
||||
|
@ -55,14 +55,36 @@ void PdmUiPushButtonEditor::configureAndUpdateUi(const QString& uiConfigName)
|
||||
m_label->setText(field()->uiName(uiConfigName));
|
||||
}
|
||||
|
||||
m_label->setEnabled(!field()->isUiReadOnly(uiConfigName));
|
||||
|
||||
//m_checkBox->setEnabled(!field()->isUiReadOnly(uiConfigName));
|
||||
//m_label->setEnabled(!field()->isUiReadOnly(uiConfigName));
|
||||
m_pushButton->setEnabled(!field()->isUiReadOnly(uiConfigName));
|
||||
|
||||
PdmUiPushButtonEditorAttribute attributes;
|
||||
field()->ownerObject()->editorAttribute(field(), uiConfigName, &attributes);
|
||||
|
||||
//m_checkBox->setChecked(field()->uiValue().toBool());
|
||||
QVariant variantFieldValue = field()->uiValue();
|
||||
|
||||
if (!attributes.m_buttonIcon.isNull())
|
||||
{
|
||||
m_pushButton->setIcon(attributes.m_buttonIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (variantFieldValue.type() == QVariant::Bool)
|
||||
{
|
||||
m_pushButton->setText(variantFieldValue.toBool() ? "On" : "Off" );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pushButton->setText(variantFieldValue.toString());
|
||||
}
|
||||
}
|
||||
|
||||
if (variantFieldValue.type() == QVariant::Bool)
|
||||
{
|
||||
m_pushButton->setChecked(field()->uiValue().toBool());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -71,7 +93,7 @@ void PdmUiPushButtonEditor::configureAndUpdateUi(const QString& uiConfigName)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QWidget* PdmUiPushButtonEditor::createEditorWidget(QWidget * parent)
|
||||
{
|
||||
m_pushButton = new QPushButton("Ok", parent);
|
||||
m_pushButton = new QPushButton("", parent);
|
||||
connect(m_pushButton, SIGNAL(clicked(bool)), this, SLOT(slotClicked(bool)));
|
||||
return m_pushButton;
|
||||
}
|
||||
@ -90,9 +112,18 @@ QWidget* PdmUiPushButtonEditor::createLabelWidget(QWidget * parent)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiPushButtonEditor::slotClicked(bool checked)
|
||||
{
|
||||
QVariant v;
|
||||
v = checked;
|
||||
this->setValueToField(v);
|
||||
|
||||
if (dynamic_cast<PdmField<bool> *> (field()))
|
||||
{
|
||||
QVariant v;
|
||||
v = checked;
|
||||
this->setValueToField(v);
|
||||
}
|
||||
else
|
||||
{
|
||||
QVariant v = m_pushButton->text();
|
||||
this->setValueToField(v);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -34,7 +34,8 @@ namespace caf
|
||||
|
||||
class PdmUiPushButtonEditorAttribute : public PdmUiEditorAttribute
|
||||
{
|
||||
|
||||
public:
|
||||
QIcon m_buttonIcon;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user