mirror of
				https://github.com/OPM/ResInsight.git
				synced 2025-02-25 18:55:39 -06:00 
			
		
		
		
	Major modularization adjustments
Use uiField() when issuing setUi....() commands Use PdmChildArrayField instead of PdmPointersFielc Use PdmChildField instead of PdmField to pdm pointer objects Use PdmChildArrayField instead of PdmField< std::list< caf::PdmPointer< type > > > Use PdmObjectHandle instead of PdmObject Replaced parentFields(std::vector) with parentField() Use PdmUiPropertyViewDialog instead of PdmUiPropertyDialog
This commit is contained in:
		@@ -51,7 +51,7 @@ Rim3dOverlayInfoConfig::Rim3dOverlayInfoConfig()
 | 
			
		||||
    CAF_PDM_InitObject("Overlay 3D info", ":/InfoBox16x16.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&active,              "Active",               true,   "Active",   "", "", "");
 | 
			
		||||
    active.setUiHidden(true);
 | 
			
		||||
    active.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showInfoText,        "ShowInfoText",         true,   "Info Text",   "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&showAnimProgress,    "ShowAnimProgress",     true,   "Animation progress",   "", "", "");
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ RimBinaryExportSettings::RimBinaryExportSettings()
 | 
			
		||||
    CAF_PDM_InitObject("RimBinaryExportSettings", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&fileName, "Filename", "Export filename", "", "", "");
 | 
			
		||||
    fileName.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
    fileName.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&eclipseKeyword, "EclipseKeyword", "Eclipse Keyword", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&undefinedValue, "UndefinedValue", 0.0, "Undefined value", "", "", "");
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -34,10 +34,10 @@ RimCalcScript::RimCalcScript()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&absolutePath, "AbsolutePath", QString(), "Location", "", "" ,"");
 | 
			
		||||
    CAF_PDM_InitField(&content, "Content", QString(), "Directory", "", "" ,"");
 | 
			
		||||
    content.setUiHidden(true);
 | 
			
		||||
    content.setIOWritable(false);
 | 
			
		||||
    content.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    content.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
 | 
			
		||||
    absolutePath.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
    absolutePath.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ RimCase::RimCase()
 | 
			
		||||
    CAF_PDM_InitField(&caseUserDescription, "CaseUserDescription",  QString(), "Case name", "", "" ,"");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&caseId, "CaseId", -1, "Case ID", "", "" ,"");
 | 
			
		||||
    caseId.setUiReadOnly(true);
 | 
			
		||||
    caseId.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -49,6 +49,8 @@ RimCaseCollection::~RimCaseCollection()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
RimIdenticalGridCaseGroup* RimCaseCollection::parentCaseGroup()
 | 
			
		||||
{
 | 
			
		||||
    // MODTODO Remove
 | 
			
		||||
/*
 | 
			
		||||
    std::vector<RimIdenticalGridCaseGroup*> parentObjects;
 | 
			
		||||
    this->parentObjectsOfType(parentObjects);
 | 
			
		||||
 | 
			
		||||
@@ -56,8 +58,10 @@ RimIdenticalGridCaseGroup* RimCaseCollection::parentCaseGroup()
 | 
			
		||||
    {
 | 
			
		||||
        return parentObjects[0];
 | 
			
		||||
    }
 | 
			
		||||
*/
 | 
			
		||||
    RimIdenticalGridCaseGroup* parentObject = dynamic_cast<RimIdenticalGridCaseGroup*>(this->owner());
 | 
			
		||||
 | 
			
		||||
    return NULL;
 | 
			
		||||
    return parentObject;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
 | 
			
		||||
class RimEclipseCase;
 | 
			
		||||
class RimIdenticalGridCaseGroup;
 | 
			
		||||
@@ -36,7 +37,7 @@ class RimCaseCollection : public caf::PdmObject
 | 
			
		||||
public:
 | 
			
		||||
    RimCaseCollection();
 | 
			
		||||
    virtual ~RimCaseCollection();
 | 
			
		||||
    caf::PdmPointersField<RimEclipseCase*> reservoirs;
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipseCase*> reservoirs;
 | 
			
		||||
 | 
			
		||||
    RimIdenticalGridCaseGroup*  parentCaseGroup();
 | 
			
		||||
    RimEclipseCase*                    findByDescription(const QString& caseDescription) const;
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ RimCellEdgeColors::RimCellEdgeColors()
 | 
			
		||||
    CAF_PDM_InitObject("Cell Edge Result", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&enableCellEdgeColors, "EnableCellEdgeColors", true, "Enable cell edge results", "", "", "");
 | 
			
		||||
    enableCellEdgeColors.setUiHidden(true);
 | 
			
		||||
    enableCellEdgeColors.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&resultVariable, "CellEdgeVariable", "Result property", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&useXVariable, "UseXVariable", true, "Use X values", "", "", "");
 | 
			
		||||
@@ -48,7 +48,7 @@ RimCellEdgeColors::RimCellEdgeColors()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&legendConfig, "LegendDefinition", "Legend Definition", ":/Legend.png", "", "");
 | 
			
		||||
 | 
			
		||||
    resultVariable.setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
 | 
			
		||||
    resultVariable.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    legendConfig = new RimLegendConfig();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,15 +20,17 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "RimDefines.h"
 | 
			
		||||
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafFixedArray.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
class RigCaseCellResultsData;
 | 
			
		||||
class RimLegendConfig;
 | 
			
		||||
class RimEclipseView;
 | 
			
		||||
class RimLegendConfig;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
@@ -56,7 +58,7 @@ public:
 | 
			
		||||
    caf::PdmField<QString>                resultVariable;
 | 
			
		||||
    caf::PdmField<bool>                   enableCellEdgeColors;
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimLegendConfig*>       legendConfig;
 | 
			
		||||
    caf::PdmChildField<RimLegendConfig*>  legendConfig;
 | 
			
		||||
    double                                ignoredScalarValue() { return m_ignoredResultScalar; }
 | 
			
		||||
    void                                  gridScalarIndices(size_t resultIndices[6]);
 | 
			
		||||
    void                                  gridScalarResultNames(QStringList* resultNames);
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ RimCellFilter::RimCellFilter()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&name,    "UserDescription",  QString("Filter Name"), "Name", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&isActive,  "Active",           true,                   "Active",   "", "", "");
 | 
			
		||||
    isActive.setUiHidden(true);
 | 
			
		||||
    isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&filterMode, "FilterType", "Filter Type", "", "", "");
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -46,22 +46,22 @@ RimCellRangeFilter::RimCellRangeFilter()
 | 
			
		||||
    CAF_PDM_InitField(&propagateToSubGrids, "PropagateToSubGrids",  true,  "Apply to Subgrids", "", "","");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&startIndexI, "StartIndexI",  1,  "Start index I", "", "","");
 | 
			
		||||
    startIndexI.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    startIndexI.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    
 | 
			
		||||
    CAF_PDM_InitField(&cellCountI,  "CellCountI",   1,  "Cell Count I", "", "","");
 | 
			
		||||
    cellCountI.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    cellCountI.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&startIndexJ, "StartIndexJ",  1,  "Start index J", "", "","");
 | 
			
		||||
    startIndexJ.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    startIndexJ.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&cellCountJ,  "CellCountJ",   1,  "Cell Count J", "", "","");
 | 
			
		||||
    cellCountJ.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    cellCountJ.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&startIndexK, "StartIndexK",  1,  "Start index K", "", "","");
 | 
			
		||||
    startIndexK.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    startIndexK.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&cellCountK,  "CellCountK",   1,  "Cell Count K", "", "","");
 | 
			
		||||
    cellCountK.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    cellCountK.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
 | 
			
		||||
    
 | 
			
		||||
    updateIconState();
 | 
			
		||||
}
 | 
			
		||||
@@ -211,21 +211,21 @@ void RimCellRangeFilter::defineEditorAttribute(const caf::PdmFieldHandle* field,
 | 
			
		||||
        max.y() = max.y() + 1;
 | 
			
		||||
        max.z() = max.z() + 1;
 | 
			
		||||
 | 
			
		||||
        startIndexI.setUiName(QString("I Start (%1)").arg(min.x()));
 | 
			
		||||
        startIndexJ.setUiName(QString("J Start (%1)").arg(min.y()));
 | 
			
		||||
        startIndexK.setUiName(QString("K Start (%1)").arg(min.z()));
 | 
			
		||||
        cellCountI.setUiName(QString("  Width (%1)").arg(max.x() - min.x() + 1));
 | 
			
		||||
        cellCountJ.setUiName(QString("  Width (%1)").arg(max.y() - min.y() + 1));
 | 
			
		||||
        cellCountK.setUiName(QString("  Width (%1)").arg(max.z() - min.z() + 1));
 | 
			
		||||
        startIndexI.capability<caf::PdmUiFieldHandle>()->setUiName(QString("I Start (%1)").arg(min.x()));
 | 
			
		||||
        startIndexJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString("J Start (%1)").arg(min.y()));
 | 
			
		||||
        startIndexK.capability<caf::PdmUiFieldHandle>()->setUiName(QString("K Start (%1)").arg(min.z()));
 | 
			
		||||
        cellCountI.capability<caf::PdmUiFieldHandle>()->setUiName(QString("  Width (%1)").arg(max.x() - min.x() + 1));
 | 
			
		||||
        cellCountJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString("  Width (%1)").arg(max.y() - min.y() + 1));
 | 
			
		||||
        cellCountK.capability<caf::PdmUiFieldHandle>()->setUiName(QString("  Width (%1)").arg(max.z() - min.z() + 1));
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        startIndexI.setUiName(QString("I Start"));
 | 
			
		||||
        startIndexJ.setUiName(QString("J Start"));
 | 
			
		||||
        startIndexK.setUiName(QString("K Start"));
 | 
			
		||||
        cellCountI.setUiName(QString("  Width"));
 | 
			
		||||
        cellCountJ.setUiName(QString("  Width"));
 | 
			
		||||
        cellCountK.setUiName(QString("  Width"));
 | 
			
		||||
        startIndexI.capability<caf::PdmUiFieldHandle>()->setUiName(QString("I Start"));
 | 
			
		||||
        startIndexJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString("J Start"));
 | 
			
		||||
        startIndexK.capability<caf::PdmUiFieldHandle>()->setUiName(QString("K Start"));
 | 
			
		||||
        cellCountI.capability<caf::PdmUiFieldHandle>()->setUiName(QString("  Width"));
 | 
			
		||||
        cellCountJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString("  Width"));
 | 
			
		||||
        cellCountK.capability<caf::PdmUiFieldHandle>()->setUiName(QString("  Width"));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ RimCellRangeFilterCollection::RimCellRangeFilterCollection()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&rangeFilters,   "RangeFilters", "Range Filters", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&isActive,                  "Active", true, "Active", "", "", "");
 | 
			
		||||
    isActive.setUiHidden(true);
 | 
			
		||||
    isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -50,11 +50,7 @@ RimCellRangeFilterCollection::RimCellRangeFilterCollection()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
RimCellRangeFilterCollection::~RimCellRangeFilterCollection()
 | 
			
		||||
{
 | 
			
		||||
    std::list< caf::PdmPointer< RimCellRangeFilter > >::const_iterator it;
 | 
			
		||||
    for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); ++it)
 | 
			
		||||
    {
 | 
			
		||||
        delete it->p();
 | 
			
		||||
    }
 | 
			
		||||
    rangeFilters.deleteAllChildObjects();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -74,10 +70,9 @@ void RimCellRangeFilterCollection::compoundCellRangeFilter(cvf::CellRangeFilter*
 | 
			
		||||
{
 | 
			
		||||
    CVF_ASSERT(cellRangeFilter);
 | 
			
		||||
 | 
			
		||||
    std::list< caf::PdmPointer<RimCellRangeFilter> >::const_iterator it;
 | 
			
		||||
    for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); it++)
 | 
			
		||||
    for (size_t i = 0; i < rangeFilters.size(); i++)
 | 
			
		||||
    {
 | 
			
		||||
        RimCellRangeFilter* rangeFilter = *it;
 | 
			
		||||
        RimCellRangeFilter* rangeFilter = rangeFilters[i];
 | 
			
		||||
 | 
			
		||||
        if (rangeFilter && rangeFilter->isActive() && static_cast<size_t>(rangeFilter->gridIndex()) == gridIndex)
 | 
			
		||||
        {
 | 
			
		||||
@@ -168,7 +163,7 @@ RimCellRangeFilter* RimCellRangeFilterCollection::createAndAppendRangeFilter()
 | 
			
		||||
    rangeFilter->setParentContainer(this);
 | 
			
		||||
    rangeFilter->setDefaultValues();
 | 
			
		||||
 | 
			
		||||
    rangeFilters.v().push_back(rangeFilter);
 | 
			
		||||
    rangeFilters.push_back(rangeFilter);
 | 
			
		||||
 | 
			
		||||
    rangeFilter->name = QString("New Filter (%1)").arg(rangeFilters().size());
 | 
			
		||||
 | 
			
		||||
@@ -195,10 +190,9 @@ RimEclipseView* RimCellRangeFilterCollection::eclipseView() const
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
void RimCellRangeFilterCollection::initAfterRead()
 | 
			
		||||
{
 | 
			
		||||
    std::list< caf::PdmPointer<RimCellRangeFilter> >::iterator it;
 | 
			
		||||
    for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); it++)
 | 
			
		||||
    for (size_t i = 0; i < rangeFilters.size(); i++)
 | 
			
		||||
    {
 | 
			
		||||
        RimCellRangeFilter* rangeFilter = *it;
 | 
			
		||||
        RimCellRangeFilter* rangeFilter = rangeFilters[i];
 | 
			
		||||
        rangeFilter->setParentContainer(this);
 | 
			
		||||
        rangeFilter->updateIconState();
 | 
			
		||||
    }
 | 
			
		||||
@@ -211,7 +205,15 @@ void RimCellRangeFilterCollection::initAfterRead()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
void RimCellRangeFilterCollection::remove(RimCellRangeFilter* rangeFilter)
 | 
			
		||||
{
 | 
			
		||||
    rangeFilters.v().remove(rangeFilter);
 | 
			
		||||
    // MODTODO Verify that we only have one instance of a filter in a collection
 | 
			
		||||
    for (size_t i = 0; i < rangeFilters.size(); i++)
 | 
			
		||||
    {
 | 
			
		||||
        if (rangeFilters[i] == rangeFilter)
 | 
			
		||||
        {
 | 
			
		||||
            rangeFilters.erase(i);
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -221,10 +223,9 @@ bool RimCellRangeFilterCollection::hasActiveFilters() const
 | 
			
		||||
{
 | 
			
		||||
    if (!isActive()) return false; 
 | 
			
		||||
 | 
			
		||||
    std::list< caf::PdmPointer< RimCellRangeFilter > >::const_iterator it;
 | 
			
		||||
    for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); ++it)
 | 
			
		||||
    for (size_t i = 0; i < rangeFilters.size(); i++)
 | 
			
		||||
    {
 | 
			
		||||
        if ((*it)->isActive()) return true;
 | 
			
		||||
        if (rangeFilters[i]->isActive()) return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return false;
 | 
			
		||||
@@ -245,10 +246,9 @@ bool RimCellRangeFilterCollection::hasActiveIncludeFilters() const
 | 
			
		||||
{
 | 
			
		||||
    if (!isActive) return false; 
 | 
			
		||||
 | 
			
		||||
    std::list< caf::PdmPointer< RimCellRangeFilter > >::const_iterator it;
 | 
			
		||||
    for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); ++it)
 | 
			
		||||
    for (size_t i = 0; i < rangeFilters.size(); i++)
 | 
			
		||||
    {
 | 
			
		||||
        if ((*it)->isActive() && (*it)->filterMode() == RimCellFilter::INCLUDE) return true;
 | 
			
		||||
        if (rangeFilters[i]->isActive() && rangeFilters[i]->filterMode() == RimCellFilter::INCLUDE) return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return false;
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "RimCellRangeFilter.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
 | 
			
		||||
class RigActiveCellInfo;
 | 
			
		||||
class RigGridBase;
 | 
			
		||||
@@ -38,7 +39,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    // Fields
 | 
			
		||||
    caf::PdmField<bool> isActive;
 | 
			
		||||
    caf::PdmField< std::list< caf::PdmPointer< RimCellRangeFilter > > > rangeFilters;
 | 
			
		||||
    caf::PdmChildArrayField<RimCellRangeFilter*> rangeFilters;
 | 
			
		||||
 | 
			
		||||
    // Methods
 | 
			
		||||
    RimCellRangeFilter*             createAndAppendRangeFilter();
 | 
			
		||||
 
 | 
			
		||||
@@ -60,16 +60,16 @@ RimCommandExecuteScript::RimCommandExecuteScript()
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&name,       "Name",      "Name", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&scriptText, "ScriptText",  QString(), "ScriptText", "", "" ,"");
 | 
			
		||||
    scriptText.setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
 | 
			
		||||
    scriptText.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&isEnabled,         "IsEnabled",      true, "Enabled ", "", "", "");
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    CAF_PDM_InitField(&execute,         "Execute",      true, "Execute", "", "", "");
 | 
			
		||||
    execute.setIOWritable(false);
 | 
			
		||||
    execute.setIOReadable(false);
 | 
			
		||||
    execute.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    execute.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    execute.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    execute.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    execute.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    execute.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -159,7 +159,7 @@ void RimCommandFactory::createCommandObjects(const caf::PdmObjectGroup& selected
 | 
			
		||||
{
 | 
			
		||||
    for (size_t i = 0; i < selectedObjects.objects.size(); i++)
 | 
			
		||||
    {
 | 
			
		||||
        caf::PdmObject* pdmObject = selectedObjects.objects[i];
 | 
			
		||||
        caf::PdmObjectHandle* pdmObject = selectedObjects.objects[i];
 | 
			
		||||
 | 
			
		||||
        if (dynamic_cast<RimCalcScript*>(pdmObject))
 | 
			
		||||
        {
 | 
			
		||||
@@ -219,16 +219,17 @@ void RimCommandIssueFieldChanged::redo()
 | 
			
		||||
    RiaApplication* app = RiaApplication::instance();
 | 
			
		||||
    PdmObject* project = app->project();
 | 
			
		||||
 | 
			
		||||
    caf::PdmObject* pdmObject = findObjectByName(project, this->objectName);
 | 
			
		||||
    caf::PdmObjectHandle* pdmObject = findObjectByName(project, this->objectName);
 | 
			
		||||
 | 
			
		||||
    if (pdmObject)
 | 
			
		||||
    {
 | 
			
		||||
        caf::PdmFieldHandle* fieldHandle = findFieldByKeyword(pdmObject, this->fieldName);
 | 
			
		||||
        caf::PdmUiFieldHandle* uiFieldHandle = uiField(fieldHandle);
 | 
			
		||||
 | 
			
		||||
        if (fieldHandle)
 | 
			
		||||
        if (uiFieldHandle)
 | 
			
		||||
        {
 | 
			
		||||
            QVariant variantValue(this->fieldValueToApply);
 | 
			
		||||
            fieldHandle->setValueFromUi(variantValue);
 | 
			
		||||
            uiFieldHandle->setValueFromUi(variantValue);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -252,7 +253,7 @@ caf::PdmFieldHandle* RimCommandIssueFieldChanged::userDescriptionField()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
/// 
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
void RimCommandIssueFieldChanged::childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObject*>& children)
 | 
			
		||||
void RimCommandIssueFieldChanged::childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObjectHandle*>& children)
 | 
			
		||||
{
 | 
			
		||||
    if (!pdmObject) return;
 | 
			
		||||
 | 
			
		||||
@@ -269,27 +270,28 @@ void RimCommandIssueFieldChanged::childObjects(caf::PdmObject* pdmObject, std::v
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
/// 
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
caf::PdmObject* RimCommandIssueFieldChanged::findObjectByName(caf::PdmObject* pdmObject, const QString& objectName)
 | 
			
		||||
caf::PdmObjectHandle* RimCommandIssueFieldChanged::findObjectByName(caf::PdmObjectHandle* pdmObject, const QString& objectName)
 | 
			
		||||
{
 | 
			
		||||
    std::vector<caf::PdmFieldHandle*> fields;
 | 
			
		||||
    pdmObject->fields(fields);
 | 
			
		||||
 | 
			
		||||
    if (pdmObject->uiName() == objectName)
 | 
			
		||||
    caf::PdmUiObjectHandle* uiObjectHandle = uiObj(pdmObject);
 | 
			
		||||
 | 
			
		||||
    if (uiObjectHandle && uiObjectHandle->uiName() == objectName)
 | 
			
		||||
    {
 | 
			
		||||
        return pdmObject;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    for (size_t fIdx = 0; fIdx < fields.size(); fIdx++)
 | 
			
		||||
    {
 | 
			
		||||
        if (fields[fIdx])
 | 
			
		||||
        {
 | 
			
		||||
            std::vector<caf::PdmObject*> children;
 | 
			
		||||
            std::vector<caf::PdmObjectHandle*> children;
 | 
			
		||||
            fields[fIdx]->childObjects(&children);
 | 
			
		||||
 | 
			
		||||
            for (size_t cIdx = 0; cIdx < children.size(); cIdx++)
 | 
			
		||||
            {
 | 
			
		||||
                PdmObject* candidateObj = findObjectByName(children[cIdx], objectName);
 | 
			
		||||
                PdmObjectHandle* candidateObj = findObjectByName(children[cIdx], objectName);
 | 
			
		||||
                if (candidateObj)
 | 
			
		||||
                {
 | 
			
		||||
                    return candidateObj;
 | 
			
		||||
@@ -305,7 +307,7 @@ caf::PdmObject* RimCommandIssueFieldChanged::findObjectByName(caf::PdmObject* pd
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
/// 
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
caf::PdmFieldHandle* RimCommandIssueFieldChanged::findFieldByKeyword(caf::PdmObject* pdmObject, const QString& keywordName)
 | 
			
		||||
caf::PdmFieldHandle* RimCommandIssueFieldChanged::findFieldByKeyword(caf::PdmObjectHandle* pdmObject, const QString& keywordName)
 | 
			
		||||
{
 | 
			
		||||
    std::vector<caf::PdmFieldHandle*> fields;
 | 
			
		||||
    pdmObject->fields(fields);
 | 
			
		||||
 
 | 
			
		||||
@@ -92,9 +92,9 @@ public:
 | 
			
		||||
    virtual caf::PdmFieldHandle* userDescriptionField();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObject*>& children);
 | 
			
		||||
    caf::PdmObject* findObjectByName(caf::PdmObject* root, const QString& objectName);
 | 
			
		||||
    caf::PdmFieldHandle* findFieldByKeyword(caf::PdmObject* pdmObject, const QString& fieldName);
 | 
			
		||||
    void childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObjectHandle*>& children);
 | 
			
		||||
    caf::PdmObjectHandle* findObjectByName(caf::PdmObjectHandle* root, const QString& objectName);
 | 
			
		||||
    caf::PdmFieldHandle* findFieldByKeyword(caf::PdmObjectHandle* pdmObject, const QString& fieldName);
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -28,11 +28,12 @@
 | 
			
		||||
 | 
			
		||||
#include "RimCaseCollection.h"
 | 
			
		||||
#include "RimCellEdgeColors.h"
 | 
			
		||||
#include "RimCommandObject.h"
 | 
			
		||||
#include "RimEclipseCellColors.h"
 | 
			
		||||
#include "RimEclipsePropertyFilter.h"
 | 
			
		||||
#include "RimEclipsePropertyFilterCollection.h"
 | 
			
		||||
#include "RimReservoirCellResultsStorage.h"
 | 
			
		||||
#include "RimEclipseView.h"
 | 
			
		||||
#include "RimEclipseCellColors.h"
 | 
			
		||||
#include "RimReservoirCellResultsStorage.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmDocument.h"
 | 
			
		||||
#include "cafProgressInfo.h"
 | 
			
		||||
@@ -57,20 +58,20 @@ RimEclipseCase::RimEclipseCase()
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&reservoirViews, "ReservoirViews", "",  "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_matrixModelResults, "MatrixModelResults", "",  "", "", "");
 | 
			
		||||
    m_matrixModelResults.setUiHidden(true);
 | 
			
		||||
    m_matrixModelResults.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_fractureModelResults, "FractureModelResults", "",  "", "", "");
 | 
			
		||||
    m_fractureModelResults.setUiHidden(true);
 | 
			
		||||
    m_fractureModelResults.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&flipXAxis, "FlipXAxis", false, "Flip X Axis", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&flipYAxis, "FlipYAxis", false, "Flip Y Axis", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&filesContainingFaults,    "FilesContainingFaults", "", "", "", "");
 | 
			
		||||
    filesContainingFaults.setUiHidden(true);
 | 
			
		||||
    filesContainingFaults.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    // Obsolete field
 | 
			
		||||
    CAF_PDM_InitField(&caseName, "CaseName",  QString(), "Obsolete", "", "" ,"");
 | 
			
		||||
    caseName.setIOWritable(false);
 | 
			
		||||
    caseName.setUiHidden(true);
 | 
			
		||||
    caseName.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    caseName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    m_matrixModelResults = new RimReservoirCellResultsStorage;
 | 
			
		||||
    m_fractureModelResults = new RimReservoirCellResultsStorage;
 | 
			
		||||
@@ -297,6 +298,8 @@ void RimEclipseCase::computeCachedData()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
RimCaseCollection* RimEclipseCase::parentCaseCollection()
 | 
			
		||||
{
 | 
			
		||||
    return dynamic_cast<RimCaseCollection*>(this->parentField()->ownerObject());
 | 
			
		||||
/*
 | 
			
		||||
    std::vector<RimCaseCollection*> parentObjects;
 | 
			
		||||
    this->parentObjectsOfType(parentObjects);
 | 
			
		||||
 | 
			
		||||
@@ -306,6 +309,7 @@ RimCaseCollection* RimEclipseCase::parentCaseCollection()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return NULL;
 | 
			
		||||
*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -20,18 +20,24 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "RimCase.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
#include "RimCase.h"
 | 
			
		||||
#include "RimEclipseView.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
#include "RifReaderInterface.h"
 | 
			
		||||
 | 
			
		||||
class QString;
 | 
			
		||||
 | 
			
		||||
class RigCaseData;
 | 
			
		||||
class RigGridBase;
 | 
			
		||||
class RimEclipseView;
 | 
			
		||||
class RimCaseCollection;
 | 
			
		||||
class RimIdenticalGridCaseGroup;
 | 
			
		||||
class RimReservoirCellResultsStorage;
 | 
			
		||||
@@ -52,7 +58,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    // Fields:                                        
 | 
			
		||||
    caf::PdmField<bool>                         releaseResultMemory;
 | 
			
		||||
    caf::PdmPointersField<RimEclipseView*>    reservoirViews;
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipseView*>    reservoirViews;
 | 
			
		||||
    caf::PdmField<bool>                         flipXAxis;
 | 
			
		||||
    caf::PdmField<bool>                         flipYAxis;
 | 
			
		||||
    
 | 
			
		||||
@@ -97,8 +103,8 @@ private:
 | 
			
		||||
    cvf::ref<RigCaseData>                       m_rigEclipseCase;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    caf::PdmField<RimReservoirCellResultsStorage*> m_matrixModelResults;
 | 
			
		||||
    caf::PdmField<RimReservoirCellResultsStorage*> m_fractureModelResults;
 | 
			
		||||
    caf::PdmChildField<RimReservoirCellResultsStorage*> m_matrixModelResults;
 | 
			
		||||
    caf::PdmChildField<RimReservoirCellResultsStorage*> m_fractureModelResults;
 | 
			
		||||
 | 
			
		||||
    // Obsolete fields
 | 
			
		||||
protected:
 | 
			
		||||
 
 | 
			
		||||
@@ -20,17 +20,18 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
class RimEclipseCase;
 | 
			
		||||
class RigGridManager;
 | 
			
		||||
class RimIdenticalGridCaseGroup;
 | 
			
		||||
class RigMainGrid;
 | 
			
		||||
class RigCaseData;
 | 
			
		||||
class RigGridManager;
 | 
			
		||||
class RigMainGrid;
 | 
			
		||||
class RimEclipseCase;
 | 
			
		||||
class RimIdenticalGridCaseGroup;
 | 
			
		||||
class RimWellPathCollection;
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
@@ -45,8 +46,8 @@ public:
 | 
			
		||||
    RimEclipseCaseCollection(void);
 | 
			
		||||
    virtual ~RimEclipseCaseCollection(void);
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimEclipseCase*>                     cases;
 | 
			
		||||
    caf::PdmPointersField<RimIdenticalGridCaseGroup*>   caseGroups;
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipseCase*>                     cases;
 | 
			
		||||
    caf::PdmChildArrayField<RimIdenticalGridCaseGroup*>   caseGroups;
 | 
			
		||||
 | 
			
		||||
    void                                                close();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -36,17 +36,18 @@ RimEclipseCellColors::RimEclipseCellColors()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&legendConfig, "LegendDefinition", "Legend Definition", "", "", "");
 | 
			
		||||
    this->legendConfig = new RimLegendConfig();
 | 
			
		||||
    this->legendConfig.setUiHidden(true);
 | 
			
		||||
    this->legendConfig.setUiChildrenHidden(true);
 | 
			
		||||
    this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
 | 
			
		||||
 | 
			
		||||
    // MODTODO
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_legendConfigData, "ResultVarLegendDefinitionList", "", "", "", "");
 | 
			
		||||
    m_legendConfigData.setUiHidden(true);
 | 
			
		||||
    m_legendConfigData.setUiChildrenHidden(true);
 | 
			
		||||
    m_legendConfigData.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    m_legendConfigData.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&ternaryLegendConfig, "TernaryLegendDefinition", "Ternary Legend Definition", "", "", "");
 | 
			
		||||
    this->ternaryLegendConfig = new RimTernaryLegendConfig();
 | 
			
		||||
    this->ternaryLegendConfig.setUiHidden(true);
 | 
			
		||||
    this->ternaryLegendConfig.setUiChildrenHidden(true);
 | 
			
		||||
    this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -91,28 +92,27 @@ void RimEclipseCellColors::changeLegendConfig(QString resultVarNameOfNewLegend)
 | 
			
		||||
{
 | 
			
		||||
    if (resultVarNameOfNewLegend == RimDefines::ternarySaturationResultName())
 | 
			
		||||
    {
 | 
			
		||||
        this->ternaryLegendConfig.setUiHidden(false);
 | 
			
		||||
        this->ternaryLegendConfig.setUiChildrenHidden(false);
 | 
			
		||||
        this->legendConfig.setUiHidden(true);
 | 
			
		||||
        this->legendConfig.setUiChildrenHidden(true);
 | 
			
		||||
        this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
 | 
			
		||||
        this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(false);
 | 
			
		||||
        this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
        this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        this->ternaryLegendConfig.setUiHidden(true);
 | 
			
		||||
        this->ternaryLegendConfig.setUiChildrenHidden(true);
 | 
			
		||||
        this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
        this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
 | 
			
		||||
 | 
			
		||||
        if (this->legendConfig()->resultVariableName() != resultVarNameOfNewLegend)
 | 
			
		||||
        {
 | 
			
		||||
            std::list<caf::PdmPointer<RimLegendConfig> >::iterator it;
 | 
			
		||||
            bool found = false;
 | 
			
		||||
            for (it = m_legendConfigData.v().begin(); it != m_legendConfigData.v().end(); ++it)
 | 
			
		||||
            for (size_t i = 0; i < m_legendConfigData.size(); i++)
 | 
			
		||||
            {
 | 
			
		||||
                if ((*it)->resultVariableName() == resultVarNameOfNewLegend)
 | 
			
		||||
                if (m_legendConfigData[i]->resultVariableName() == resultVarNameOfNewLegend)
 | 
			
		||||
                {
 | 
			
		||||
                    RimLegendConfig* newLegend = *it;
 | 
			
		||||
          
 | 
			
		||||
                    m_legendConfigData.v().erase(it);
 | 
			
		||||
                    m_legendConfigData.v().push_back(this->legendConfig());
 | 
			
		||||
                    RimLegendConfig* newLegend = m_legendConfigData[i];
 | 
			
		||||
 | 
			
		||||
                    m_legendConfigData.erase(i);
 | 
			
		||||
                    m_legendConfigData.push_back(this->legendConfig());
 | 
			
		||||
                    this->legendConfig = newLegend;
 | 
			
		||||
                    found = true;
 | 
			
		||||
                    break;
 | 
			
		||||
@@ -125,13 +125,13 @@ void RimEclipseCellColors::changeLegendConfig(QString resultVarNameOfNewLegend)
 | 
			
		||||
                 RimLegendConfig* newLegend = new RimLegendConfig;
 | 
			
		||||
                 newLegend->setReservoirView(m_reservoirView);
 | 
			
		||||
                 newLegend->resultVariableName = resultVarNameOfNewLegend;
 | 
			
		||||
                 m_legendConfigData.v().push_back(this->legendConfig());
 | 
			
		||||
                 m_legendConfigData.push_back(this->legendConfig());
 | 
			
		||||
                 this->legendConfig = newLegend;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    
 | 
			
		||||
        this->legendConfig.setUiHidden(false);
 | 
			
		||||
        this->legendConfig.setUiChildrenHidden(false);
 | 
			
		||||
        this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
 | 
			
		||||
        this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(false);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -161,10 +161,12 @@ void RimEclipseCellColors::setReservoirView(RimEclipseView* ownerReservoirView)
 | 
			
		||||
    m_reservoirView = ownerReservoirView;
 | 
			
		||||
    this->legendConfig()->setReservoirView(ownerReservoirView);
 | 
			
		||||
    std::list<caf::PdmPointer<RimLegendConfig> >::iterator it;
 | 
			
		||||
    for (it = m_legendConfigData.v().begin(); it != m_legendConfigData.v().end(); ++it)
 | 
			
		||||
    {
 | 
			
		||||
        (*it)->setReservoirView(ownerReservoirView);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // MODTODO
 | 
			
		||||
    //     for (it = m_legendConfigData.v().begin(); it != m_legendConfigData.v().end(); ++it)
 | 
			
		||||
//     {
 | 
			
		||||
//         (*it)->setReservoirView(ownerReservoirView);
 | 
			
		||||
//     }
 | 
			
		||||
 | 
			
		||||
    this->ternaryLegendConfig()->setReservoirView(ownerReservoirView);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,9 @@
 | 
			
		||||
#include "RimLegendConfig.h"
 | 
			
		||||
#include "RimEclipseResultDefinition.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
 | 
			
		||||
class RimTernaryLegendConfig;
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
@@ -38,8 +41,8 @@ public:
 | 
			
		||||
    virtual ~RimEclipseCellColors();
 | 
			
		||||
 | 
			
		||||
    virtual void setReservoirView(RimEclipseView* ownerReservoirView);
 | 
			
		||||
    caf::PdmField<RimLegendConfig*> legendConfig;
 | 
			
		||||
    caf::PdmField<RimTernaryLegendConfig*> ternaryLegendConfig;
 | 
			
		||||
    caf::PdmChildField<RimLegendConfig*> legendConfig;
 | 
			
		||||
    caf::PdmChildField<RimTernaryLegendConfig*> ternaryLegendConfig;
 | 
			
		||||
 | 
			
		||||
    // Overridden methods
 | 
			
		||||
    virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
 | 
			
		||||
@@ -52,6 +55,9 @@ protected:
 | 
			
		||||
private:
 | 
			
		||||
    void changeLegendConfig(QString resultVarNameOfNewLegend);
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<std::list<caf::PdmPointer<RimLegendConfig> > >    m_legendConfigData;
 | 
			
		||||
    // MODTODO
 | 
			
		||||
    // Possibly replace with PdmChildArrayField
 | 
			
		||||
    //caf::PdmField<std::list<caf::PdmPointer<RimLegendConfig> > >    m_legendConfigData;
 | 
			
		||||
    caf::PdmChildArrayField<RimLegendConfig*>    m_legendConfigData;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -40,17 +40,23 @@ RimEclipseFaultColors::RimEclipseFaultColors()
 | 
			
		||||
    CAF_PDM_InitObject("Fault Result Slot", ":/draw_style_faults_24x24.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showCustomFaultResult,                "ShowCustomFaultResult",                 false,   "Show Custom Fault Result", "", "", "");
 | 
			
		||||
    showCustomFaultResult.setUiHidden(true);
 | 
			
		||||
    showCustomFaultResult.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_customFaultResultColors, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", "");
 | 
			
		||||
    m_customFaultResultColors = new RimEclipseCellColors();
 | 
			
		||||
    m_customFaultResultColors.setOwnerObject(this);
 | 
			
		||||
    m_customFaultResultColors.setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    // MODTODO how to handle this?
 | 
			
		||||
    //m_customFaultResultColors.setOwnerObject(this);
 | 
			
		||||
 | 
			
		||||
    m_customFaultResultColors.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    // MODTODO how to handle this?
 | 
			
		||||
/*
 | 
			
		||||
    // Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class
 | 
			
		||||
    m_customFaultResultColors->m_resultTypeUiField.setOwnerObject(this);
 | 
			
		||||
    m_customFaultResultColors->m_porosityModelUiField.setOwnerObject(this);
 | 
			
		||||
    m_customFaultResultColors->m_resultVariableUiField.setOwnerObject(this);
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    updateFieldVisibility();
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
@@ -56,7 +57,7 @@ protected:
 | 
			
		||||
    virtual void                    defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    caf::PdmField<RimEclipseCellColors*>    m_customFaultResultColors;
 | 
			
		||||
    caf::PdmChildField<RimEclipseCellColors*>    m_customFaultResultColors;
 | 
			
		||||
    caf::PdmPointer<RimEclipseView>         m_reservoirView;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -46,9 +46,9 @@ RimEclipseInputCase::RimEclipseInputCase()
 | 
			
		||||
{
 | 
			
		||||
    CAF_PDM_InitObject("RimInputCase", ":/EclipseInput48x48.png", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&m_gridFileName, "GridFileName",  QString(), "Case grid filename", "", "" ,"");
 | 
			
		||||
    m_gridFileName.setUiReadOnly(true);
 | 
			
		||||
    m_gridFileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_additionalFileNames, "AdditionalFileNames", "Additional files", "", "" ,"");
 | 
			
		||||
    m_additionalFileNames.setUiReadOnly(true);
 | 
			
		||||
    m_additionalFileNames.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_inputPropertyCollection, "InputPropertyCollection", "",  "", "", "");
 | 
			
		||||
    m_inputPropertyCollection = new RimEclipseInputPropertyCollection;
 | 
			
		||||
 
 | 
			
		||||
@@ -18,16 +18,18 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
#include "RimEclipseCase.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
#include "RimEclipseCase.h"
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
class RifReaderInterface;
 | 
			
		||||
class RimEclipseInputPropertyCollection;
 | 
			
		||||
class RimEclipseInputProperty;
 | 
			
		||||
class RimEclipseInputPropertyCollection;
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
//
 | 
			
		||||
@@ -43,7 +45,7 @@ public:
 | 
			
		||||
    virtual ~RimEclipseInputCase();
 | 
			
		||||
 | 
			
		||||
    // Fields
 | 
			
		||||
    caf::PdmField<RimEclipseInputPropertyCollection*> m_inputPropertyCollection;
 | 
			
		||||
    caf::PdmChildField<RimEclipseInputPropertyCollection*> m_inputPropertyCollection;
 | 
			
		||||
 | 
			
		||||
    // File open methods
 | 
			
		||||
    void                        openDataFileSet(const QStringList& fileNames);
 | 
			
		||||
 
 | 
			
		||||
@@ -53,12 +53,12 @@ RimEclipseInputProperty::RimEclipseInputProperty()
 | 
			
		||||
    CAF_PDM_InitField(&fileName, "FileName", QString(), "Filename", "", "" ,"");
 | 
			
		||||
    CAF_PDM_InitField(&resolvedState, "ResolvedState", (ResolveStateEnum)UNKNOWN, "Data state", "", "", "");
 | 
			
		||||
 | 
			
		||||
    resolvedState.setUiReadOnly(true);
 | 
			
		||||
    resolvedState.setIOReadable(false); 
 | 
			
		||||
    resolvedState.setIOWritable(false); 
 | 
			
		||||
    resolvedState.setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName());
 | 
			
		||||
    resolvedState.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    resolvedState.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false); 
 | 
			
		||||
    resolvedState.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false); 
 | 
			
		||||
    resolvedState.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    fileName.setUiReadOnly(true);
 | 
			
		||||
    fileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,13 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
class RimEclipseInputProperty;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -47,6 +49,6 @@ public:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Fields:                        
 | 
			
		||||
    caf::PdmPointersField<RimEclipseInputProperty*> inputProperties;
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipseInputProperty*> inputProperties;
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -21,14 +21,16 @@
 | 
			
		||||
#include "RimEclipsePropertyFilter.h"
 | 
			
		||||
 | 
			
		||||
#include "RigCaseCellResultsData.h"
 | 
			
		||||
 | 
			
		||||
#include "RimEclipsePropertyFilterCollection.h"
 | 
			
		||||
#include "RimReservoirCellResultsStorage.h"
 | 
			
		||||
#include "RimEclipseResultDefinition.h"
 | 
			
		||||
 | 
			
		||||
#include "RiuMainWindow.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmUiDoubleSliderEditor.h"
 | 
			
		||||
#include "cvfAssert.h"
 | 
			
		||||
#include "cvfMath.h"
 | 
			
		||||
#include "RiuMainWindow.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace caf
 | 
			
		||||
@@ -54,29 +56,33 @@ RimEclipsePropertyFilter::RimEclipsePropertyFilter()
 | 
			
		||||
    CAF_PDM_InitObject("Cell Property Filter", ":/CellFilter_Values.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&obsoleteField_evaluationRegion, "EvaluationRegion", "Evaluation region", "", "", "");
 | 
			
		||||
    obsoleteField_evaluationRegion.setUiHidden(true);
 | 
			
		||||
    obsoleteField_evaluationRegion.setIOWritable(false);
 | 
			
		||||
    obsoleteField_evaluationRegion.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    obsoleteField_evaluationRegion.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&resultDefinition, "ResultDefinition", "Result definition", "", "", "");
 | 
			
		||||
    resultDefinition = new RimEclipseResultDefinition();
 | 
			
		||||
    
 | 
			
		||||
    // MODOTODO
 | 
			
		||||
    // How to handle this???
 | 
			
		||||
/*
 | 
			
		||||
    // Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class
 | 
			
		||||
    resultDefinition->m_resultTypeUiField.setOwnerObject(this);
 | 
			
		||||
    resultDefinition->m_resultTypeUiField.setUiName("");
 | 
			
		||||
    resultDefinition->m_resultTypeUiField.setparOwnerObject(this);
 | 
			
		||||
    resultDefinition->m_resultTypeUiField.capability<caf::PdmUiFieldHandle>()->setUiName("");
 | 
			
		||||
    resultDefinition->m_porosityModelUiField.setOwnerObject(this);
 | 
			
		||||
    resultDefinition->m_porosityModelUiField.setUiName("");
 | 
			
		||||
    resultDefinition->m_porosityModelUiField.capability<caf::PdmUiFieldHandle>()->setUiName("");
 | 
			
		||||
    resultDefinition->m_resultVariableUiField.setOwnerObject(this);
 | 
			
		||||
    resultDefinition->m_resultVariableUiField.setUiName("");
 | 
			
		||||
    resultDefinition->m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiName("");
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
    // Set to hidden to avoid this item to been displayed as a child item
 | 
			
		||||
    // Fields in this object are displayed using defineUiOrdering()
 | 
			
		||||
    resultDefinition.setUiHidden(true);
 | 
			
		||||
    resultDefinition.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&lowerBound, "LowerBound", 0.0, "Min", "", "", "");
 | 
			
		||||
    lowerBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
    lowerBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&upperBound, "UpperBound", 0.0, "Max", "", "", "");
 | 
			
		||||
    upperBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
    upperBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    updateIconState();
 | 
			
		||||
 | 
			
		||||
@@ -254,8 +260,8 @@ void RimEclipsePropertyFilter::computeResultValueRange()
 | 
			
		||||
    m_maximumResultValue = max;
 | 
			
		||||
    m_minimumResultValue = min;
 | 
			
		||||
 | 
			
		||||
    lowerBound.setUiName(QString("Min (%1)").arg(min));
 | 
			
		||||
    upperBound.setUiName(QString("Max (%1)").arg(max));
 | 
			
		||||
    lowerBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min (%1)").arg(min));
 | 
			
		||||
    upperBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max (%1)").arg(max));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,8 @@
 | 
			
		||||
 | 
			
		||||
#include "RimCellFilter.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
 | 
			
		||||
class RimEclipseView;
 | 
			
		||||
class RimEclipsePropertyFilterCollection;
 | 
			
		||||
class RimEclipseResultDefinition;
 | 
			
		||||
@@ -42,7 +44,7 @@ public:
 | 
			
		||||
    RimEclipsePropertyFilter();
 | 
			
		||||
    virtual ~RimEclipsePropertyFilter();
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimEclipseResultDefinition*>     resultDefinition;
 | 
			
		||||
    caf::PdmChildField<RimEclipseResultDefinition*>     resultDefinition;
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<double>                   lowerBound;
 | 
			
		||||
    caf::PdmField<double>                   upperBound;
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ RimEclipsePropertyFilterCollection::RimEclipsePropertyFilterCollection()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&propertyFilters, "PropertyFilters", "Property Filters",         "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&active,                  "Active", true, "Active", "", "", "");
 | 
			
		||||
    active.setUiHidden(true);
 | 
			
		||||
    active.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,8 @@
 | 
			
		||||
 | 
			
		||||
#include "RimEclipsePropertyFilter.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
///  
 | 
			
		||||
///  
 | 
			
		||||
@@ -34,7 +36,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    // Fields:
 | 
			
		||||
    caf::PdmField<bool> active;
 | 
			
		||||
    caf::PdmPointersField<RimEclipsePropertyFilter*> propertyFilters;
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipsePropertyFilter*> propertyFilters;
 | 
			
		||||
 | 
			
		||||
    // Methods
 | 
			
		||||
    RimEclipsePropertyFilter*  createAndAppendPropertyFilter();
 | 
			
		||||
 
 | 
			
		||||
@@ -31,8 +31,11 @@
 | 
			
		||||
#include "RimProject.h"
 | 
			
		||||
#include "RimReservoirCellResultsStorage.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmSettings.h"
 | 
			
		||||
#include "cafPdmUiPropertyDialog.h"
 | 
			
		||||
// MODTODO Replace with other classes in new caf
 | 
			
		||||
//#include "cafPdmSettings.h"
 | 
			
		||||
//#include "cafPdmUiPropertyDialog.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "cafProgressInfo.h"
 | 
			
		||||
 | 
			
		||||
#include <QDir>
 | 
			
		||||
@@ -49,17 +52,17 @@ RimEclipseResultCase::RimEclipseResultCase()
 | 
			
		||||
    CAF_PDM_InitObject("Eclipse Case", ":/Case48x48.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&caseFileName, "CaseFileName",  QString(), "Case file name", "", "" ,"");
 | 
			
		||||
    caseFileName.setUiReadOnly(true);
 | 
			
		||||
    caseFileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
    // Obsolete, unused field
 | 
			
		||||
    CAF_PDM_InitField(&caseDirectory, "CaseFolder", QString(), "Directory", "", "" ,"");
 | 
			
		||||
    caseDirectory.setIOWritable(false); 
 | 
			
		||||
    caseDirectory.setUiHidden(true);
 | 
			
		||||
    caseDirectory.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false); 
 | 
			
		||||
    caseDirectory.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    flipXAxis.setIOWritable(true);
 | 
			
		||||
    //flipXAxis.setUiHidden(true);
 | 
			
		||||
    flipYAxis.setIOWritable(true);
 | 
			
		||||
    //flipYAxis.setUiHidden(true);
 | 
			
		||||
    flipXAxis.capability<caf::PdmXmlFieldHandle>()->setIOWritable(true);
 | 
			
		||||
    //flipXAxis.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    flipYAxis.capability<caf::PdmXmlFieldHandle>()->setIOWritable(true);
 | 
			
		||||
    //flipYAxis.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    m_activeCellInfoIsReadFromFile = false;
 | 
			
		||||
    m_gridAndWellDataIsReadFromFile = false;
 | 
			
		||||
@@ -245,6 +248,10 @@ cvf::ref<RifReaderInterface> RimEclipseResultCase::createMockModel(QString model
 | 
			
		||||
    }
 | 
			
		||||
    else if (modelName == RimDefines::mockModelCustomized())
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        // MODTODO
 | 
			
		||||
        // Replace with other caf structures
 | 
			
		||||
/*
 | 
			
		||||
        QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
 | 
			
		||||
 | 
			
		||||
        RimMockModelSettings rimMockModelSettings;
 | 
			
		||||
@@ -281,6 +288,7 @@ cvf::ref<RifReaderInterface> RimEclipseResultCase::createMockModel(QString model
 | 
			
		||||
        {
 | 
			
		||||
             QApplication::restoreOverrideCursor();
 | 
			
		||||
        }
 | 
			
		||||
*/
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this->setReservoirData( reservoir.p() );
 | 
			
		||||
 
 | 
			
		||||
@@ -39,24 +39,24 @@ RimEclipseResultDefinition::RimEclipseResultDefinition()
 | 
			
		||||
    CAF_PDM_InitObject("Result Definition", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_resultType,     "ResultType",           "Type", "", "", "");
 | 
			
		||||
    m_resultType.setUiHidden(true);
 | 
			
		||||
    m_resultType.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_porosityModel,  "PorosityModelType",    "Porosity", "", "", "");
 | 
			
		||||
    m_porosityModel.setUiHidden(true);
 | 
			
		||||
    m_porosityModel.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitField(&m_resultVariable, "ResultVariable", RimDefines::undefinedResultName(), "Variable", "", "", "" );
 | 
			
		||||
    m_resultVariable.setUiHidden(true);
 | 
			
		||||
    m_resultVariable.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_resultTypeUiField,     "MResultType",           "Type", "", "", "");
 | 
			
		||||
    m_resultTypeUiField.setIOReadable(false);
 | 
			
		||||
    m_resultTypeUiField.setIOWritable(false);
 | 
			
		||||
    m_resultTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    m_resultTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_porosityModelUiField,  "MPorosityModelType",    "Porosity", "", "", "");
 | 
			
		||||
    m_porosityModelUiField.setIOReadable(false);
 | 
			
		||||
    m_porosityModelUiField.setIOWritable(false);
 | 
			
		||||
    m_porosityModelUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    m_porosityModelUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    CAF_PDM_InitField(&m_resultVariableUiField, "MResultVariable", RimDefines::undefinedResultName(), "Result property", "", "", "" );
 | 
			
		||||
    m_resultVariableUiField.setIOReadable(false);
 | 
			
		||||
    m_resultVariableUiField.setIOWritable(false);
 | 
			
		||||
    m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    m_resultVariableUiField.setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
 | 
			
		||||
    m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -357,11 +357,11 @@ void RimEclipseResultDefinition::updateFieldVisibility()
 | 
			
		||||
    {
 | 
			
		||||
        if (m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->reservoirActiveCellCount() == 0)
 | 
			
		||||
        {
 | 
			
		||||
            m_porosityModelUiField.setUiHidden(true);
 | 
			
		||||
            m_porosityModelUiField.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            m_porosityModelUiField.setUiHidden(false);
 | 
			
		||||
            m_porosityModelUiField.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -59,24 +59,24 @@ RimEclipseStatisticsCase::RimEclipseStatisticsCase()
 | 
			
		||||
    CAF_PDM_InitObject("Case Group Statistics", ":/Histogram16x16.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_calculateEditCommand,   "m_editingAllowed", "", "", "", "");
 | 
			
		||||
    m_calculateEditCommand.setIOWritable(false);
 | 
			
		||||
    m_calculateEditCommand.setIOReadable(false);
 | 
			
		||||
    m_calculateEditCommand.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    m_calculateEditCommand.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_calculateEditCommand.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    m_calculateEditCommand.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    m_calculateEditCommand.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    m_calculateEditCommand.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
 | 
			
		||||
    m_calculateEditCommand = false;
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&m_selectionSummary, "SelectionSummary", QString(""), "Summary of calculation setup", "", "", "");
 | 
			
		||||
    m_selectionSummary.setIOWritable(false);
 | 
			
		||||
    m_selectionSummary.setIOReadable(false);
 | 
			
		||||
    m_selectionSummary.setUiReadOnly(true);
 | 
			
		||||
    m_selectionSummary.setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
 | 
			
		||||
    m_selectionSummary.setUiLabelPosition(caf::PdmUiItemInfo::TOP);
 | 
			
		||||
    m_selectionSummary.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    m_selectionSummary.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    m_selectionSummary.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    m_selectionSummary.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
 | 
			
		||||
    m_selectionSummary.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_resultType, "ResultType", "Result Type", "", "", "");
 | 
			
		||||
    m_resultType.setIOWritable(false);
 | 
			
		||||
    m_resultType.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_porosityModel, "PorosityModel", "Porosity Model", "", "", "");
 | 
			
		||||
    m_porosityModel.setIOWritable(false);
 | 
			
		||||
    m_porosityModel.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_selectedDynamicProperties,   "DynamicPropertiesToCalculate", "Dyn Prop", "", "", "");
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_selectedStaticProperties,    "StaticPropertiesToCalculate", "Stat Prop", "", "", "");
 | 
			
		||||
@@ -88,15 +88,15 @@ RimEclipseStatisticsCase::RimEclipseStatisticsCase()
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_selectedFractureGeneratedProperties, "FractureGeneratedPropertiesToCalculate", "", "", "", "");
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_selectedFractureInputProperties,     "FractureInputPropertiesToCalculate", "", "", "", "");
 | 
			
		||||
 | 
			
		||||
    m_selectedDynamicProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedStaticProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedGeneratedProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedInputProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedInputProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
 | 
			
		||||
    m_selectedFractureDynamicProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedFractureStaticProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); 
 | 
			
		||||
    m_selectedFractureGeneratedProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedFractureInputProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedFractureDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedFractureStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); 
 | 
			
		||||
    m_selectedFractureGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    m_selectedFractureInputProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&m_calculatePercentiles, "CalculatePercentiles", true, "Calculate Percentiles", "", "", "");
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_percentileCalculationType, "PercentileCalculationType", "Method", "", "", "");
 | 
			
		||||
@@ -161,6 +161,10 @@ bool RimEclipseStatisticsCase::openEclipseGridFile()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
RimCaseCollection* RimEclipseStatisticsCase::parentStatisticsCaseCollection()
 | 
			
		||||
{
 | 
			
		||||
    return dynamic_cast<RimCaseCollection*>(this->parentField()->ownerObject());
 | 
			
		||||
 | 
			
		||||
    // MODTODO Remove
 | 
			
		||||
/*
 | 
			
		||||
    std::vector<RimCaseCollection*> parentObjects;
 | 
			
		||||
    this->parentObjectsOfType(parentObjects);
 | 
			
		||||
 | 
			
		||||
@@ -170,6 +174,7 @@ RimCaseCollection* RimEclipseStatisticsCase::parentStatisticsCaseCollection()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return NULL;
 | 
			
		||||
*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -590,18 +595,18 @@ void RimEclipseStatisticsCase::defineEditorAttribute(const caf::PdmFieldHandle*
 | 
			
		||||
void RimEclipseStatisticsCase::updateSelectionListVisibilities()
 | 
			
		||||
{
 | 
			
		||||
    bool isLocked = hasComputedStatistics();
 | 
			
		||||
    m_resultType.setUiHidden(isLocked);
 | 
			
		||||
    m_porosityModel.setUiHidden(isLocked ); // || !caseGroup()->mainCase()->reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount()
 | 
			
		||||
    m_resultType.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked);
 | 
			
		||||
    m_porosityModel.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked ); // || !caseGroup()->mainCase()->reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount()
 | 
			
		||||
 | 
			
		||||
    m_selectedDynamicProperties.setUiHidden(           isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
 | 
			
		||||
    m_selectedStaticProperties.setUiHidden(            isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
 | 
			
		||||
    m_selectedGeneratedProperties.setUiHidden(         isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::GENERATED));
 | 
			
		||||
    m_selectedInputProperties.setUiHidden(             isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
 | 
			
		||||
    m_selectedDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden(           isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
 | 
			
		||||
    m_selectedStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden(            isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
 | 
			
		||||
    m_selectedGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden(         isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::GENERATED));
 | 
			
		||||
    m_selectedInputProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden(             isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
 | 
			
		||||
 | 
			
		||||
    m_selectedFractureDynamicProperties.setUiHidden(   isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
 | 
			
		||||
    m_selectedFractureStaticProperties.setUiHidden(    isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
 | 
			
		||||
    m_selectedFractureGeneratedProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::GENERATED));
 | 
			
		||||
    m_selectedFractureInputProperties.setUiHidden(     isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
 | 
			
		||||
    m_selectedFractureDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden(   isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
 | 
			
		||||
    m_selectedFractureStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden(    isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
 | 
			
		||||
    m_selectedFractureGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::GENERATED));
 | 
			
		||||
    m_selectedFractureInputProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden(     isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -610,11 +615,11 @@ void RimEclipseStatisticsCase::updateSelectionListVisibilities()
 | 
			
		||||
void RimEclipseStatisticsCase::updatePercentileUiVisibility()
 | 
			
		||||
{
 | 
			
		||||
    bool isLocked = hasComputedStatistics();
 | 
			
		||||
    m_calculatePercentiles.setUiHidden(isLocked);
 | 
			
		||||
    m_percentileCalculationType.setUiHidden( isLocked || !m_calculatePercentiles());
 | 
			
		||||
    m_lowPercentile .setUiHidden(isLocked || !m_calculatePercentiles());
 | 
			
		||||
    m_midPercentile .setUiHidden(isLocked || !m_calculatePercentiles());
 | 
			
		||||
    m_highPercentile.setUiHidden(isLocked || !m_calculatePercentiles());
 | 
			
		||||
    m_calculatePercentiles.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked);
 | 
			
		||||
    m_percentileCalculationType.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !m_calculatePercentiles());
 | 
			
		||||
    m_lowPercentile .capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked || !m_calculatePercentiles());
 | 
			
		||||
    m_midPercentile .capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked || !m_calculatePercentiles());
 | 
			
		||||
    m_highPercentile.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked || !m_calculatePercentiles());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,7 @@
 | 
			
		||||
#include "RimEclipseStatisticsCaseCollection.h"
 | 
			
		||||
 | 
			
		||||
#include "RimIdenticalGridCaseGroup.h"
 | 
			
		||||
#include "RimEclipseStatisticsCase.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
CAF_PDM_SOURCE_INIT(RimEclipseStatisticsCaseCollection, "RimStatisticalCollection");
 | 
			
		||||
@@ -49,6 +50,12 @@ RimEclipseStatisticsCaseCollection::~RimEclipseStatisticsCaseCollection()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
RimIdenticalGridCaseGroup* RimEclipseStatisticsCaseCollection::parentCaseGroup()
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    RimIdenticalGridCaseGroup* parentObject = dynamic_cast<RimIdenticalGridCaseGroup*>(this->owner());
 | 
			
		||||
    return parentObject;
 | 
			
		||||
 | 
			
		||||
    // MODTODO Remove
 | 
			
		||||
/*
 | 
			
		||||
    std::vector<RimIdenticalGridCaseGroup*> parentObjects;
 | 
			
		||||
    this->parentObjectsOfType(parentObjects);
 | 
			
		||||
 | 
			
		||||
@@ -58,5 +65,6 @@ RimIdenticalGridCaseGroup* RimEclipseStatisticsCaseCollection::parentCaseGroup()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return NULL;
 | 
			
		||||
*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,13 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
class RimEclipseStatisticsCase;
 | 
			
		||||
class RimIdenticalGridCaseGroup;
 | 
			
		||||
 | 
			
		||||
@@ -42,7 +44,7 @@ public:
 | 
			
		||||
    RimEclipseStatisticsCaseCollection();
 | 
			
		||||
    virtual ~RimEclipseStatisticsCaseCollection();
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimEclipseStatisticsCase*> cases;
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipseStatisticsCase*> cases;
 | 
			
		||||
 | 
			
		||||
    RimIdenticalGridCaseGroup* parentCaseGroup();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,7 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
@@ -84,14 +85,14 @@ public:
 | 
			
		||||
 | 
			
		||||
    // Fields containing child objects :
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimEclipseCellColors*>                cellResult;
 | 
			
		||||
    caf::PdmField<RimCellEdgeColors*>                   cellEdgeResult;
 | 
			
		||||
    caf::PdmField<RimEclipseFaultColors*>               faultResultSettings;
 | 
			
		||||
    caf::PdmChildField<RimEclipseCellColors*>                cellResult;
 | 
			
		||||
    caf::PdmChildField<RimCellEdgeColors*>                   cellEdgeResult;
 | 
			
		||||
    caf::PdmChildField<RimEclipseFaultColors*>               faultResultSettings;
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimEclipsePropertyFilterCollection*>  propertyFilterCollection;
 | 
			
		||||
    caf::PdmChildField<RimEclipsePropertyFilterCollection*>  propertyFilterCollection;
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimEclipseWellCollection*>            wellCollection;
 | 
			
		||||
    caf::PdmField<RimFaultCollection*>                  faultCollection;
 | 
			
		||||
    caf::PdmChildField<RimEclipseWellCollection*>            wellCollection;
 | 
			
		||||
    caf::PdmChildField<RimFaultCollection*>                  faultCollection;
 | 
			
		||||
 | 
			
		||||
    // Fields
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ RimEclipseWell::RimEclipseWell()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&name,       "WellName",             "Name", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&showWell,         "ShowWell",      true, "Show well ", "", "", "");
 | 
			
		||||
    showWell.setUiHidden(true);
 | 
			
		||||
    showWell.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showWellLabel,         "ShowWellLabel",      true, "Show well label", "", "", "");
 | 
			
		||||
 | 
			
		||||
@@ -48,8 +48,8 @@ RimEclipseWell::RimEclipseWell()
 | 
			
		||||
    CAF_PDM_InitField(&showWellCells,       "ShowWellCells",        true,   "Add cells to range filter", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&showWellCellFence,   "ShowWellCellFence",    false,  "Use well fence", "", "", "");
 | 
			
		||||
 | 
			
		||||
    name.setUiHidden(true);
 | 
			
		||||
    name.setUiReadOnly(true);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
    m_wellIndex = cvf::UNDEFINED_SIZE_T;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -85,7 +85,7 @@ RimEclipseWellCollection::RimEclipseWellCollection()
 | 
			
		||||
    CAF_PDM_InitObject("Wells", ":/WellCollection.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&isActive,              "Active",        true,   "Active", "", "", "");
 | 
			
		||||
    isActive.setUiHidden(true);
 | 
			
		||||
    isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showWellHead,        "ShowWellHead",     true,   "Show well heads", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&showWellLabel,       "ShowWellLabel",    true,   "Show well labels", "", "", "");
 | 
			
		||||
@@ -98,7 +98,7 @@ RimEclipseWellCollection::RimEclipseWellCollection()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&pipeRadiusScaleFactor,       "WellPipeRadiusScale",    0.1,                        "Pipe radius scale", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&pipeCrossSectionVertexCount, "WellPipeVertexCount", 12, "Pipe vertex count", "", "", "");
 | 
			
		||||
    pipeCrossSectionVertexCount.setUiHidden(true);
 | 
			
		||||
    pipeCrossSectionVertexCount.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&wellCellsToRangeFilterMode,  "GlobalWellCellVisibility", WellCellsRangeFilterEnum(RANGE_ADD_NONE),  "Add cells to range filter", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&showWellCellFences,  "ShowWellFences",           false,                              "Use well fence", "", "", "");
 | 
			
		||||
 
 | 
			
		||||
@@ -20,10 +20,11 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
 | 
			
		||||
// Include to make Pdm work for cvf::Color
 | 
			
		||||
#include "cafPdmFieldCvfColor.h"    
 | 
			
		||||
@@ -101,7 +102,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<bool>                 isAutoDetectingBranches;
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimEclipseWell*>     wells;
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipseWell*>     wells;
 | 
			
		||||
 | 
			
		||||
    RimEclipseWell*                            findWell(QString name);
 | 
			
		||||
    bool                                hasVisibleWellCells();
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ RimExportInputSettings::RimExportInputSettings()
 | 
			
		||||
    CAF_PDM_InitObject("RimExportInputSettings", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&fileName, "Filename", "Export filename", "", "", "");
 | 
			
		||||
    fileName.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
    fileName.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&eclipseKeyword, "Eclipse Keyword", "Keyword", "", "", "");
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -33,11 +33,11 @@ RimFault::RimFault()
 | 
			
		||||
    CAF_PDM_InitObject("RimFault", ":/draw_style_faults_24x24.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&name,       "FaultName",             "Name", "", "", "");
 | 
			
		||||
    name.setUiHidden(true);
 | 
			
		||||
    name.setUiReadOnly(true);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showFault,         "ShowFault",      true, "Show fault", "", "", "");
 | 
			
		||||
    showFault.setUiHidden(true);
 | 
			
		||||
    showFault.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&faultColor,       "Color",        cvf::Color3f(0.588f, 0.588f, 0.804f), "Fault color", "", "", "");
 | 
			
		||||
 | 
			
		||||
@@ -69,7 +69,9 @@ void RimFault::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const Q
 | 
			
		||||
    if (&faultColor == changedField || &showFault == changedField)
 | 
			
		||||
    {
 | 
			
		||||
        RimEclipseView* reservoirView = NULL;
 | 
			
		||||
        this->firstAncestorOfType(reservoirView);
 | 
			
		||||
 | 
			
		||||
        // MODTODO fix usage of firstAncestorOfType
 | 
			
		||||
        //this->firstAncestorOfType(reservoirView);
 | 
			
		||||
 | 
			
		||||
        if (reservoirView) 
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ RimFaultCollection::RimFaultCollection()
 | 
			
		||||
 | 
			
		||||
    RiaPreferences* prefs = RiaApplication::instance()->preferences();
 | 
			
		||||
    CAF_PDM_InitField(&showFaultCollection,     "Active",        true,   "Active", "", "", "");
 | 
			
		||||
    showFaultCollection.setUiHidden(true);
 | 
			
		||||
    showFaultCollection.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showFaultFaces,          "ShowFaultFaces",           true,    "Show defined faces", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&showOppositeFaultFaces,  "ShowOppositeFaultFaces",   true,    "Show opposite faces", "", "", "");
 | 
			
		||||
@@ -325,9 +325,9 @@ void RimFaultCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderi
 | 
			
		||||
{
 | 
			
		||||
    bool isGridVizMode = isGridVisualizationMode();
 | 
			
		||||
 | 
			
		||||
    faultResult.setUiReadOnly(isGridVizMode);
 | 
			
		||||
    showFaultFaces.setUiReadOnly(isGridVizMode);
 | 
			
		||||
    showOppositeFaultFaces.setUiReadOnly(isGridVizMode);
 | 
			
		||||
    faultResult.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(isGridVizMode);
 | 
			
		||||
    showFaultFaces.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(isGridVizMode);
 | 
			
		||||
    showOppositeFaultFaces.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(isGridVizMode);
 | 
			
		||||
 | 
			
		||||
    caf::PdmUiGroup* labs = uiOrdering.addNewGroup("Fault Labels");
 | 
			
		||||
    labs->add(&showFaultLabel);
 | 
			
		||||
 
 | 
			
		||||
@@ -19,16 +19,20 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "RimReservoirCellResultsStorage.h"
 | 
			
		||||
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
 | 
			
		||||
// Include to make Pdm work for cvf::Color
 | 
			
		||||
#include "cafPdmFieldCvfColor.h"    
 | 
			
		||||
 | 
			
		||||
#include "RimReservoirCellResultsStorage.h"
 | 
			
		||||
 | 
			
		||||
#include <QString>
 | 
			
		||||
 | 
			
		||||
@@ -78,10 +82,10 @@ public:
 | 
			
		||||
    caf::PdmField<bool>                 showNNCs;
 | 
			
		||||
    caf::PdmField<bool>                 hideNncsWhenNoResultIsAvailable;
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimFault*>    faults;
 | 
			
		||||
    caf::PdmChildArrayField<RimFault*>    faults;
 | 
			
		||||
    RimFault*                           findFaultByName(QString name);
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimNoCommonAreaNncCollection*> noCommonAreaNnncCollection;
 | 
			
		||||
    caf::PdmChildField<RimNoCommonAreaNncCollection*> noCommonAreaNnncCollection;
 | 
			
		||||
 | 
			
		||||
    virtual void                        fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
 | 
			
		||||
    virtual caf::PdmFieldHandle*        objectToggleField();
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ RimGeoMechCase::RimGeoMechCase(void)
 | 
			
		||||
    CAF_PDM_InitObject("Geomechanical Case", ":/GeoMechCase48x48.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&m_caseFileName, "CaseFileName", QString(), "Case file name", "", "", "");
 | 
			
		||||
    m_caseFileName.setUiReadOnly(true);
 | 
			
		||||
    m_caseFileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&geoMechViews, "GeoMechViews", "",  "", "", "");
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -18,11 +18,14 @@
 | 
			
		||||
/////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "RimCase.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
class RimGeoMechView;
 | 
			
		||||
@@ -54,7 +57,7 @@ public:
 | 
			
		||||
    virtual std::vector<RimView*>           views();
 | 
			
		||||
 | 
			
		||||
    // Fields:                                        
 | 
			
		||||
    caf::PdmPointersField<RimGeoMechView*>  geoMechViews;
 | 
			
		||||
    caf::PdmChildArrayField<RimGeoMechView*>  geoMechViews;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    virtual void                            initAfterRead();
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,8 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "RimGeoMechResultDefinition.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
 | 
			
		||||
class RimLegendConfig;
 | 
			
		||||
@@ -37,5 +39,5 @@ public:
 | 
			
		||||
    RimGeoMechCellColors(void);
 | 
			
		||||
    virtual ~RimGeoMechCellColors(void);
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimLegendConfig*> legendConfig;
 | 
			
		||||
    caf::PdmChildField<RimLegendConfig*> legendConfig;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
@@ -37,7 +38,7 @@ public:
 | 
			
		||||
    RimGeoMechModels(void);
 | 
			
		||||
    virtual ~RimGeoMechModels(void);
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimGeoMechCase*>                     cases;
 | 
			
		||||
    caf::PdmChildArrayField<RimGeoMechCase*> cases;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -47,13 +47,13 @@ RimGeoMechPropertyFilter::RimGeoMechPropertyFilter()
 | 
			
		||||
 | 
			
		||||
    // Set to hidden to avoid this item to been displayed as a child item
 | 
			
		||||
    // Fields in this object are displayed using defineUiOrdering()
 | 
			
		||||
    resultDefinition.setUiHidden(true);
 | 
			
		||||
    resultDefinition.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&lowerBound, "LowerBound", 0.0, "Min", "", "", "");
 | 
			
		||||
    lowerBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
    lowerBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&upperBound, "UpperBound", 0.0, "Max", "", "", "");
 | 
			
		||||
    upperBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
    upperBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
 | 
			
		||||
 | 
			
		||||
    updateIconState();
 | 
			
		||||
 | 
			
		||||
@@ -177,8 +177,8 @@ void RimGeoMechPropertyFilter::computeResultValueRange()
 | 
			
		||||
    m_maximumResultValue = max;
 | 
			
		||||
    m_minimumResultValue = min;
 | 
			
		||||
 | 
			
		||||
    lowerBound.setUiName(QString("Min (%1)").arg(min));
 | 
			
		||||
    upperBound.setUiName(QString("Max (%1)").arg(max));
 | 
			
		||||
    lowerBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min (%1)").arg(min));
 | 
			
		||||
    upperBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max (%1)").arg(max));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,8 @@
 | 
			
		||||
 | 
			
		||||
#include "RimCellFilter.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RimGeoMechResultDefinition;
 | 
			
		||||
class RimGeoMechPropertyFilterCollection;
 | 
			
		||||
@@ -37,7 +39,7 @@ public:
 | 
			
		||||
    RimGeoMechPropertyFilter();
 | 
			
		||||
    virtual ~RimGeoMechPropertyFilter();
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimGeoMechResultDefinition*>  resultDefinition;
 | 
			
		||||
    caf::PdmChildField<RimGeoMechResultDefinition*>  resultDefinition;
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<double>                       lowerBound;
 | 
			
		||||
    caf::PdmField<double>                       upperBound;
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ RimGeoMechPropertyFilterCollection::RimGeoMechPropertyFilterCollection()
 | 
			
		||||
    
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&propertyFilters, "PropertyFilters", "Property Filters",         "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&active,                   "Active", true, "Active", "", "", "");
 | 
			
		||||
    active.setUiHidden(true);
 | 
			
		||||
    active.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -19,8 +19,9 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
 | 
			
		||||
class RimGeoMechPropertyFilter;
 | 
			
		||||
@@ -43,7 +44,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    // Fields:
 | 
			
		||||
    caf::PdmField<bool> active;
 | 
			
		||||
    caf::PdmPointersField<RimGeoMechPropertyFilter*> propertyFilters;
 | 
			
		||||
    caf::PdmChildArrayField<RimGeoMechPropertyFilter*> propertyFilters;
 | 
			
		||||
 | 
			
		||||
    // Methods
 | 
			
		||||
    RimGeoMechPropertyFilter*  createAndAppendPropertyFilter();
 | 
			
		||||
 
 | 
			
		||||
@@ -53,22 +53,22 @@ RimGeoMechResultDefinition::RimGeoMechResultDefinition(void)
 | 
			
		||||
    CAF_PDM_InitObject("Color Result", ":/CellResult.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_resultPositionType, "ResultPositionType" , "Result Position", "", "", "");
 | 
			
		||||
    m_resultPositionType.setUiHidden(true);
 | 
			
		||||
    m_resultPositionType.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitField(&m_resultFieldName, "ResultFieldName", QString(""), "Field Name", "", "", "");
 | 
			
		||||
    m_resultFieldName.setUiHidden(true);
 | 
			
		||||
    m_resultFieldName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitField(&m_resultComponentName, "ResultComponentName", QString(""), "Component", "", "", "");
 | 
			
		||||
    m_resultComponentName.setUiHidden(true);
 | 
			
		||||
    m_resultComponentName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_resultPositionTypeUiField, "ResultPositionTypeUi", "Result Position", "", "", "");
 | 
			
		||||
    m_resultPositionTypeUiField.setIOWritable(false);
 | 
			
		||||
    m_resultPositionTypeUiField.setIOReadable(false);
 | 
			
		||||
    m_resultPositionTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    m_resultPositionTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&m_resultVariableUiField, "ResultVariableUI", QString(""), "Value", "", "", "");
 | 
			
		||||
    m_resultVariableUiField.setIOWritable(false);
 | 
			
		||||
    m_resultVariableUiField.setIOReadable(false);
 | 
			
		||||
    m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
 | 
			
		||||
    m_resultVariableUiField.setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
 | 
			
		||||
    m_resultVariableUiField.setUiLabelPosition(caf::PdmUiItemInfo::TOP);
 | 
			
		||||
    m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
 | 
			
		||||
    m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -19,29 +19,31 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmFieldCvfColor.h"   
 | 
			
		||||
#include "cafPdmFieldCvfMat4d.h"   
 | 
			
		||||
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
#include "RimView.h"
 | 
			
		||||
 | 
			
		||||
class RimGeoMechCellColors;
 | 
			
		||||
class Rim3dOverlayInfoConfig;
 | 
			
		||||
class RiuViewer;
 | 
			
		||||
class RimGeoMechCase;
 | 
			
		||||
class RivGeoMechPartMgr;
 | 
			
		||||
class RimCellRangeFilterCollection;
 | 
			
		||||
class RivGeoMechVizLogic;
 | 
			
		||||
class RimGeoMechPropertyFilterCollection;
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmFieldCvfColor.h"   
 | 
			
		||||
#include "cafPdmFieldCvfMat4d.h"   
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
class RigFemPart;
 | 
			
		||||
class Rim3dOverlayInfoConfig;
 | 
			
		||||
class RimCellRangeFilterCollection;
 | 
			
		||||
class RimGeoMechCase;
 | 
			
		||||
class RimGeoMechCellColors;
 | 
			
		||||
class RimGeoMechPropertyFilterCollection;
 | 
			
		||||
class RiuViewer;
 | 
			
		||||
class RivGeoMechPartMgr;
 | 
			
		||||
class RivGeoMechVizLogic;
 | 
			
		||||
 | 
			
		||||
namespace cvf {
 | 
			
		||||
    class Transform;
 | 
			
		||||
    class CellRangeFilter;
 | 
			
		||||
    class Transform;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
@@ -61,8 +63,8 @@ public:
 | 
			
		||||
 | 
			
		||||
    virtual void                                        loadDataAndUpdate();
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimGeoMechCellColors*>                cellResult;
 | 
			
		||||
    caf::PdmField<RimGeoMechPropertyFilterCollection*>  propertyFilterCollection;
 | 
			
		||||
    caf::PdmChildField<RimGeoMechCellColors*>                cellResult;
 | 
			
		||||
    caf::PdmChildField<RimGeoMechPropertyFilterCollection*>  propertyFilterCollection;
 | 
			
		||||
 | 
			
		||||
    bool                                                isTimeStepDependentDataVisible();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,7 @@ RimIdenticalGridCaseGroup::RimIdenticalGridCaseGroup()
 | 
			
		||||
    CAF_PDM_InitField(&name,    "UserDescription",  QString("Grid Case Group"), "Name", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&groupId, "GroupId", -1, "Case Group ID", "", "" ,"");
 | 
			
		||||
    groupId.setUiReadOnly(true);
 | 
			
		||||
    groupId.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&statisticsCaseCollection, "StatisticsCaseCollection", "Derived Statistics", ":/Histograms16x16.png", "", "");
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&caseCollection, "CaseCollection", "Source Cases", ":/Cases16x16.png", "", "");
 | 
			
		||||
@@ -457,11 +457,10 @@ RigActiveCellInfo* RimIdenticalGridCaseGroup::unionOfActiveCells(RifReaderInterf
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
bool RimIdenticalGridCaseGroup::isStatisticsCaseCollection(RimCaseCollection* rimCaseCollection)
 | 
			
		||||
{
 | 
			
		||||
    std::vector<caf::PdmFieldHandle*> fields;
 | 
			
		||||
    rimCaseCollection->parentFields(fields);
 | 
			
		||||
    if (fields.size() == 1)
 | 
			
		||||
    caf::PdmFieldHandle* parentField = rimCaseCollection->parentField();
 | 
			
		||||
    if (parentField)
 | 
			
		||||
    {
 | 
			
		||||
        if (fields[0]->keyword() == "StatisticsCaseCollection")
 | 
			
		||||
        if (parentField->keyword() == "StatisticsCaseCollection")
 | 
			
		||||
        {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -20,19 +20,21 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
#include "RifReaderInterface.h"
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
#include "RifReaderInterface.h"
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
class RigActiveCellInfo;
 | 
			
		||||
class RigMainGrid;
 | 
			
		||||
 | 
			
		||||
class RimCaseCollection;
 | 
			
		||||
class RimEclipseStatisticsCase;
 | 
			
		||||
 | 
			
		||||
class RimEclipseCase;
 | 
			
		||||
class RigMainGrid;
 | 
			
		||||
class RigActiveCellInfo;
 | 
			
		||||
class RimEclipseStatisticsCase;
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
//
 | 
			
		||||
@@ -49,8 +51,8 @@ public:
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<QString>              name;
 | 
			
		||||
    caf::PdmField<int>                  groupId;
 | 
			
		||||
    caf::PdmField<RimCaseCollection*>   caseCollection;
 | 
			
		||||
    caf::PdmField<RimCaseCollection*>   statisticsCaseCollection;
 | 
			
		||||
    caf::PdmChildField<RimCaseCollection*>   caseCollection;
 | 
			
		||||
    caf::PdmChildField<RimCaseCollection*>   statisticsCaseCollection;
 | 
			
		||||
 | 
			
		||||
    void                                addCase(RimEclipseCase* reservoir);
 | 
			
		||||
    void                                removeCase(RimEclipseCase* reservoir);
 | 
			
		||||
 
 | 
			
		||||
@@ -114,7 +114,7 @@ RimLegendConfig::RimLegendConfig()
 | 
			
		||||
    CAF_PDM_InitField(&m_userDefinedMaxValue, "UserDefinedMax", 1.0, "Max", "", "Min value of the legend", "");
 | 
			
		||||
    CAF_PDM_InitField(&m_userDefinedMinValue, "UserDefinedMin", 0.0, "Min", "", "Max value of the legend", "");
 | 
			
		||||
    CAF_PDM_InitField(&resultVariableName, "ResultVariableUsage", QString(""), "", "", "", "");
 | 
			
		||||
    resultVariableName.setUiHidden(true);
 | 
			
		||||
    resultVariableName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    m_linDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLinear;
 | 
			
		||||
    m_logDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLog;
 | 
			
		||||
@@ -392,20 +392,20 @@ void RimLegendConfig::updateLegend()
 | 
			
		||||
 | 
			
		||||
   if (m_globalAutoMax != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
   {
 | 
			
		||||
       m_userDefinedMaxValue.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax, 'g', m_precision) + ")");
 | 
			
		||||
       m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax, 'g', m_precision) + ")");
 | 
			
		||||
   }
 | 
			
		||||
   else
 | 
			
		||||
   {
 | 
			
		||||
       m_userDefinedMaxValue.setUiName(QString());
 | 
			
		||||
       m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString());
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   if (m_globalAutoMin != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
   {
 | 
			
		||||
       m_userDefinedMinValue.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin, 'g', m_precision) + ")");
 | 
			
		||||
       m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin, 'g', m_precision) + ")");
 | 
			
		||||
   }
 | 
			
		||||
   else
 | 
			
		||||
   {
 | 
			
		||||
        m_userDefinedMinValue.setUiName(QString());
 | 
			
		||||
        m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString());
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -470,13 +470,13 @@ void RimLegendConfig::updateFieldVisibility()
 | 
			
		||||
{
 | 
			
		||||
    if (m_rangeMode == USER_DEFINED)
 | 
			
		||||
    {
 | 
			
		||||
        m_userDefinedMaxValue.setUiHidden(false);
 | 
			
		||||
        m_userDefinedMinValue.setUiHidden(false);
 | 
			
		||||
        m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
 | 
			
		||||
        m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        m_userDefinedMaxValue.setUiHidden(true);
 | 
			
		||||
        m_userDefinedMinValue.setUiHidden(true);
 | 
			
		||||
        m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
        m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ RimMockModelSettings::RimMockModelSettings()
 | 
			
		||||
    CAF_PDM_InitField(&cellCountZ,    "CellCountZ",  quint64(10), "Cell Count Z", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&totalCellCount,  "TotalCellCount", "Total Cell Count",   "", "", "");
 | 
			
		||||
    totalCellCount.setUiReadOnly(true);
 | 
			
		||||
    totalCellCount.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&resultCount,    "ResultCount",    quint64(3),    "Result Count", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&timeStepCount,  "TimeStepCount",  quint64(10),   "Time Step Count", "", "", "");
 | 
			
		||||
@@ -58,7 +58,12 @@ RimMockModelSettings::~RimMockModelSettings()
 | 
			
		||||
void RimMockModelSettings::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
 | 
			
		||||
{
 | 
			
		||||
    totalCellCount = cellCountX * cellCountY * cellCountZ;
 | 
			
		||||
    totalCellCount.updateConnectedEditors();
 | 
			
		||||
 | 
			
		||||
    caf::PdmUiFieldHandle* uiFieldHandle = uiField(&totalCellCount);
 | 
			
		||||
    if (uiFieldHandle)
 | 
			
		||||
    {
 | 
			
		||||
        uiFieldHandle->updateConnectedEditors();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@ RimNoCommonAreaNNC::RimNoCommonAreaNNC()
 | 
			
		||||
    CAF_PDM_InitObject("RimNoCommonAreaNNC", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&name,       "Name",             "Name", "", "", "");
 | 
			
		||||
    name.setUiReadOnly(true);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@
 | 
			
		||||
 | 
			
		||||
#include "RimNoCommonAreaNncCollection.h"
 | 
			
		||||
 | 
			
		||||
#include "RimNoCommonAreaNNC.h"
 | 
			
		||||
 | 
			
		||||
CAF_PDM_SOURCE_INIT(RimNoCommonAreaNncCollection, "RimNoCommonAreaNncCollection");
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -29,7 +31,7 @@ RimNoCommonAreaNncCollection::RimNoCommonAreaNncCollection()
 | 
			
		||||
    CAF_PDM_InitObject("RimNoCommonAreaNncCollection", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&name, "UserDescription", QString("No Common Area Nncs"), "Name", "", "", "");
 | 
			
		||||
    name.setUiHidden(true);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&noCommonAreaNncs, "NoCommonAreaNncs", "NoCommonAreaNncs", "", "", "");
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
@@ -41,5 +42,5 @@ public:
 | 
			
		||||
    virtual caf::PdmFieldHandle* userDescriptionField();
 | 
			
		||||
    
 | 
			
		||||
    caf::PdmField<QString>                      name;
 | 
			
		||||
    caf::PdmPointersField<RimNoCommonAreaNNC*>  noCommonAreaNncs;
 | 
			
		||||
    caf::PdmChildArrayField<RimNoCommonAreaNNC*>  noCommonAreaNncs;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -20,13 +20,14 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
 | 
			
		||||
class RimWellPathCollection;
 | 
			
		||||
class RimEclipseCaseCollection;
 | 
			
		||||
class RimGeoMechModels;
 | 
			
		||||
class RimWellPathCollection;
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
///  
 | 
			
		||||
@@ -40,7 +41,7 @@ public:
 | 
			
		||||
    RimOilField(void);
 | 
			
		||||
    virtual ~RimOilField(void);
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimEclipseCaseCollection*>       analysisModels;
 | 
			
		||||
    caf::PdmField<RimGeoMechModels*>        geoMechModels;
 | 
			
		||||
	caf::PdmField<RimWellPathCollection*>   wellPathCollection;
 | 
			
		||||
    caf::PdmChildField<RimEclipseCaseCollection*>       analysisModels;
 | 
			
		||||
    caf::PdmChildField<RimGeoMechModels*>        geoMechModels;
 | 
			
		||||
	caf::PdmChildField<RimWellPathCollection*>   wellPathCollection;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -32,6 +32,7 @@
 | 
			
		||||
#include "RimScriptCollection.h"
 | 
			
		||||
#include "RimWellPathCollection.h"
 | 
			
		||||
#include "RimWellPathImport.h"
 | 
			
		||||
#include "RimCommandObject.h"
 | 
			
		||||
 | 
			
		||||
#include <QDir>
 | 
			
		||||
#include "RimGeoMechModels.h"
 | 
			
		||||
@@ -44,44 +45,44 @@ CAF_PDM_SOURCE_INIT(RimProject, "ResInsightProject");
 | 
			
		||||
RimProject::RimProject(void)
 | 
			
		||||
{
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_projectFileVersionString, "ProjectFileVersionString", "", "", "", "");
 | 
			
		||||
    m_projectFileVersionString.setUiHidden(true);
 | 
			
		||||
    m_projectFileVersionString.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&nextValidCaseId, "NextValidCaseId", 0, "Next Valid Case ID", "", "" ,"");
 | 
			
		||||
    nextValidCaseId.setUiHidden(true);
 | 
			
		||||
    nextValidCaseId.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&nextValidCaseGroupId, "NextValidCaseGroupId", 0, "Next Valid Case Group ID", "", "" ,"");
 | 
			
		||||
    nextValidCaseGroupId.setUiHidden(true);
 | 
			
		||||
    nextValidCaseGroupId.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&oilFields, "OilFields", "Oil Fields",  "", "", "");
 | 
			
		||||
    oilFields.setUiHidden(true);
 | 
			
		||||
    oilFields.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&scriptCollection, "ScriptCollection", "Scripts", ":/Default.png", "", "");
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&treeViewState, "TreeViewState", "",  "", "", "");
 | 
			
		||||
    treeViewState.setUiHidden(true);
 | 
			
		||||
    treeViewState.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&wellPathImport, "WellPathImport", "WellPathImport", "", "", "");
 | 
			
		||||
    wellPathImport = new RimWellPathImport();
 | 
			
		||||
    wellPathImport.setUiHidden(true);
 | 
			
		||||
    wellPathImport.setUiChildrenHidden(true);
 | 
			
		||||
    wellPathImport.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    wellPathImport.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&commandObjects, "CommandObjects", "CommandObjects", "", "", "");
 | 
			
		||||
    //wellPathImport.setUiHidden(true);
 | 
			
		||||
    //wellPathImport.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(¤tModelIndexPath, "TreeViewCurrentModelIndexPath", "",  "", "", "");
 | 
			
		||||
    currentModelIndexPath.setUiHidden(true);
 | 
			
		||||
    currentModelIndexPath.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    // Obsolete fields. The content is moved to OilFields and friends
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&casesObsolete, "Reservoirs", "",  "", "", "");
 | 
			
		||||
    casesObsolete.setUiHidden(true);
 | 
			
		||||
    casesObsolete.setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
 | 
			
		||||
    casesObsolete.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    casesObsolete.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&caseGroupsObsolete, "CaseGroups", "",  "", "", "");
 | 
			
		||||
    caseGroupsObsolete.setUiHidden(true);
 | 
			
		||||
    caseGroupsObsolete.setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
 | 
			
		||||
    caseGroupsObsolete.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    caseGroupsObsolete.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
 | 
			
		||||
 | 
			
		||||
    // Initialization
 | 
			
		||||
 | 
			
		||||
    scriptCollection = new RimScriptCollection();
 | 
			
		||||
    scriptCollection->directory.setUiHidden(true);
 | 
			
		||||
    scriptCollection->directory.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    // For now, create a default first oilfield that contains the rest of the project
 | 
			
		||||
    oilFields.push_back(new RimOilField);
 | 
			
		||||
 
 | 
			
		||||
@@ -20,18 +20,19 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmDocument.h"
 | 
			
		||||
 | 
			
		||||
class RimOilField;
 | 
			
		||||
class RimEclipseCase;
 | 
			
		||||
class RimCase;
 | 
			
		||||
class RigGridManager;
 | 
			
		||||
class RimScriptCollection;
 | 
			
		||||
class RimIdenticalGridCaseGroup;
 | 
			
		||||
class RigMainGrid;
 | 
			
		||||
class RigCaseData;
 | 
			
		||||
class RimWellPathImport;
 | 
			
		||||
class RigGridManager;
 | 
			
		||||
class RigMainGrid;
 | 
			
		||||
class RimCase;
 | 
			
		||||
class RimCommandObject;
 | 
			
		||||
class RimEclipseCase;
 | 
			
		||||
class RimIdenticalGridCaseGroup;
 | 
			
		||||
class RimOilField;
 | 
			
		||||
class RimScriptCollection;
 | 
			
		||||
class RimWellPathImport;
 | 
			
		||||
 | 
			
		||||
//==================================================================================================
 | 
			
		||||
///  
 | 
			
		||||
@@ -45,10 +46,10 @@ public:
 | 
			
		||||
    RimProject(void);
 | 
			
		||||
    virtual ~RimProject(void);
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimOilField*>                 oilFields;
 | 
			
		||||
    caf::PdmField<RimScriptCollection*>                 scriptCollection;
 | 
			
		||||
    caf::PdmField<RimWellPathImport*>                   wellPathImport;
 | 
			
		||||
    caf::PdmPointersField<RimCommandObject*>            commandObjects;
 | 
			
		||||
    caf::PdmChildArrayField<RimOilField*>                 oilFields;
 | 
			
		||||
    caf::PdmChildField<RimScriptCollection*>                 scriptCollection;
 | 
			
		||||
    caf::PdmChildField<RimWellPathImport*>                   wellPathImport;
 | 
			
		||||
    caf::PdmChildArrayField<RimCommandObject*>            commandObjects;
 | 
			
		||||
    caf::PdmField<QString>                              treeViewState;
 | 
			
		||||
    caf::PdmField<QString>                              currentModelIndexPath;
 | 
			
		||||
 | 
			
		||||
@@ -80,7 +81,7 @@ private:
 | 
			
		||||
    caf::PdmField<int>                                  nextValidCaseId;          // Unique case ID within a project, used to identify a case from Octave scripts
 | 
			
		||||
    caf::PdmField<int>                                  nextValidCaseGroupId;     // Unique case group ID within a project, used to identify a case group from Octave scripts
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimEclipseCase*>                     casesObsolete; // obsolete
 | 
			
		||||
    caf::PdmPointersField<RimIdenticalGridCaseGroup*>   caseGroupsObsolete; // obsolete
 | 
			
		||||
    caf::PdmChildArrayField<RimEclipseCase*>                     casesObsolete; // obsolete
 | 
			
		||||
    caf::PdmChildArrayField<RimIdenticalGridCaseGroup*>   caseGroupsObsolete; // obsolete
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -50,9 +50,9 @@ RimReservoirCellResultsStorage::RimReservoirCellResultsStorage()
 | 
			
		||||
    CAF_PDM_InitObject("Cacher", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&m_resultCacheFileName, "ResultCacheFileName",  QString(), "UiDummyname", "", "" ,"");
 | 
			
		||||
    m_resultCacheFileName.setUiHidden(true);
 | 
			
		||||
    m_resultCacheFileName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_resultCacheMetaData, "ResultCacheEntries", "UiDummyname", "", "", "");
 | 
			
		||||
    m_resultCacheMetaData.setUiHidden(true);
 | 
			
		||||
    m_resultCacheMetaData.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1527,8 +1527,11 @@ double RimReservoirCellResultsStorage::darchysValue()
 | 
			
		||||
 | 
			
		||||
    double darchy = 0.008527; // (ECLIPSE 100) (METRIC)
 | 
			
		||||
 | 
			
		||||
    // MODTODO Fix usage of firstAncestorOfType
 | 
			
		||||
    return darchy;
 | 
			
		||||
 | 
			
		||||
    RimEclipseCase* rimCase = NULL;
 | 
			
		||||
    this->firstAncestorOfType(rimCase);
 | 
			
		||||
    //this->firstAncestorOfType(rimCase);
 | 
			
		||||
 | 
			
		||||
    if (rimCase && rimCase->reservoirData())
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,13 +20,16 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include "RimDefines.h"
 | 
			
		||||
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
#include "cvfBase.h"
 | 
			
		||||
#include "cvfObject.h"
 | 
			
		||||
 | 
			
		||||
#include "RimDefines.h"
 | 
			
		||||
 | 
			
		||||
#include <QDateTime>
 | 
			
		||||
 | 
			
		||||
@@ -80,7 +83,7 @@ private:
 | 
			
		||||
    QString                         getCacheDirectoryPath();
 | 
			
		||||
    // Fields
 | 
			
		||||
    caf::PdmField<QString>          m_resultCacheFileName;
 | 
			
		||||
    caf::PdmPointersField<RimReservoirCellResultsStorageEntryInfo*> 
 | 
			
		||||
    caf::PdmChildArrayField<RimReservoirCellResultsStorageEntryInfo*> 
 | 
			
		||||
                                    m_resultCacheMetaData;
 | 
			
		||||
 | 
			
		||||
    cvf::ref<RifReaderInterface>    m_readerInterface;
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ RimScriptCollection::RimScriptCollection()
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&calcScripts, "CalcScripts", "",  "", "", "");
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&subDirectories, "SubDirectories", "",  "", "", "");
 | 
			
		||||
 | 
			
		||||
    directory.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
    directory.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
@@ -44,9 +45,9 @@ public:
 | 
			
		||||
 | 
			
		||||
public: // Pdm Fields
 | 
			
		||||
    caf::PdmField<QString>                      directory;
 | 
			
		||||
    caf::PdmPointersField<RimCalcScript*>       calcScripts;
 | 
			
		||||
    caf::PdmChildArrayField<RimCalcScript*>       calcScripts;
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimScriptCollection*> subDirectories;
 | 
			
		||||
    caf::PdmChildArrayField<RimScriptCollection*> subDirectories;
 | 
			
		||||
 | 
			
		||||
public: // Methods
 | 
			
		||||
    void                                        readContentFromDisc();
 | 
			
		||||
 
 | 
			
		||||
@@ -57,29 +57,29 @@ RimTernaryLegendConfig::RimTernaryLegendConfig()
 | 
			
		||||
    CAF_PDM_InitField(&rangeMode, "RangeType", RangeModeEnum(USER_DEFINED), "Range type", "", "Switches between automatic and user defined range on the legend", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&applyLocalMinMax,   "m_applyLocalMinMax", "", "", "", "");
 | 
			
		||||
    applyLocalMinMax.setIOWritable(false);
 | 
			
		||||
    applyLocalMinMax.setIOReadable(false);
 | 
			
		||||
    applyLocalMinMax.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    applyLocalMinMax.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    applyLocalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    applyLocalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    applyLocalMinMax.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    applyLocalMinMax.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    applyLocalMinMax = false;
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&applyGlobalMinMax,   "m_applyGlobalMinMax", "", "", "", "");
 | 
			
		||||
    applyGlobalMinMax.setIOWritable(false);
 | 
			
		||||
    applyGlobalMinMax.setIOReadable(false);
 | 
			
		||||
    applyGlobalMinMax.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    applyGlobalMinMax.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    applyGlobalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    applyGlobalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    applyGlobalMinMax.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    applyGlobalMinMax.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    applyGlobalMinMax = false;
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&applyFullRangeMinMax,   "m_applyFullRangeMinMax", "", "", "", "");
 | 
			
		||||
    applyFullRangeMinMax.setIOWritable(false);
 | 
			
		||||
    applyFullRangeMinMax.setIOReadable(false);
 | 
			
		||||
    applyFullRangeMinMax.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    applyFullRangeMinMax.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    applyFullRangeMinMax.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    applyFullRangeMinMax.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    applyFullRangeMinMax.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
 | 
			
		||||
    applyFullRangeMinMax.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
 | 
			
		||||
    applyFullRangeMinMax = false;
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&ternaryRangeSummary,        "ternaryRangeSummary", "Range summary", "", "", "");
 | 
			
		||||
    ternaryRangeSummary.setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
 | 
			
		||||
    ternaryRangeSummary.setUiLabelPosition(caf::PdmUiItemInfo::TOP);
 | 
			
		||||
    ternaryRangeSummary.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
 | 
			
		||||
    ternaryRangeSummary.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&userDefinedMaxValueSoil, "UserDefinedMaxSoil", 1.0, "Max", "", "Min value of the legend", "");
 | 
			
		||||
@@ -380,47 +380,47 @@ void RimTernaryLegendConfig::ternaryRanges(double& soilLower, double& soilUpper,
 | 
			
		||||
void RimTernaryLegendConfig::updateLabelText()
 | 
			
		||||
{
 | 
			
		||||
    {
 | 
			
		||||
        userDefinedMinValueSoil.setUiName("Min");
 | 
			
		||||
        userDefinedMaxValueSoil.setUiName("Max");
 | 
			
		||||
        userDefinedMinValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName("Min");
 | 
			
		||||
        userDefinedMaxValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName("Max");
 | 
			
		||||
 | 
			
		||||
        if (m_globalAutoMin[TERNARY_SOIL_IDX] != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
        {
 | 
			
		||||
            userDefinedMinValueSoil.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SOIL_IDX], 'g', precision) + ")");
 | 
			
		||||
            userDefinedMinValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SOIL_IDX], 'g', precision) + ")");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (m_globalAutoMax[TERNARY_SOIL_IDX] != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
        {
 | 
			
		||||
            userDefinedMaxValueSoil.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SOIL_IDX], 'g', precision) + ")");
 | 
			
		||||
            userDefinedMaxValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SOIL_IDX], 'g', precision) + ")");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    {
 | 
			
		||||
        userDefinedMinValueSgas.setUiName("Min");
 | 
			
		||||
        userDefinedMaxValueSgas.setUiName("Max");
 | 
			
		||||
        userDefinedMinValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName("Min");
 | 
			
		||||
        userDefinedMaxValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName("Max");
 | 
			
		||||
 | 
			
		||||
        if (m_globalAutoMin[TERNARY_SGAS_IDX] != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
        {
 | 
			
		||||
            userDefinedMinValueSgas.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SGAS_IDX], 'g', precision) + ")");
 | 
			
		||||
            userDefinedMinValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SGAS_IDX], 'g', precision) + ")");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (m_globalAutoMax[TERNARY_SGAS_IDX] != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
        {
 | 
			
		||||
            userDefinedMaxValueSgas.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SGAS_IDX], 'g', precision) + ")");
 | 
			
		||||
            userDefinedMaxValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SGAS_IDX], 'g', precision) + ")");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    {
 | 
			
		||||
        userDefinedMinValueSwat.setUiName("Min");
 | 
			
		||||
        userDefinedMaxValueSwat.setUiName("Max");
 | 
			
		||||
        userDefinedMinValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName("Min");
 | 
			
		||||
        userDefinedMaxValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName("Max");
 | 
			
		||||
 | 
			
		||||
        if (m_globalAutoMin[TERNARY_SWAT_IDX] != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
        {
 | 
			
		||||
            userDefinedMinValueSwat.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SWAT_IDX], 'g', precision) + ")");
 | 
			
		||||
            userDefinedMinValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SWAT_IDX], 'g', precision) + ")");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (m_globalAutoMax[TERNARY_SWAT_IDX] != cvf::UNDEFINED_DOUBLE )
 | 
			
		||||
        {
 | 
			
		||||
            userDefinedMaxValueSwat.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SWAT_IDX], 'g', precision) + ")");
 | 
			
		||||
            userDefinedMaxValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SWAT_IDX], 'g', precision) + ")");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -205,7 +205,9 @@ void RimUiTreeModelPdm::deleteReservoirViews(const std::vector<caf::PdmUiItem*>&
 | 
			
		||||
        RimView* reservoirView = dynamic_cast<RimView*>(treeSelection[sIdx]);
 | 
			
		||||
        ownerCases.insert(reservoirView->ownerCase());
 | 
			
		||||
 | 
			
		||||
        reservoirView->removeFromParentFields();
 | 
			
		||||
        // MODTODO how to hanle this??
 | 
			
		||||
        //reservoirView->removeFromParentFields();
 | 
			
		||||
        
 | 
			
		||||
        delete reservoirView;
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
@@ -223,25 +225,22 @@ void RimUiTreeModelPdm::deleteReservoirViews(const std::vector<caf::PdmUiItem*>&
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
void RimUiTreeModelPdm::deleteGeoMechCases(const std::vector<caf::PdmUiItem*>& treeSelection)
 | 
			
		||||
{
 | 
			
		||||
    std::set<caf::PdmObject*> allParents;
 | 
			
		||||
    std::set<caf::PdmObjectHandle*> allParents;
 | 
			
		||||
    
 | 
			
		||||
    for (size_t sIdx = 0; sIdx < treeSelection.size(); ++sIdx)
 | 
			
		||||
    {
 | 
			
		||||
        RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(treeSelection[sIdx]);
 | 
			
		||||
        if (!geomCase) continue;
 | 
			
		||||
 | 
			
		||||
        std::vector<caf::PdmObject*> parents;
 | 
			
		||||
        geomCase->parentObjects(parents);
 | 
			
		||||
        for (size_t pIdx = 0; pIdx < treeSelection.size(); ++pIdx)
 | 
			
		||||
        {
 | 
			
		||||
            allParents.insert(parents[pIdx]);
 | 
			
		||||
        }
 | 
			
		||||
        allParents.insert(geomCase->parentField()->ownerObject());
 | 
			
		||||
 | 
			
		||||
        // MODTODO how to handle this?
 | 
			
		||||
        //geomCase->removeFromParentFields();
 | 
			
		||||
 | 
			
		||||
        geomCase->removeFromParentFields();
 | 
			
		||||
        delete geomCase;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (std::set<caf::PdmObject*>::iterator it = allParents.begin(); it != allParents.end(); ++it)
 | 
			
		||||
    for (std::set<caf::PdmObjectHandle*>::iterator it = allParents.begin(); it != allParents.end(); ++it)
 | 
			
		||||
    {
 | 
			
		||||
        updateUiSubTree(*it); 
 | 
			
		||||
    }
 | 
			
		||||
@@ -535,11 +534,9 @@ void RimUiTreeModelPdm::addInputProperty(const QModelIndex& itemIndex, const QSt
 | 
			
		||||
    RimEclipseInputPropertyCollection* inputPropertyCollection = dynamic_cast<RimEclipseInputPropertyCollection*>(currentItem->dataObject().p());
 | 
			
		||||
    CVF_ASSERT(inputPropertyCollection);
 | 
			
		||||
    
 | 
			
		||||
    std::vector<RimEclipseInputCase*> parentObjects;
 | 
			
		||||
    inputPropertyCollection->parentObjectsOfType(parentObjects);
 | 
			
		||||
    CVF_ASSERT(parentObjects.size() == 1);
 | 
			
		||||
 | 
			
		||||
    RimEclipseInputCase* inputReservoir = parentObjects[0];
 | 
			
		||||
 | 
			
		||||
    RimEclipseInputCase* inputReservoir = dynamic_cast<RimEclipseInputCase*>(inputPropertyCollection->parentField()->ownerObject());
 | 
			
		||||
    CVF_ASSERT(inputReservoir);
 | 
			
		||||
    if (inputReservoir)
 | 
			
		||||
    {
 | 
			
		||||
@@ -559,25 +556,17 @@ void RimUiTreeModelPdm::deleteInputProperty(const QModelIndex& itemIndex)
 | 
			
		||||
    caf::PdmUiTreeItem* uiItem = getTreeItemFromIndex(itemIndex);
 | 
			
		||||
    if (!uiItem) return;
 | 
			
		||||
 | 
			
		||||
    caf::PdmObject* object = uiItem->dataObject().p();
 | 
			
		||||
    caf::PdmObjectHandle* object = uiItem->dataObject().p();
 | 
			
		||||
    RimEclipseInputProperty* inputProperty = dynamic_cast<RimEclipseInputProperty*>(object);
 | 
			
		||||
    if (!inputProperty) return;
 | 
			
		||||
 | 
			
		||||
    // Remove item from UI tree model before delete of project data structure
 | 
			
		||||
    removeRows_special(itemIndex.row(), 1, itemIndex.parent());
 | 
			
		||||
 | 
			
		||||
    std::vector<RimEclipseInputPropertyCollection*> parentObjects;
 | 
			
		||||
    object->parentObjectsOfType(parentObjects);
 | 
			
		||||
    CVF_ASSERT(parentObjects.size() == 1);
 | 
			
		||||
 | 
			
		||||
    RimEclipseInputPropertyCollection* inputPropertyCollection = parentObjects[0];
 | 
			
		||||
    RimEclipseInputPropertyCollection* inputPropertyCollection = dynamic_cast<RimEclipseInputPropertyCollection*>(object->parentField()->ownerObject());
 | 
			
		||||
    if (!inputPropertyCollection) return;
 | 
			
		||||
 | 
			
		||||
    std::vector<RimEclipseInputCase*> parentObjects2;
 | 
			
		||||
    inputPropertyCollection->parentObjectsOfType(parentObjects2);
 | 
			
		||||
    CVF_ASSERT(parentObjects2.size() == 1);
 | 
			
		||||
 | 
			
		||||
    RimEclipseInputCase* inputReservoir = parentObjects2[0];
 | 
			
		||||
    RimEclipseInputCase* inputReservoir = dynamic_cast<RimEclipseInputCase*>(inputPropertyCollection->parentField()->ownerObject());
 | 
			
		||||
    if (!inputReservoir) return;
 | 
			
		||||
 | 
			
		||||
    inputReservoir->removeProperty(inputProperty);
 | 
			
		||||
@@ -682,7 +671,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
 | 
			
		||||
    if (gridCaseGroup)
 | 
			
		||||
    {
 | 
			
		||||
        std::vector<caf::PdmPointer<RimEclipseResultCase> > typedObjects;
 | 
			
		||||
        pdmObjects.createCopyByType(&typedObjects);
 | 
			
		||||
        pdmObjects.createCopyByType(&typedObjects, caf::PdmDefaultObjectFactory::instance());
 | 
			
		||||
 | 
			
		||||
        if (typedObjects.size() == 0)
 | 
			
		||||
        {
 | 
			
		||||
@@ -781,7 +770,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
 | 
			
		||||
    else if (caseFromItemIndex(itemIndex))
 | 
			
		||||
    {
 | 
			
		||||
        std::vector<caf::PdmPointer<RimEclipseView> > eclipseViews;
 | 
			
		||||
        pdmObjects.createCopyByType(&eclipseViews);
 | 
			
		||||
        pdmObjects.createCopyByType(&eclipseViews, caf::PdmDefaultObjectFactory::instance());
 | 
			
		||||
 | 
			
		||||
        if (eclipseViews.size() != 0)
 | 
			
		||||
        {
 | 
			
		||||
@@ -817,7 +806,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    caf::PdmObject* selectedObject = getTreeItemFromIndex(itemIndex)->dataObject().p();
 | 
			
		||||
    caf::PdmObjectHandle* selectedObject = getTreeItemFromIndex(itemIndex)->dataObject().p();
 | 
			
		||||
    RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(selectedObject);
 | 
			
		||||
    if (!geomCase && selectedObject)
 | 
			
		||||
    {
 | 
			
		||||
@@ -828,7 +817,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
 | 
			
		||||
    if (geomCase)
 | 
			
		||||
    {
 | 
			
		||||
        std::vector<caf::PdmPointer<RimGeoMechView> > geomViews;
 | 
			
		||||
        pdmObjects.createCopyByType(&geomViews);
 | 
			
		||||
        pdmObjects.createCopyByType(&geomViews, caf::PdmDefaultObjectFactory::instance());
 | 
			
		||||
 | 
			
		||||
        if (geomViews.size() != 0)
 | 
			
		||||
        {
 | 
			
		||||
@@ -874,7 +863,7 @@ void RimUiTreeModelPdm::moveObjects(const QModelIndex& itemIndex, caf::PdmObject
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
/// 
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
bool RimUiTreeModelPdm::deleteObjectFromPdmPointersField(const QModelIndex& itemIndex)
 | 
			
		||||
bool RimUiTreeModelPdm::deleteObjectFromPdmChildArrayField(const QModelIndex& itemIndex)
 | 
			
		||||
{
 | 
			
		||||
    if (!itemIndex.isValid())
 | 
			
		||||
    {
 | 
			
		||||
@@ -884,13 +873,11 @@ bool RimUiTreeModelPdm::deleteObjectFromPdmPointersField(const QModelIndex& item
 | 
			
		||||
    caf::PdmUiTreeItem* currentItem = getTreeItemFromIndex(itemIndex);
 | 
			
		||||
    CVF_ASSERT(currentItem);
 | 
			
		||||
 | 
			
		||||
    caf::PdmObject* currentPdmObject = currentItem->dataObject().p();
 | 
			
		||||
    caf::PdmObjectHandle* currentPdmObject = currentItem->dataObject().p();
 | 
			
		||||
    CVF_ASSERT(currentPdmObject);
 | 
			
		||||
 | 
			
		||||
    std::vector<caf::PdmFieldHandle*> parentFields;
 | 
			
		||||
    currentPdmObject->parentFields(parentFields);
 | 
			
		||||
    caf::PdmFieldHandle* parentField = currentPdmObject->parentField();
 | 
			
		||||
 | 
			
		||||
    if (parentFields.size() == 1)
 | 
			
		||||
    {
 | 
			
		||||
        beginRemoveRows(itemIndex.parent(), itemIndex.row(), itemIndex.row());
 | 
			
		||||
        if (currentItem->parent())
 | 
			
		||||
@@ -899,7 +886,7 @@ bool RimUiTreeModelPdm::deleteObjectFromPdmPointersField(const QModelIndex& item
 | 
			
		||||
        }
 | 
			
		||||
        endRemoveRows();
 | 
			
		||||
 | 
			
		||||
        caf::PdmPointersField<RimIdenticalGridCaseGroup*>* caseGroup = dynamic_cast<caf::PdmPointersField<RimIdenticalGridCaseGroup*> *>(parentFields[0]);
 | 
			
		||||
        caf::PdmChildArrayField<RimIdenticalGridCaseGroup*>* caseGroup = dynamic_cast<caf::PdmChildArrayField<RimIdenticalGridCaseGroup*> *>(parentField);
 | 
			
		||||
        if (caseGroup)
 | 
			
		||||
        {
 | 
			
		||||
            caseGroup->removeChildObject(currentPdmObject);
 | 
			
		||||
@@ -979,7 +966,7 @@ bool RimUiTreeModelPdm::dropMimeData(const QMimeData *data, Qt::DropAction actio
 | 
			
		||||
        {
 | 
			
		||||
            QModelIndex mi = myMimeData->indexes().at(i);
 | 
			
		||||
            caf::PdmUiTreeItem* currentItem = getTreeItemFromIndex(mi);
 | 
			
		||||
            caf::PdmObject* pdmObj = currentItem->dataObject().p();
 | 
			
		||||
            caf::PdmObjectHandle* pdmObj = currentItem->dataObject().p();
 | 
			
		||||
 | 
			
		||||
            pog.objects().push_back(pdmObj);
 | 
			
		||||
        }
 | 
			
		||||
@@ -1116,19 +1103,24 @@ void RimUiTreeModelPdm::setObjectToggleStateForSelection(QModelIndexList selecte
 | 
			
		||||
        caf::PdmUiTreeItem* treeItem = UiTreeModelPdm::getTreeItemFromIndex(index);
 | 
			
		||||
        assert(treeItem);
 | 
			
		||||
 | 
			
		||||
        caf::PdmObject* obj = treeItem->dataObject();
 | 
			
		||||
        caf::PdmObjectHandle* obj = treeItem->dataObject();
 | 
			
		||||
        assert(obj);
 | 
			
		||||
 | 
			
		||||
        caf::PdmUiObjectHandle* uiObjectHandle = uiObj(obj);
 | 
			
		||||
        assert(uiObjectHandle);
 | 
			
		||||
 | 
			
		||||
        if (selectedIndexes.size() != 1)
 | 
			
		||||
        {
 | 
			
		||||
            if (obj && obj->objectToggleField())
 | 
			
		||||
            if (uiObjectHandle && uiObjectHandle->objectToggleField())
 | 
			
		||||
            {
 | 
			
		||||
                caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(obj->objectToggleField());
 | 
			
		||||
                if (field)
 | 
			
		||||
                caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(uiObjectHandle->objectToggleField());
 | 
			
		||||
 | 
			
		||||
                caf::PdmUiFieldHandle* uiFieldHandle = uiField(field);
 | 
			
		||||
                if (uiFieldHandle)
 | 
			
		||||
                {
 | 
			
		||||
                    if (state == RimUiTreeView::TOGGLE_ON)  field->setValueFromUi(true);
 | 
			
		||||
                    if (state == RimUiTreeView::TOGGLE_OFF) field->setValueFromUi(false);
 | 
			
		||||
                    if (state == RimUiTreeView::TOGGLE)     field->setValueFromUi(!(field->v()));
 | 
			
		||||
                    if (state == RimUiTreeView::TOGGLE_ON)  uiFieldHandle->setValueFromUi(true);
 | 
			
		||||
                    if (state == RimUiTreeView::TOGGLE_OFF) uiFieldHandle->setValueFromUi(false);
 | 
			
		||||
                    if (state == RimUiTreeView::TOGGLE)     uiFieldHandle->setValueFromUi(!(field->v()));
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@@ -1142,16 +1134,19 @@ void RimUiTreeModelPdm::setObjectToggleStateForSelection(QModelIndexList selecte
 | 
			
		||||
                caf::PdmUiTreeItem*  child = treeItem->child(cIdx);
 | 
			
		||||
                if (!child) continue;
 | 
			
		||||
 | 
			
		||||
                caf::PdmObject* childObj = child->dataObject();
 | 
			
		||||
                caf::PdmObjectHandle* childObj = child->dataObject();
 | 
			
		||||
                caf::PdmUiObjectHandle* uiObjectHandleChild = uiObj(obj);
 | 
			
		||||
 | 
			
		||||
                if (childObj && childObj->objectToggleField())
 | 
			
		||||
                if (uiObjectHandleChild && uiObjectHandleChild->objectToggleField())
 | 
			
		||||
                {
 | 
			
		||||
                    caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(childObj->objectToggleField());
 | 
			
		||||
                    if (field)
 | 
			
		||||
                    caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(uiObjectHandleChild->objectToggleField());
 | 
			
		||||
 | 
			
		||||
                    caf::PdmUiFieldHandle* uiFieldHandle = uiField(field);
 | 
			
		||||
                    if (uiFieldHandle)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (state == RimUiTreeView::TOGGLE_ON)  field->setValueFromUi(true);
 | 
			
		||||
                        if (state == RimUiTreeView::TOGGLE_OFF) field->setValueFromUi(false);
 | 
			
		||||
                        if (state == RimUiTreeView::TOGGLE)     field->setValueFromUi(!(field->v()));
 | 
			
		||||
                        if (state == RimUiTreeView::TOGGLE_ON)  uiFieldHandle->setValueFromUi(true);
 | 
			
		||||
                        if (state == RimUiTreeView::TOGGLE_OFF) uiFieldHandle->setValueFromUi(false);
 | 
			
		||||
                        if (state == RimUiTreeView::TOGGLE)     uiFieldHandle->setValueFromUi(!(field->v()));
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
@@ -1169,7 +1164,7 @@ void RimUiTreeModelPdm::deleteAllWellPaths(const QModelIndex& itemIndex)
 | 
			
		||||
    caf::PdmUiTreeItem* uiItem = getTreeItemFromIndex(itemIndex);
 | 
			
		||||
    if (!uiItem) return;
 | 
			
		||||
 | 
			
		||||
    caf::PdmObject* object = uiItem->dataObject().p();
 | 
			
		||||
    caf::PdmObjectHandle* object = uiItem->dataObject().p();
 | 
			
		||||
    RimWellPathCollection* wellPathCollection = dynamic_cast<RimWellPathCollection*>(object);
 | 
			
		||||
    if (!wellPathCollection) return;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -78,7 +78,7 @@ public:
 | 
			
		||||
    RimEclipseStatisticsCase*   addStatisticalCalculation(const QModelIndex& itemIndex, QModelIndex& insertedModelIndex);
 | 
			
		||||
    RimIdenticalGridCaseGroup*  addCaseGroup(QModelIndex& insertedModelIndex);
 | 
			
		||||
 | 
			
		||||
    bool                        deleteObjectFromPdmPointersField(const QModelIndex& itemIndex);
 | 
			
		||||
    bool                        deleteObjectFromPdmChildArrayField(const QModelIndex& itemIndex);
 | 
			
		||||
 | 
			
		||||
    void                        updateScriptPaths();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,9 @@
 | 
			
		||||
#include "cafPdmDocument.h"
 | 
			
		||||
#include "cafPdmFieldCvfColor.h"
 | 
			
		||||
#include "cafPdmFieldCvfMat4d.h"
 | 
			
		||||
#include "cafPdmUiPropertyDialog.h"
 | 
			
		||||
 | 
			
		||||
// MODTODO
 | 
			
		||||
//#include "cafPdmUiPropertyDialog.h"
 | 
			
		||||
 | 
			
		||||
#include <QAction>
 | 
			
		||||
#include <QMenu>
 | 
			
		||||
@@ -73,6 +75,7 @@
 | 
			
		||||
#include "RigSingleWellResultsData.h"
 | 
			
		||||
#include "RimGeoMechView.h"
 | 
			
		||||
#include "RimGeoMechCase.h"
 | 
			
		||||
#include "cafPdmUiPropertyViewDialog.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -232,7 +235,7 @@ void RimUiTreeView::contextMenuEvent(QContextMenuEvent* event)
 | 
			
		||||
            {
 | 
			
		||||
                menu.addAction(QString("New Grid Case Group"), this, SLOT(slotAddCaseGroup()));
 | 
			
		||||
                menu.addAction(m_pasteAction);
 | 
			
		||||
                menu.addAction(QString("Close"), this, SLOT(slotDeleteObjectFromPdmPointersField()));
 | 
			
		||||
                menu.addAction(QString("Close"), this, SLOT(slotDeleteObjectFromPdmChildArrayField()));
 | 
			
		||||
            }
 | 
			
		||||
            else if (dynamic_cast<RimCaseCollection*>(uiItem->dataObject().p()))
 | 
			
		||||
            {
 | 
			
		||||
@@ -718,7 +721,7 @@ void RimUiTreeView::slotDeleteView()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
void RimUiTreeView::slotSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected)
 | 
			
		||||
{
 | 
			
		||||
    caf::PdmObject* pdmObject = NULL;
 | 
			
		||||
    caf::PdmObjectHandle* pdmObject = NULL;
 | 
			
		||||
 | 
			
		||||
    if (selected.indexes().size() == 1)
 | 
			
		||||
    {
 | 
			
		||||
@@ -828,18 +831,10 @@ void RimUiTreeView::slotWriteInputProperty()
 | 
			
		||||
    // Find input reservoir for this property
 | 
			
		||||
    RimEclipseInputCase* inputReservoir = NULL;
 | 
			
		||||
    {
 | 
			
		||||
        std::vector<RimEclipseInputPropertyCollection*> parentObjects;
 | 
			
		||||
        inputProperty->parentObjectsOfType(parentObjects);
 | 
			
		||||
        CVF_ASSERT(parentObjects.size() == 1);
 | 
			
		||||
 | 
			
		||||
        RimEclipseInputPropertyCollection* inputPropertyCollection = parentObjects[0];
 | 
			
		||||
        RimEclipseInputPropertyCollection* inputPropertyCollection = dynamic_cast<RimEclipseInputPropertyCollection*>(inputProperty->parentField()->ownerObject());
 | 
			
		||||
        if (!inputPropertyCollection) return;
 | 
			
		||||
 | 
			
		||||
        std::vector<RimEclipseInputCase*> parentObjects2;
 | 
			
		||||
        inputPropertyCollection->parentObjectsOfType(parentObjects2);
 | 
			
		||||
        CVF_ASSERT(parentObjects2.size() == 1);
 | 
			
		||||
 | 
			
		||||
        inputReservoir = parentObjects2[0];
 | 
			
		||||
        inputReservoir = dynamic_cast<RimEclipseInputCase*>(inputPropertyCollection->parentField()->ownerObject());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!inputReservoir) return;
 | 
			
		||||
@@ -864,7 +859,7 @@ void RimUiTreeView::slotWriteInputProperty()
 | 
			
		||||
        exportSettings.fileName = outputFileName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    caf::PdmUiPropertyDialog propertyDialog(this, &exportSettings, "Export Eclipse Property to Text File");
 | 
			
		||||
    caf::PdmUiPropertyViewDialog propertyDialog(this, &exportSettings, "Export Eclipse Property to Text File", "");
 | 
			
		||||
    if (propertyDialog.exec() == QDialog::Accepted)
 | 
			
		||||
    {
 | 
			
		||||
        bool isOk = RifEclipseInputFileTools::writePropertyToTextFile(exportSettings.fileName, inputReservoir->reservoirData(), 0, inputProperty->resultName, exportSettings.eclipseKeyword);
 | 
			
		||||
@@ -917,7 +912,7 @@ void RimUiTreeView::slotWriteBinaryResultAsInputProperty()
 | 
			
		||||
        exportSettings.fileName = outputFileName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    caf::PdmUiPropertyDialog propertyDialog(this, &exportSettings, "Export Binary Eclipse Data to Text File");
 | 
			
		||||
    caf::PdmUiPropertyViewDialog propertyDialog(this, &exportSettings, "Export Binary Eclipse Data to Text File", "");
 | 
			
		||||
    if (propertyDialog.exec() == QDialog::Accepted)
 | 
			
		||||
    {
 | 
			
		||||
        size_t timeStep = resultColors->reservoirView()->currentTimeStep();
 | 
			
		||||
@@ -1025,12 +1020,12 @@ void RimUiTreeView::slotAddCaseGroup()
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
/// 
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
void RimUiTreeView::slotDeleteObjectFromPdmPointersField()
 | 
			
		||||
void RimUiTreeView::slotDeleteObjectFromPdmChildArrayField()
 | 
			
		||||
{
 | 
			
		||||
    RimUiTreeModelPdm* myModel = dynamic_cast<RimUiTreeModelPdm*>(model());
 | 
			
		||||
    if (myModel)
 | 
			
		||||
    {
 | 
			
		||||
        myModel->deleteObjectFromPdmPointersField(currentIndex());
 | 
			
		||||
        myModel->deleteObjectFromPdmChildArrayField(currentIndex());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1657,7 +1652,7 @@ void RimUiTreeView::selectedUiItems(std::vector<caf::PdmUiItem*>& objects)
 | 
			
		||||
        caf::PdmUiTreeItem* uiItem = myModel->getTreeItemFromIndex(idxList[i]);
 | 
			
		||||
        if (uiItem)
 | 
			
		||||
        {
 | 
			
		||||
            caf::PdmUiItem* item = uiItem->dataObject();
 | 
			
		||||
            caf::PdmUiItem* item = uiObj(uiItem->dataObject());
 | 
			
		||||
            objects.push_back(item);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -91,7 +91,7 @@ private slots:
 | 
			
		||||
    void slotComputeStatistics();
 | 
			
		||||
    
 | 
			
		||||
    void slotAddCaseGroup();
 | 
			
		||||
    void slotDeleteObjectFromPdmPointersField();
 | 
			
		||||
    void slotDeleteObjectFromPdmChildArrayField();
 | 
			
		||||
 | 
			
		||||
    void slotAddScriptPath();
 | 
			
		||||
    void slotDeleteScriptPath(); 
 | 
			
		||||
@@ -108,7 +108,7 @@ private slots:
 | 
			
		||||
    void slotDeleteAllWellPaths();
 | 
			
		||||
 | 
			
		||||
signals:
 | 
			
		||||
    void selectedObjectChanged( caf::PdmObject* pdmObject );
 | 
			
		||||
    void selectedObjectChanged( caf::PdmObjectHandle* pdmObject );
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    enum SelectionToggleType
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,7 @@ RimView::RimView(void)
 | 
			
		||||
    CAF_PDM_InitField(&name, "UserDescription", QString(""), "Name", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showWindow, "ShowWindow", true, "Show 3D viewer", "", "", "");
 | 
			
		||||
    showWindow.setUiHidden(true);
 | 
			
		||||
    showWindow.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitField(&cameraPosition, "CameraPosition", cvf::Mat4d::IDENTITY, "", "", "", "");
 | 
			
		||||
 | 
			
		||||
    double defaultScaleFactor = 1.0;
 | 
			
		||||
@@ -72,12 +72,12 @@ RimView::RimView(void)
 | 
			
		||||
    CAF_PDM_InitField(&backgroundColor, "ViewBackgroundColor", defBackgColor, "Background", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&maximumFrameRate, "MaximumFrameRate", 10, "Maximum frame rate", "", "", "");
 | 
			
		||||
    maximumFrameRate.setUiHidden(true);
 | 
			
		||||
    maximumFrameRate.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitField(&hasUserRequestedAnimation, "AnimationMode", false, "Animation Mode", "", "", "");
 | 
			
		||||
    hasUserRequestedAnimation.setUiHidden(true);
 | 
			
		||||
    hasUserRequestedAnimation.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&m_currentTimeStep, "CurrentTimeStep", 0, "Current Time Step", "", "", "");
 | 
			
		||||
    m_currentTimeStep.setUiHidden(true);
 | 
			
		||||
    m_currentTimeStep.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&overlayInfoConfig, "OverlayInfoConfig", "Info Box", "", "", "");
 | 
			
		||||
    overlayInfoConfig = new Rim3dOverlayInfoConfig();
 | 
			
		||||
@@ -270,14 +270,14 @@ void RimView::setMeshOnlyDrawstyle()
 | 
			
		||||
{
 | 
			
		||||
    if (isGridVisualizationMode())
 | 
			
		||||
    {
 | 
			
		||||
        meshMode.setValueFromUi(FULL_MESH);
 | 
			
		||||
        uiField(&meshMode)->setValueFromUi(FULL_MESH);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        meshMode.setValueFromUi(FAULTS_MESH);
 | 
			
		||||
        uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    surfaceMode.setValueFromUi(NO_SURFACE);
 | 
			
		||||
    uiField(&surfaceMode)->setValueFromUi(NO_SURFACE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -287,13 +287,13 @@ void RimView::setMeshSurfDrawstyle()
 | 
			
		||||
{
 | 
			
		||||
    if (isGridVisualizationMode())
 | 
			
		||||
    {
 | 
			
		||||
        surfaceMode.setValueFromUi(SURFACE);
 | 
			
		||||
        meshMode.setValueFromUi(FULL_MESH);
 | 
			
		||||
        uiField(&surfaceMode)->setValueFromUi(SURFACE);
 | 
			
		||||
        uiField(&meshMode)->setValueFromUi(FULL_MESH);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        surfaceMode.setValueFromUi(FAULTS);
 | 
			
		||||
        meshMode.setValueFromUi(FAULTS_MESH);
 | 
			
		||||
        uiField(&surfaceMode)->setValueFromUi(FAULTS);
 | 
			
		||||
        uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -309,14 +309,14 @@ void RimView::setFaultMeshSurfDrawstyle()
 | 
			
		||||
    //  Mesh SF  SF    SF
 | 
			
		||||
    if (this->isGridVisualizationMode())
 | 
			
		||||
    {
 | 
			
		||||
         surfaceMode.setValueFromUi(SURFACE);
 | 
			
		||||
        uiField(&surfaceMode)->setValueFromUi(SURFACE);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
         surfaceMode.setValueFromUi(FAULTS);
 | 
			
		||||
         uiField(&surfaceMode)->setValueFromUi(FAULTS);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    meshMode.setValueFromUi(FAULTS_MESH);
 | 
			
		||||
    uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -326,13 +326,14 @@ void RimView::setSurfOnlyDrawstyle()
 | 
			
		||||
{
 | 
			
		||||
    if (isGridVisualizationMode())
 | 
			
		||||
    {
 | 
			
		||||
        surfaceMode.setValueFromUi(SURFACE);
 | 
			
		||||
        uiField(&surfaceMode)->setValueFromUi(SURFACE);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        surfaceMode.setValueFromUi(FAULTS);
 | 
			
		||||
        uiField(&surfaceMode)->setValueFromUi(FAULTS);
 | 
			
		||||
    }
 | 
			
		||||
    meshMode.setValueFromUi(NO_MESH);
 | 
			
		||||
 | 
			
		||||
    uiField(&meshMode)->setValueFromUi(NO_MESH);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
@@ -343,13 +344,13 @@ void RimView::setShowFaultsOnly(bool showFaults)
 | 
			
		||||
    if (showFaults)
 | 
			
		||||
    {
 | 
			
		||||
        m_previousGridModeMeshLinesWasFaults = meshMode() == FAULTS_MESH;
 | 
			
		||||
        if (surfaceMode() != NO_SURFACE) surfaceMode.setValueFromUi(FAULTS);
 | 
			
		||||
        if (meshMode() != NO_MESH) meshMode.setValueFromUi(FAULTS_MESH);
 | 
			
		||||
        if (surfaceMode() != NO_SURFACE) uiField(&surfaceMode)->setValueFromUi(FAULTS);
 | 
			
		||||
        if (meshMode() != NO_MESH) uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        if (surfaceMode() != NO_SURFACE) surfaceMode.setValueFromUi(SURFACE);
 | 
			
		||||
        if (meshMode() != NO_MESH) meshMode.setValueFromUi(m_previousGridModeMeshLinesWasFaults ? FAULTS_MESH: FULL_MESH);
 | 
			
		||||
        if (surfaceMode() != NO_SURFACE) uiField(&surfaceMode)->setValueFromUi(SURFACE);
 | 
			
		||||
        if (meshMode() != NO_MESH) uiField(&meshMode)->setValueFromUi(m_previousGridModeMeshLinesWasFaults ? FAULTS_MESH: FULL_MESH);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -358,7 +359,7 @@ void RimView::setShowFaultsOnly(bool showFaults)
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
void RimView::setSurfaceDrawstyle()
 | 
			
		||||
{
 | 
			
		||||
    if (surfaceMode() != NO_SURFACE) surfaceMode.setValueFromUi(SURFACE);
 | 
			
		||||
    if (surfaceMode() != NO_SURFACE) uiField(&surfaceMode)->setValueFromUi(SURFACE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//--------------------------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -19,13 +19,17 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmChildField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmFieldCvfColor.h"    
 | 
			
		||||
#include "cafPdmFieldCvfMat4d.h"
 | 
			
		||||
#include "cafAppEnum.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
 | 
			
		||||
#include "RivCellSetEnum.h"
 | 
			
		||||
 | 
			
		||||
#include <QPointer>
 | 
			
		||||
 | 
			
		||||
class RiuViewer;
 | 
			
		||||
class Rim3dOverlayInfoConfig;
 | 
			
		||||
class RimCase;
 | 
			
		||||
@@ -63,7 +67,7 @@ public:
 | 
			
		||||
    caf::PdmField<int>                      maximumFrameRate;
 | 
			
		||||
    caf::PdmField<bool>                     hasUserRequestedAnimation;
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<RimCellRangeFilterCollection*>    rangeFilterCollection;
 | 
			
		||||
    caf::PdmChildField<RimCellRangeFilterCollection*>    rangeFilterCollection;
 | 
			
		||||
 | 
			
		||||
    // Draw style 
 | 
			
		||||
 | 
			
		||||
@@ -140,7 +144,7 @@ protected:
 | 
			
		||||
    QPointer<RiuViewer>                     m_viewer;
 | 
			
		||||
 | 
			
		||||
    caf::PdmField<int>                      m_currentTimeStep;
 | 
			
		||||
    caf::PdmField<Rim3dOverlayInfoConfig*>  overlayInfoConfig;
 | 
			
		||||
    caf::PdmChildField<Rim3dOverlayInfoConfig*>  overlayInfoConfig;
 | 
			
		||||
 | 
			
		||||
    // Overridden PDM methods:
 | 
			
		||||
    virtual void                            setupBeforeSave();
 | 
			
		||||
 
 | 
			
		||||
@@ -39,44 +39,44 @@ RimWellPath::RimWellPath()
 | 
			
		||||
    CAF_PDM_InitObject("WellPath", ":/Well.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&name,               "WellPathName",                         "Name", "", "", "");
 | 
			
		||||
    name.setUiReadOnly(true);
 | 
			
		||||
    name.setIOWritable(false);
 | 
			
		||||
    name.setIOReadable(false);
 | 
			
		||||
    name.setUiHidden(true);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    name.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    name.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&id,                 "WellPathId",                           "Id", "", "", "");
 | 
			
		||||
    id.setUiReadOnly(true);
 | 
			
		||||
    id.setIOWritable(false);
 | 
			
		||||
    id.setIOReadable(false);
 | 
			
		||||
    id.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    id.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    id.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&sourceSystem,       "SourceSystem",                         "Source System", "", "", "");
 | 
			
		||||
    sourceSystem.setUiReadOnly(true);
 | 
			
		||||
    sourceSystem.setIOWritable(false);
 | 
			
		||||
    sourceSystem.setIOReadable(false);
 | 
			
		||||
    sourceSystem.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    sourceSystem.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    sourceSystem.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&utmZone,            "UTMZone",                              "UTM Zone", "", "", "");
 | 
			
		||||
    utmZone.setUiReadOnly(true);
 | 
			
		||||
    utmZone.setIOWritable(false);
 | 
			
		||||
    utmZone.setIOReadable(false);
 | 
			
		||||
    utmZone.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    utmZone.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    utmZone.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&updateDate,         "WellPathUpdateDate",                   "Update Date", "", "", "");
 | 
			
		||||
    updateDate.setUiReadOnly(true);
 | 
			
		||||
    updateDate.setIOWritable(false);
 | 
			
		||||
    updateDate.setIOReadable(false);
 | 
			
		||||
    updateDate.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    updateDate.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    updateDate.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&updateUser,         "WellPathUpdateUser",                   "Update User", "", "", "");
 | 
			
		||||
    updateUser.setUiReadOnly(true);
 | 
			
		||||
    updateUser.setIOWritable(false);
 | 
			
		||||
    updateUser.setIOReadable(false);
 | 
			
		||||
    updateUser.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    updateUser.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    updateUser.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    CAF_PDM_InitFieldNoDefault(&m_surveyType,       "WellPathSurveyType",                   "Survey Type", "", "", "");
 | 
			
		||||
    m_surveyType.setUiReadOnly(true);
 | 
			
		||||
    m_surveyType.setIOWritable(false);
 | 
			
		||||
    m_surveyType.setIOReadable(false);
 | 
			
		||||
    m_surveyType.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    m_surveyType.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    m_surveyType.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&filepath,                    "WellPathFilepath",     QString(""),    "Filepath", "", "", "");
 | 
			
		||||
    filepath.setUiReadOnly(true);
 | 
			
		||||
    filepath.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
    CAF_PDM_InitField(&wellPathIndexInFile,         "WellPathNumberInFile",     -1,    "Well Number in file", "", "", "");
 | 
			
		||||
    wellPathIndexInFile.setUiReadOnly(true);
 | 
			
		||||
    wellPathIndexInFile.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showWellPathLabel,           "ShowWellPathLabel",    true,           "Show well path label", "", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showWellPath,                "ShowWellPath",         true,           "Show well path", "", "", "");
 | 
			
		||||
    showWellPath.setUiHidden(true);
 | 
			
		||||
    showWellPath.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&wellPathRadiusScaleFactor,   "WellPathRadiusScale", 1.0,             "Well path radius scale", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&wellPathColor,               "WellPathColor",       cvf::Color3f(0.999f, 0.333f, 0.999f), "Well path color", "", "", "");
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ RimWellPathCollection::RimWellPathCollection()
 | 
			
		||||
    CAF_PDM_InitObject("Wells", ":/WellCollection.png", "", "");
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&isActive,              "Active",        true,   "Active", "", "", "");
 | 
			
		||||
    isActive.setUiHidden(true);
 | 
			
		||||
    isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&showWellPathLabel,               "ShowWellPathLabel",        true,                       "Show well path labels", "", "", "");
 | 
			
		||||
 | 
			
		||||
@@ -67,9 +67,9 @@ RimWellPathCollection::RimWellPathCollection()
 | 
			
		||||
 | 
			
		||||
    CAF_PDM_InitField(&wellPathRadiusScaleFactor,       "WellPathRadiusScale",      0.1,                        "Well Path radius scale", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&wellPathCrossSectionVertexCount, "WellPathVertexCount",      12,                          "Well Path vertex count", "", "", "");
 | 
			
		||||
    wellPathCrossSectionVertexCount.setIOWritable(false);
 | 
			
		||||
    wellPathCrossSectionVertexCount.setIOReadable(false);
 | 
			
		||||
    wellPathCrossSectionVertexCount.setUiHidden(true);
 | 
			
		||||
    wellPathCrossSectionVertexCount.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
 | 
			
		||||
    wellPathCrossSectionVertexCount.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
 | 
			
		||||
    wellPathCrossSectionVertexCount.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
 | 
			
		||||
    CAF_PDM_InitField(&wellPathClip,                    "WellPathClip",             true,                       "Clip Well Paths", "", "", "");
 | 
			
		||||
    CAF_PDM_InitField(&wellPathClipZDistance,           "WellPathClipZDistance",    100,                        "Well path clipping depth distance", "", "", "");
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "cafPdmChildArrayField.h"
 | 
			
		||||
#include "cafPdmField.h"
 | 
			
		||||
#include "cafPdmObject.h"
 | 
			
		||||
#include "cafPdmPointer.h"
 | 
			
		||||
@@ -72,7 +73,7 @@ public:
 | 
			
		||||
    caf::PdmField<bool>                 wellPathClip;
 | 
			
		||||
    caf::PdmField<int>                  wellPathClipZDistance;
 | 
			
		||||
 | 
			
		||||
    caf::PdmPointersField<RimWellPath*> wellPaths;
 | 
			
		||||
    caf::PdmChildArrayField<RimWellPath*> wellPaths;
 | 
			
		||||
    
 | 
			
		||||
   
 | 
			
		||||
    RivWellPathCollectionPartMgr*       wellPathCollectionPartMgr() { return m_wellPathCollectionPartManager.p(); }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user